VFS_GLUSTERFS(8) ابزارهای مدیریت سیستم VFS_GLUSTERFS(8)

vfs_glusterfs - بهره‌گیری از قابلیت‌های ارائه‌شده توسط GlusterFS

vfs objects = glusterfs

این ماژول VFS بخشی از مجموعهٔ samba(8) است.

سامانهٔ GlusterFS (http://www.gluster.org) یک سامانه پرونده خوشه‌ای متن‌باز با قابلیت مقیاس‌پذیری تا چندین پتابایت است. به لطف کلاینت بومی مبتنی بر FUSE، سامانهٔ GlusterFS به صورت یک سامانه پرونده سازگار با POSIX در دسترس است و بنابراین می‌تواند بدون نیاز به مراحل اضافی توسط Samba به اشتراک گذاشته شود.

ماژول VFS با نام vfs_glusterfs روشی جایگزین و برتر برای دسترسی به سامانه پرونده Gluster از طریق سامبا جهت اشتراک‌گذاری ارائه می‌دهد. این ماژول نیازی به نقطه اتصال (mount) مبتنی بر FUSE گلاستر ندارد، بلکه مستقیماً از طریق کتابخانهٔ خود به نام libgfapi، به دیمن GlusterFS دسترسی پیدا می‌کند؛ بدین ترتیب تعویض زمینه‌های (context switch) پرهزینه بین فضای هسته و فضای کاربری حذف شده و از برخی ویژگی‌های پیشرفته‌تر GlusterFS بهره‌برداری می‌شود.

این ماژول می‌تواند با سایر ماژول‌ها ترکیب شود، اما باید آخرین ماژول در فهرست vfs objects باشد. ماژول‌هایی که در سمت راست مدخل glusterfs به این فهرست اضافه شوند، ممکن است هیچ اثری نداشته باشند.

یک پیکربندی پایه‌ای به این صورت است.

[share]
vfs objects = glusterfs
path = /relative/base/path
glusterfs:volume = gv0
kernel share modes = no

توجه داشته باشید از آنجا که vfs_glusterfs به مانت Gluster نیازی ندارد، با مسیر اشتراک (path) متفاوت از سایر اشتراک‌ها رفتار می‌شود: این مقدار به عنوان مسیر پایهٔ اشتراک به صورت نسبی نسبت به حجم (volume) گلاسترِ استفاده‌شده تفسیر می‌شود. از آنجا که این مسیر معمولاً هم‌زمان یک مسیر سیستمی نیست، در یک راه‌اندازی کلاستر ctdb که در آن ctdb مدیریت سامبا را بر عهده دارد، باید مقدار CTDB_SAMBA_SKIP_SHARE_CHECK=yes را در فایل پیکربندی ctdb تنظیم کنید. در غیر این صورت ctdb به وضعیت سالم (healthy) نخواهد رسید.

توجه داشته باشید که در حال حاضر، برای کارکرد درست سرویس‌دهی پرونده، حالت‌های اشتراک هسته (kernel share modes) باید در اشتراکی که با ماژول vfs glusterfs اجرا می‌شود غیرفعال شوند.

glusterfs:logfile = path

تعیین می‌کند که آیا فایل لاگ اختصاصی vfs_glusterfs ذخیره شود و در کجا ذخیره گردد. جایگزینی متغیرهای کلاینت (مانند %M، %m، %I) پشتیبانی می‌شود، بنابراین می‌توان فایل لاگ را به ازای هر کلاینت مشخص کرد.

مثال: glusterfs:logfile = /var/log/samba/glusterfs-vol2.%M.log

glusterfs:loglevel = 0-9

سطح ثبت گزارش (logging) را مشخص می‌کند که اعداد بالاتر بیانگر جزئیات بیشتر هستند. 0 - بدون لاگ؛ 9 - سطح لاگ ردگیری (Trace)؛ سطح 7 که سطح لاگ اطلاعاتی (info) است ترجیح داده می‌شود.

اگر این گزینه با یک سطح لاگ مشخص تعریف نشود، از مقدار پیش‌فرض glusterfs استفاده می‌شود (در حال حاضر سطح لاگ 7).

glusterfs:volfile_server = servername

تعیین می‌کند که از کدام کارساز volfile استفاده شود، پیش‌فرض localhost است. این مقدار می‌تواند فهرستی از عناصر جداشده با فاصله باشد که در آن هر عنصر می‌تواند به یکی از اشکال زیر باشد:

1. unix+/path/to/socket/file

2. [tcp+]IP|hostname|\[IPv6\][:port]

به محدودیت نام‌گذاری میزبان IPv6 توجه داشته باشید؛ این محدودیت از همان قاعده‌ای پیروی می‌کند که بر اساس نام‌گذاری IPv6 در URL طبق RFC 2732 تعیین شده است.

glusterfs:volume = volumename

نام حجم (volumename) گلاستر را برای استفاده در این اشتراک مشخص می‌کند.

مترجم کارایی پس‌نویسی (write-behind performance translator) در GlusterFS، هنگام استفاده به همراه سامبا، می‌تواند منبعی برای خرابی داده‌ها باشد. این مترجم در حین پردازش یک فراخوانی نوشتن، بلافاصله وضعیت موفقیت را بازمی‌گرداند اما در پس‌زمینه به نوشتن داده‌ها روی کارساز ادامه می‌دهد. هنگامی که دو کلاینت با تکیه بر Samba برای تضمین سازگاری داده‌ها روی یک پروندهٔ یکسان کار می‌کنند، این امر می‌تواند باعث خرابی داده‌ها شود.

مترجم پس‌نویسی به طور پیش‌فرض در GlusterFS فعال است. افزونهٔ vfs_glusterfs وجود این مترجم را بررسی می‌کند و در صورت شناسایی، از برقراری اتصال خودداری می‌نماید. لطفاً مترجم پس‌نویسی را برای حجم GlusterFS غیرفعال کنید تا امکان اتصال افزونه به حجم فراهم شود. مترجم پس‌نویسی را می‌توان به سادگی با اجرای دستور

gluster volume set <volumename> performance.write-behind off

در خط فرمان غیرفعال کرد.

در نسخه‌های 9 به بالای GlusterFS (نسخه‌های >= 9)، مترجم پس‌نویسی در طول اتصال اولیه بی‌صدا دور زده می‌شود و از بروز خطا جلوگیری به عمل می‌آید.

این صفحه راهنما بخشی از نسخهٔ 4.24.6 مجموعهٔ نرم‌افزاری Samba است.

نرم‌افزار اصلی Samba و ابزارهای مرتبط توسط Andrew Tridgell ساخته شده‌اند. Samba اکنون توسط Samba Team به عنوان یک پروژه متن‌باز مشابه روش توسعهٔ هسته لینوکس توسعه داده می‌شود.

08/16/2026 Samba 4.24.6