اتصال به فضای باکت S3 از طریق ویندوز سرور و اوبونتو
در این مقاله میخوانید
سرویسهای ذخیرهسازی ابری مانند Amazon S3 بسیار کارآمد هستند چراکه میتوان از آنها برای ذخیرهسازی تعداد نامحدودی از فایلها استفاده کرد. این قابلیت بهویژه برای منابع وبسایتهای استاتیک و اپلیکیشنهای تلفنهمراه، پشتیبانگیری و بازیابی اطلاعات، بایگانی، تجزیهوتحلیل کلاندادهها و… کاربرد دارد. فضای ذخیرهسازی ابری پارسپک یکی از این سرویسهای ذخیرهسازی پرکاربرد است که با پشتیبانی از پروتکل سازگار با S3، امکان اتصال مستقیم از طریق ابزارهای مختلفی مانند SDKهای AWS و rclone و s3cmd و S3Browser و… را فراهم میکند. به همین دلیل میتوانید بدون نیاز به مراجعه مداوم به پنل مدیریتی، فایلهای خود را مستقیما از روی کلاینت یا سرور خود مدیریت کنید. در این مقاله از بخش سرویسهای میزبانی از وبلاگ پارسپک، ابتدا با نحوه دریافت اطلاعات اتصال به باکت S3 آشنا میشویم و سپس مراحل نصب و راهاندازی فضای ذخیرهسازی S3 روی ویندوز سرور را بهصورت گامبهگام بررسی میکنیم.
نصب کلاینت S3 روی ویندوز سرور
استفاده از باکت S3 روی سیستمعامل ویندوز سرور گاهی با چالشهای متعددی همراه است. در این بخش از rclone، ابزار خط فرمان منبعباز برای مدیریت فایلها در فضای ابری، استفاده خواهیم کرد. در ادامه، مراحل انجام این کار را گامبهگام آموزش خواهیم داد.
۱. سرویس فضای ابری پارسپک
درصورت تهیه سرویس فضای ابری پارسپک، مشخصات و وضعیت آن را از پنل مدیریت فضای ابری پارسپک مشاهده میکنید:

اگر هنوز نمیدانید فضای ابری چیست، مقاله زیر را برای آشنایی با آن بخوانید:
از قسمت مشخصات اتصال، میتوانید مشخصات اتصال به فضای ابری را مشاهده نمایید:

از قسمت دامنهها نیز میتوانید دامنهای را به فضای ابری متصل کنید:

درصورت اتصال صحیح دامنه به فضای باکت، امکان فعالسازی و بررسی وضعیت گواهی امنیتی SSL از همین قسمت میسر است.
فضای ذخیرهسازی امن با هزینهای مناسب در پارسپک
به فضای ذخیرهسازی بدون محدودیت و سازگار با S3 نیاز دارید؟ همین حالا فضای ابری پارسپک را متناسب با نیاز خود پیکربندی کنید و فرایند بکاپگیری را انجام دهید.
۲. راهاندازی و تنظیم فضای ابری در ویندوز سرور
برای تنظیم و راهاندازی فضای ابری در سیستمعامل ویندوز و ویندوز سرور، اطلاعات زیر را از پنل فضای ابری دریافت کنید:
- نام باکت (Bucket Name)
- Access Key
- Secret Key
- آدرس Endpoint
این اطلاعات در مراحل بعدی هنگام پیکربندی rclone مورد استفاده قرار خواهند گرفت.
اتصال به فضای ابری پارسپک از طریق AWS SDK چگونه انجام میشود؟ پاسخ را در مقاله زیر بخوانید:
بهتر است قبل از ادامه کار، از صحت دسترسی شبکه سرور به Endpoint فضای ذخیرهسازی اطمینان حاصل کنید. برای این کار میتوانید با استفاده از مرورگر یا PowerShell برای مثال curl به آدرس Endpoint را بررسی کنید.
در صورتی که فایروال یا تنظیمات امنیتی شبکه دسترسی به Endpoint را محدود کرده باشند، فرایند اتصال با خطا مواجه خواهد شد.
۳. نصب کلاینت S3 روی سیستمعامل ویندوز
برای این منظور، مراحل زیر را بهترتیب دنبال کنید:
۱. جدیدترین نسخه rclone را دانلود و آن را از حالت فشرده خارج کنید.
۲. یک دایرکتوری در مسیر C:\Program Files\rclone ایجاد و محتوای فایل دانلودشده را در آن قرار داده و extract نمایید:

۳. مسیر دایرکتوری اضافهشده در مرحله قبل (یعنی C:\Program Files\rclone) را به Windows Environment Variables اضافه کنید. مراحل این کار بدین صورت است:
- با کلیکراست روی ThisPC وارد قسمت Properties شوید.
- از قسمت Advanced System Setting، گزینه Environment Variables را انتخاب کنید.

- از قسمت System Variables ردیف Path را انتخاب و Edit نمایید.

- با کلیک روی New یک Variable جدیدی تعریف کرده و بدینمنظور rclone را که قبلتر در مسیر c:\Program Files\rclone قرار داده بودید، وارد نمایید. در این صورت، با موفقیت rclone به Variableهای ویندوز اضافه شده است:

پس از انجام مراحل قبل، درصورتیکه دستور rclone را در cmd ویندوز تایپ کرده و تمامی دستورات موجود را میتوانیم ببینیم:

حالا با تایپ دستور rclone config، میتوانید پیکربندی را ادامه دهید. برای این منظور، مراحل زیر را بهترتیب طی کنید:
C:\Program Files\rclone>rclone.exe config No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n
۱. با استفاده از کاراکتر n، پیکربندی ریموت را شروع و نامی برای Connection خود انتخاب کنید. در این مثال، از نام pspk استفاده کردهاید:

۳. حالا باید از بین گزینههایی که در خروجی نشان داده شده است، گزینه چهارم که مربوط به S3ها را انتخاب کنید. ناگفته نماند ممکن است شماره گزینهها بین نسخههای مختلف متفاوت باشد.
در مقاله زیر آموزش اتصال به فضای ابری پارسپک ازطریق s3cmd را به صورت گامبهگام بخوانید:
۴. در ادامه، گزینه مربوط به شرکت ارائهدهنده (Provider) را باید Any other S3 compatible provider انتخاب کرد که در این نسخه گزینه 51 است:

۵. در مرحله بعد، باید گزینه مربوط به وارد کردن دستی اطلاعات S3 را انتخاب کنید:

۶. در اینجا باید ابتدا AccessKey و سپس SecretKey را از پنل مدیریت فضای ابری کپی کرده و وارد کنید، در مرحله بعدی آن نیازی نیست در گزینه موقعیت (Region) موردی را وارد کنیم:

۷. در مرحله بعد، آدرس endpoint را باید وارد کنید.

۸. در اینجا نیز، نیازی نیست مقداری برای location_constraint وارد کنید.

۹. گزینه acl را هم بدون واردکردن مقدار خاصی رد کنید.
آموزش نحوه اتصال فضای ابری به S3 Browser در ویندوز را در مطلب زیر بخوانید:
۱۰. گزینه bucket_object_lock_enabled را بدون واردکردن مقداری رد کنید:

۱۱. مطابق اسکرینشاتها مراحل کلی تنظیم فضای ابری S3 پارسپک انجام شده است.
۱۲. در این مرحله، به تنظیمات پیشرفته نیازی نیست و گزینه No را وارد کرده یا بدون واردکردن هیچ مقداری Enter را بزنید:

۱۳. درنهایت، تنظیمات انجامشده بهصورت خلاصه نمایش داده میشود و با فشردن کلید Enter یا واردکردن Y مراحل تنظیمات را بهاتمام برسانید:

۱۴. درادامه با واردکردن Q، از فضای rclone config خارج شوید.
۱۵. با اجرای دستور rclone listremotes، میتوانید فهرستی از فضاهای تعریفشده را مشاهده کنید. در این مثال، دو فضا با نامهای ps3 و pspk تعریف کردهایم:

۱۶. برای بررسی صحت اطلاعات واردشده و اتصال به هریک از فضاها، این دستور را وارد میکنیم (نام فضای remote تعریفشده pspk و نام فضای باکت پارسپک ما c137747 است):
rclone ls <RemoteName>:<BucketName>
که به این صورت میشود:
rclone ls pspk:c137747
با اجرای این دستور، دایرکتوریهای فضای باکت را میتوانیم ببینیم و از اتصال صحیح به فضای باکت مطمئن شویم. در این حالت، استفاده از فضای باکت کمی دشوار است. بهمنظور راحتترکردن نحوه استفاده از آن، میتوانیم از این فضا بهعنوان درایو در ThisPC استفاده کنیم. درادامه، قصد داریم این عملیات را باهم انجام دهیم.
برای Mount کردن فضای باکت به سیستمعامل ویندوز، به نصب winfsp نیاز داریم. درواقع، winfsp نوعی پروکسی سیستم فایل منبعباز برای ویندوز است که نوشتن فایل سیستمهای مربوط به محیط کاربر را در ویندوز ساده میکند. همچنین، winfsp لایه شبیهسازی FUSE را فراهم میکند که rclone در ترکیب با cgofuse از آن بهره میبرد. بنابراین، برای اینکه این پیغام خطا را رفع کنیم، باید winfsp-1.7.20172.msi را دانلود و نصب کنیم. این نرمافزار را میتوانیم از طریق لینک winfsp دانلود کنیم.
۱۷. در ادامه در cmd ویندوز، دستور rclone mount را برای مانتکردن فضای باکت به ویندوز بدینصورت اجرا کنید:
rclone mount <RemoteName>:<BucketName> <WindowsDrive>: --vfs-cache-mode full
که برای این مثال بهصورت زیر است:
rclone mount pspk:c878579 S: --vfs-cache-mode full
اکنون اگر ThisPC را مشاهده کنید، درایو جدید S ایجاد شده است:

با بازکردن این فضا، میتوانید محتویات آن را مانند سایر درایورهای معمولی ببینید:

۴. خودکارسازی تمامی فرایندها
اگرچه تاکنون ظاهرا همهچیز بهدرستی انجام شده است، هنوز خودکارسازی فرایندها را انجام ندادهایم. بهعبارتدیگر، در هر بار شروع باید از همان دستور اولیه استفاده کنید؛ اما برای رفع این مشکل میتوانید از قابلیت Task Scheduler ویندوز استفاده کنید.
با استفاده از دستورهای زیر در PowerShell، میتوانیم دستور rclone را در تسکهای زمانبندیشده ویندوز اضافه کنید. فراموش نکنید که برای اجرای این دستورها به دسترسی Administrator نیاز دارید. برای این منظور با کلیکراست روی PowerShell، Run As Administrator را انتخاب کنید:
PS C:\Windows\system32> $time = New-ScheduledTaskTrigger -AtStartup PS C:\Windows\system32> $action = New-ScheduledTaskAction -Execute PowerShell.exe -Argument '-WindowStyle Hidden -Command "rclone mount pspk:c137747 S: --vfs-cache-mode full"' PS C:\Windows\system32> $setting = New-ScheduledTaskSettingsSet -ExecutionTimeLimit 0 PS C:\Windows\system32> Register-ScheduledTask -TaskName "pspk" -Action $action -RunLevel Highest -Trigger $time -Settings $setting TaskPath TaskName State -------- -------- ----- \ pspk Ready PS C:\Windows\system32> Start-ScheduledTask -TaskName "pspk"
درصورتیکه در Task Scheduler ویندوز فهرست تسکها را بررسی و تسک اضافهشده را با نام pspk مشاهده کنید:

معرفی amazon s3 را در مقاله زیر بخوانید:
چالشهای نصب باکت S3 روی ویندوز سرور
اگرچه اتصال فضای ذخیرهسازی S3 در ویندوز فرایند پیچیدهای ندارد، اما برخی کاربران در هنگام آپلود یا مدیریت فایلها با خطاهای دسترسی مواجه میشوند.
یکی از خطاهای رایج در نسخههای جدید rclone هنگام آپلود فایل در برخی سرویسهای S3 Compatible مربوط به بررسی خودکار وجود باکت است. در چنین شرایطی ممکن است خطاهایی مشابه موارد زیر مشاهده شود:
- Access Denied
- Bucket Check Failed
- Permission Error
برای رفع این مشکل میتوان فلگ زیر را به دستورات rclone اضافه کرد:
--s3-no-check-bucket
برای مثال:
rclone copy test.zip pspk:backup --s3-no-check-bucket
این گزینه باعث میشود rclone مرحله بررسی اولیه باکت را نادیده بگیرد و مستقیما عملیات انتقال فایل را آغاز کند.
از دیگر چالشهای رایج در ویندوز سرور میتوان به موارد زیر اشاره کرد:
- نصب نبودن WinFsp
- اشتباه وارد کردن Access Key یا Secret Key
- مسدود بودن پورت 443 در فایروال
- تنظیم اشتباه Endpoint
- اجرا نشدن Task Scheduler با دسترسی Administrator
- کمبود فضای Cache هنگام انتقال فایلهای حجیم
در اکثر موارد با بررسی این موارد میتوان مشکل را بهسرعت برطرف کرد.
نصب کلاینت S3 روی اوبونتو
یکی از محبوبترین ابزارهای مدیریت فضای ذخیرهسازی ابری در لینوکس، همین rclone است که علاوهبر پشتیبانی از Amazon S3، با سرویسهای سازگار با S3 مانند فضای ذخیرهسازی ابری پارسپک نیز کاملاً سازگار است. در ادامه آموزش نصب این ابزار محبوب بر روی Ubuntu نیز آورده شده است.
برای نصب rclone در Ubuntu ابتدا مخازن سیستم را بهروزرسانی کنید:
apt update
سپس ابزار rclone را نصب کنید:
apt install rclone -y
پس از اتمام نصب، وارد محیط پیکربندی شوید:
rclone config
سپس دقیقا مانند مراحل انجام شده برای کانفیگ S3 در rclone در ویندوز، مراحل را به همان صورت پیش میرویم. پس از ذخیره تنظیمات، برای بررسی صحت اتصال از دستور زیر استفاده کنید:
rclone lsf pspk:bucketname
اگر فهرست فایلها و پوشههای موجود در باکت نمایش داده شود، اتصال با موفقیت برقرار شده است.
مانت کردن فضای ذخیرهسازی در اوبونتو
یکی از قابلیتهای کاربردی rclone امکان مانتکردن فضای ذخیرهسازی روی یک مسیر محلی است.
ابتدا مسیر موردنظر را ایجاد کنید:
mkdir /mnt/parspack-storage
سپس دستور زیر را اجرا نمایید:
rclone mount pspk:bucketname /mnt/parspack-storage --vfs-cache-mode writes --daemon
پس از اجرای موفق دستور، محتوای فضای ذخیرهسازی از طریق مسیر ایجادشده در دسترس خواهد بود.
برای بررسی نتیجه میتوانید دستور زیر را اجرا کنید:
ls -lah /mnt/parspack-storage
در این حالت فایلها و پوشههای موجود در فضای ذخیرهسازی دقیقاً مانند یک دایرکتوری محلی نمایش داده خواهند شد.
مزایای استفاده از rclone در اوبونتو
اگر تجربه مدیریت فضای ابری روی سرور را داشته باشید، میدانید که یافتن ابزاری ساده و در عین حال قدرتمند چقدر چالشبرانگیز است. ابزار rclone این خلا را پر کرده و به یکی از محبوبترین انتخابهای مدیران سیستم در سراسر جهان تبدیل شده است. از مهمترین مزایای این ابزار میتوان به موارد زیر اشاره کرد:
- راهاندازی سریع و بدون دردسر: برخلاف سایر ابزارهای پیچیده، rclone تنها با چند دستور ساده پیکربندی شده و امکان برقراری اتصال در کوتاهترین زمان را فراهم میکند.
- سازگاری بینظیر با پروتکل S3: این ابزار سازگاری کاملی با انواع فضاهای ذخیرهسازی ابری (S3 Compatible Storage) دارد. به این معنی که بدون تغییر در روش کار، میتوانید از آن در پلتفرمهای مختلف استفاده کنید.
- اتوماسیون و همگامسازی (Sync) هوشمند rclone: قادر است تغییرات فایلها را بهصورت هوشمند شناسایی و اعمال کند. شما میتوانید فرایند پشتیبانگیری خودکار آن را بهراحتی از طریق کرونجاب (cron) زمانبندی کنید تا دیگر دغدغه فراموشی بکاپها را نداشته باشید.
- Mount مستقیم به عنوان درایو محلی: یکی از جذابترین ویژگیهای rclone، امکان Mount کردن فضای ابری روی مسیرهای محلی لینوکس است. با این کار، بدون نیاز به دانلود فایلها و دقیقا مانند یک هارد دیسک متصل به سرور، به دادههای خود دسترسی مستقیم خواهید داشت.
چالشهای نصب کلاینت S3 روی اوبونتو
اگرچه نصب فضای ذخیرهسازی S3 در لینوکس ساده است، اما برخی کاربران هنگام انتقال فایل یا اتصال به Endpoint با خطا مواجه میشوند.
یکی از مشکلاتی که توسط برخی کاربران گزارش شده، خطای عدم دسترسی هنگام آپلود فایل با استفاده از rclone است. در چنین شرایطی میتوان فلگ زیر را به دستور اضافه کرد:
--s3-no-check-bucket
برای مثال:
rclone copy backup.tar.gz pspk:backup --s3-no-check-bucket
این پارامتر باعث میشود بررسی اولیه وجود باکت انجام نشود و عملیات انتقال مستقیما آغاز گردد.
علاوه بر این، برخی مشکلات متداول عبارتاند از:
۱. خطای Access Denied
این خطا معمولاً به دلیل یکی از موارد زیر ایجاد میشود:
- اشتباه بودن Access Key
- اشتباه بودن Secret Key
- محدودیت سطح دسترسی
- Endpoint نادرست
۲. خطای Endpoint Not Found
این خطا زمانی رخ میدهد که آدرس Endpoint بهدرستی وارد نشده باشد یا سرور به اینترنت دسترسی نداشته باشد.
۳. خطای Mount Failure
معمولاً به دلیل نصب نبودن FUSE یا کمبود دسترسی کاربر ایجاد میشود.
برای بررسی وضعیت FUSE میتوانید دستور زیر را اجرا کنید:
fusermount3 -V
۴. کاهش سرعت انتقال فایل
در فایلهای حجیم بهتر است از قابلیت Multi Threading در rclone استفاده کنید:
rclone copy source pspk:backup --transfers 8
این قابلیت باعث افزایش سرعت انتقال و استفاده بهینهتر از پهنای باند خواهد شد.
جمعبندی
اتصال فضای ذخیرهسازی S3 به ویندوز سرور و اوبونتو، مدیریت فایلها، تهیه نسخه پشتیبان و اجرای فرایندهای خودکار را بهمراتب سادهتر میکند. ابزارهایی مانند rclone این امکان را فراهم میکنند که فضای ذخیرهسازی ابری را مانند یک درایو یا پوشه محلی در اختیار داشته باشید. با رعایت اصول پیکربندی، استفاده از کلیدهای دسترسی صحیح و آشنایی با خطاهای رایج، میتوانید از تمام ظرفیت فضای ذخیرهسازی ابری بهره ببرید. اگر به دنبال یک سرویس پایدار، امن و سازگار با Amazon S3 هستید، فضای ذخیرهسازی ابری پارسپک میتواند گزینهای مناسب برای میزبانی، آرشیو و پشتیبانگیری از دادههای شما باشد.
سوالات متداول
آیا میتوان فضای ذخیرهسازی S3 پارسپک را روی ویندوز بهصورت درایو محلی نمایش داد؟
بله. با استفاده از rclone و WinFsp میتوانید فضای ذخیرهسازی را روی یک درایو مانند S: یا Z: مانت کرده و همانند یک هارددیسک محلی از آن استفاده کنید.
برای اتصال به فضای ذخیرهسازی پارسپک در اوبونتو، rclone بهتر است یا s3fs؟
اگر به قابلیتهایی مانند همگامسازی، پشتیبانگیری و مدیریت پیشرفته فایلها نیاز دارید، rclone گزینه مناسبتری است. اما برای استفاده صرف از فضای ذخیرهسازی بهعنوان فایلسیستم لینوکسی، s3fs انتخاب خوبی خواهد بود.
چرا هنگام آپلود فایل با rclone خطای Access Denied دریافت میکنم؟
این خطا معمولاً به دلیل اشتباه بودن کلیدهای دسترسی، تنظیم نادرست Endpoint یا نیاز به استفاده از فلگ s3-no-check-bucket– ایجاد میشود.
آیا امکان استفاده از یک دامنه اختصاصی برای فضای ذخیرهسازی S3 پارسپک وجود دارد؟
بله. میتوانید دامنه اختصاصی خود را به فضای ذخیرهسازی متصل کنید و پس از فعالسازی SSL، فایلها را از طریق آدرس اختصاصی و امن در اختیار کاربران قرار دهید.

