پرش به محتوای اصلی
همه چیز در حال کار است
آغاز محتوای اصلی
سرویس فعال — اشتراکی بین سرورها

یک filesystem، چند سرور

فضای فایل مشترک با NFS v4 و SMB 3.x. چند VM به یک filesystem واحد دسترسی دارند بدون rsync یا پیچیدگی. snapshot روزانه، ظرفیت قابل توسعه.

/shared
mount
NFS · خواندن/نوشتن هم‌زمان

فضای فایل اشتراکی (Shared Filesystem)

یک filesystem واحد که چند سرور می‌توانند هم‌زمان آن را mount کنند و بخوانند/بنویسند (بر پایهٔ NFS). به‌جای کپی کردن فایل‌ها بین سرورها، همه به یک منبع مشترک دسترسی دارند.

این قابلیت برای خوشه‌های وب با محتوای مشترک، صف‌های پردازش و هر معماری‌ای که چند نود به فایل‌های یکسان نیاز دارند ایده‌آل است. فضا روی زیرساخت پایدار ایران‌کلاد نگهداری می‌شود.

NFS v4 + SMB 3

پروتکل‌های پشتیبانی‌شده

هم‌زمان روی یک filesystem

~۲۰۰ MB/s

throughput خواندن

sequential بالاتر

۱۰–۲۰ VM

اتصال هم‌زمان

با file-locking کامل

۷ روز

snapshot روزانه

rollback یک‌کلیکی

برای چه نوع کار؟

فایل‌های مشترک تیمی

چند VM در یک پروژه به filesystem واحد دسترسی دارند.

دارایی‌های اپ

upload روی سرور A و خواندن از سرور B بدون shared cache middleware.

volume برای کانتینر

Persistent volume برای Kubernetes یا Docker Swarm با NFS CSI driver.

لاگ متمرکز

تمام سرورها لاگ را روی NFS مشترک می‌نویسند؛ یک ابزار همه را می‌خواند.

بک‌آپ application

backup فایل‌ها روی یک مقصد ثابت قابل mount از همه سرورها.

Media pipeline

upload→transcode→deliver با چند سرور روی همان فایل.

mount در یک خط

پس از ساخت filesystem، endpoint و credentials در پنل نمایش داده می‌شود — این‌گونه mount می‌شود:

# NFS v4 (Linux)

mount -t nfs4 nfs.iranclaud.ir:/exports/abc /mnt/shared

# persistent — /etc/fstab

nfs.iranclaud.ir:/exports/abc  /mnt/shared  nfs4  defaults,_netdev  0 0

# SMB 3.x (Windows / mac / Linux)

mount -t cifs //smb.iranclaud.ir/abc /mnt/shared -o username=USR

# Kubernetes PersistentVolume (NFS)

nfs:
  server: nfs.iranclaud.ir
  path: /exports/abc

روی VMهای لینوکس ابتدا apt install nfs-common (یا cifs-utils برای SMB) را نصب کنید.

دسترسی Beta

سرویس فضای ذخیره‌سازی فایل در حال نهایی‌سازی است. اولین کاربران Beta رایگان دسترسی دارند.

درخواست دسترسی

روش نصب گام‌به‌گام

  1. 1

    شروع کنید

    به /account/storage بروید و یک filesystem جدید درخواست کنید.

  2. 2

    انتخاب ظرفیت و پروتکل

    حجم اولیه (۱۰۰ GB، ۲۵۰ GB، ۵۰۰ GB، ۱ TB) و پروتکل (NFS یا SMB یا هر دو) را انتخاب کنید.

  3. 3

    دریافت endpoint و credentials

    پس از تأیید (معمولاً ۲۴ ساعت) endpoint mount و credentials در پنل ظاهر می‌شود.

  4. 4

    نصب nfs-common یا cifs-utils

    روی VM: apt install nfs-common (یا cifs-utils برای SMB). در Windows: SMB native است.

  5. 5

    mount کردن و تست

    mkdir /mnt/shared && mount -t nfs4 nfs.iranclaud.ir:/exports/abc /mnt/shared. برای persistence در /etc/fstab بنویسید.

سؤالات متداول

NFS یا SMB چه فرقی دارد و کدام را انتخاب کنم؟

NFS v4 برای VMهای Linux استاندارد است (mount با fstab، سریع، POSIX-permissions). SMB 3.x برای Windows و mac (و کاربردهایی که با NFS مشکل دارند مثل docker volumeهای خاص). در هر filesystem می‌توانید هر دو پروتکل را همزمان فعال کنید.

تفاوت با Object Storage S3 چیست؟

فضای فایل اشتراکی یک POSIX filesystem واقعی است — mkdir، chmod، symlink، fseek همگی کار می‌کنند. مناسب برای /var/www مشترک، wp-content، static assets، NFS-backed Kubernetes volumes. Object Storage برای فایل‌های بزرگ، CDN-friendly، backup مناسب‌تر است.

چند VM می‌توانند به یک filesystem متصل شوند؟

محدودیتی نیست. می‌توانید ۱۰ تا ۲۰ VM به همان NFS export متصل کنید با file-locking کامل (flock، fcntl). برای ۱۰۰+ نود توصیه می‌شود از Object Storage یا cluster filesystem (CephFS) استفاده کنید.

snapshot و backup چگونه است؟

snapshot روزانه (نگه‌داری ۷ روز) خودکار. برای rollback یک‌کلیکی از پنل قابل دسترس. برای backup شخصی از rsync، rclone، borgbackup به Object Storage یا سرور بیرونی استفاده کنید.

حد ظرفیت و throughput چقدر است؟

Beta از ۱۰۰ GB تا ۱ TB در دسترس است؛ ظرفیت قابل توسعه. throughput حدود ۲۰۰ MB/s read و ۱۰۰ MB/s write برای random IO. برای sequential read/write بالاتر است (محدود به شبکه VM).

mount کردن چگونه است؟

برای NFS: mount -t nfs4 nfs.iranclaud.ir:/exports/abc /mnt/shared. برای SMB: mount -t cifs //smb.iranclaud.ir/abc /mnt/shared -o username=USR. credentials از پنل دریافت می‌شود.