'\" t .\" Title: vfs_gpfs .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/16/2026 .\" Manual: System Administration tools .\" Source: Samba 4.24.6 .\" Language: English .\" .TH "VFS_GPFS" "8" "08/16/2026" "Samba 4\&.24\&.6" "System Administration tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" vfs_gpfs \- افزونه‌های ویژه سامبا برای gpfs مانند فهرست‌های کنترل دسترسی (acls) .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\ 'u vfs objects = gpfs .SH "توضیحات (DESCRIPTION)" .PP این ماژول VFS بخشی از مجموعه \fBsamba\fR(7) است\&. .PP ماژول VFS با نام gpfs محل قرارگیری تمام افزونه‌های gpfs است که سامبا برای یکپارچه‌سازی مناسب با GPFS به آن‌ها نیاز دارد\&. این ماژول از رابط‌های کتابخانه GPL ارائه‌شده توسط GPFS استفاده می‌کند\&. .PP در حال حاضر ماژول gpfs vfs افزونه‌هایی را در زمینه‌های زیر ارائه می‌دهد: .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} رابط‌های NFSv4 ACL با گزینه‌های قابل پیکربندی برای GPFS .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} پشتیبانی از oplock هسته در GPFS .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} پشتیبانی از Lease در GPFS .RE .sp .RE .PP نکته: این ماژول از رفتار posix\-acl پیروی می‌کند و بنابراین امکان سرقت مجوزها از طریق chown را فراهم می‌سازد\&. سامبا ممکن است در آینده اجازه دهد chown از طریق این ماژول محدود شود، زیرا اعمال چنین محدودیت‌هایی بیش از آنکه بر عهده سامبا باشد، بر عهده سیستم‌فایل زیرین است\&. .PP این ماژول از پارامتر smb\&.conf با نام \m[blue]\fBacl map full control\fR\m[] استفاده می‌کند\&. هنگامی که روی yes (پیش‌فرض) تنظیم شود، این پارامتر بیت FILE_DELETE_CHILD را به یک مدخل ACE بازگردانده‌شده برای یک فایل (نه یک دایرکتوری) که از قبل شامل تمام مجوزهای فایل به جز FILE_DELETE و FILE_DELETE_CHILD است اضافه می‌کند\&. این کار می‌تواند از دریافت خطای ACCESS_DENIED توسط برنامه‌های ویندوزی که درخواست دسترسی GENERIC_ALL دارند، در هنگام اجرا روی سیستم‌فایلی با ACLهای سازگار با NFSv4 جلوگیری کند\&. .PP این ماژول پشته‌پذیر (stackable) است\&. .PP از نسخه 4\&.0 سامبا به بعد، تمام گزینه‌ها به ازای هر اشتراک (per share) هستند\&. .SH "گزینه‌ها (OPTIONS)" .PP nfs4:mode = [ simple | special ] .RS 4 جایگزینی شناسه‌های ویژه (OWNER@ و GROUP@) را در NFS4 ACLها کنترل می‌کند\&. استفاده از حالت simple توصیه می‌شود\&. در این حالت فقط مدخل‌های ACL غیروراثتی برای مالک و گروه فایل به شناسه‌های ویژه نگاشت می‌شوند\&. .sp حالت‌های (MODEs) زیر توسط این ماژول پشتیبانی می‌شوند: .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} simple(default) \- شناسه‌های ویژه OWNER@ و GROUP@ را فقط برای ACEهای غیروراثتی استفاده می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} special(deprecated) \- شناسه‌های ویژه OWNER@ و GROUP@ را در ACEها برای تمام ACEهای مالک و گروه فایل استفاده می‌کند\&. .RE .sp .RE .RE .PP nfs4:acedup = [dontcare|reject|ignore|merge] .RS 4 این پارامتر نحوه مدیریت ACEهای تکراری مشاهده‌شده در NFS4 ACLها توسط سامبا را پیکربندی می‌کند\&. آن‌ها ایجاد ACEهای تکراری با بیت‌های متفاوت برای یک شناسه یکسان را ممکن می‌سازند که ممکن است کلاینت‌های ویندوز را سردرگم کند\&. .sp رفتار سامبا برای مقادیر مختلف به شرح زیر است: .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} dontcare \- رونوشت گرفتن از ACEها به همان صورتی که دریافت می‌شوند .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} reject (deprecated) \- متوقف کردن عملیات و خروج با خطا در هنگام عملیات تنظیم ACL .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} ignore (deprecated) \- شامل نکردن دومین ACE منطبق .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} merge (default) \- اعمال OR بیتی روی ۲ فیلد ace\&.flag و ۲ فیلد ace\&.mask از ۲ مدخل ACE تکراری در قالب ۱ مدخل ACE .RE .sp .RE .RE .PP nfs4:chown = [yes|no] .RS 4 این پارامتر امکان فعال یا غیرفعال کردن chown پشتیبانی‌شده توسط سیستم‌فایل زیرین را فراهم می‌کند\&. این پارامتر باید با احتیاط فعال شود زیرا ممکن است سیستم شما را ناامن کند\&. .sp برخی از سیستم‌فایل‌ها chown را به صورت الف) واگذاری (giving) و ب) سرقت (stealing) مجاز می‌دانند\&. این مورد دوم است که به عنوان یک ریسک در نظر گرفته می‌شود\&. .sp رفتار سامبا برای مقادیر مختلف به شرح زیر است: .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes \- فعال کردن chown در صورتی که توسط سیستم‌فایل زیرین پشتیبانی شود .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no (default) \- غیرفعال کردن chown .RE .sp .RE .RE .PP gpfs:sharemodes = [ yes | no ] .RS 4 فعال/غیرفعال کردن مدیریت حالت‌های اشتراک (sharemode) بین گره‌ها برای GPFS\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes(default) \- انتشار sharemodeها در میان تمام گره‌های GPFS\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no \- عدم انتشار sharemodeها در میان تمام گره‌های GPFS\&. این مورد تنها باید در صورتی استفاده شود که سیستم‌فایل GPFS منحصراً توسط سامبا صادر شده باشد\&. دسترسی برنامه‌های محلی یونیکس یا صادرات‌های NFS می‌تواند منجر به خرابی فایل‌ها شود\&. .RE .sp .RE .RE .PP gpfs:leases = [ yes | no ] .RS 4 فعال/غیرفعال کردن اجاره‌ها (leases / oplocks) بین گره‌ها برای GPFS\&. همچنین باید گزینه‌های oplocks و kernel oplocks را نیز روی مقداری یکسان تنظیم کنید\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes(default) \- انتشار leaseها در میان تمام گره‌های GPFS\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no \- عدم انتشار leaseها در میان تمام گره‌های GPFS\&. این مورد تنها زمانی باید استفاده شود که سیستم‌فایل GPFS منحصراً توسط سامبا صادر شده باشد\&. دسترسی توسط برنامه‌های محلی یونیکس یا صادرات‌های NFS می‌تواند به خراب شدن فایل‌ها منجر شود\&. .RE .sp .RE .RE .PP gpfs:hsm = [ yes | no ] .RS 4 فعال/غیرفعال کردن اعلام فعال بودن HSM در این سیستم‌فایل\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no(default) \- اعلام نکردن HSM\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes \- اعلام کردن HSM\&. .RE .sp .RE .RE .PP gpfs:recalls = [ yes | no ] .RS 4 هنگامی که این گزینه روی no تنظیم شود، تلاش برای باز کردن یک فایل آفلاین با خطای عدم دسترسی (access denied) رد خواهد شد\&. این امر به جلوگیری از طوفان‌های فراخوانی مجدد (recall storms) ایجادشده توسط برنامه‌های بی‌ملاحظه‌ای مانند Finder و Explorer کمک می‌کند\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes(default) \- باز کردن فایل‌هایی که آفلاین هستند\&. این کار فایل‌ها را از HSM فراخوانی می‌کند\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no \- رد دسترسی به فایل‌های آفلاین با خطای access denied\&. این کار از فراخوانی فایل‌ها از HSM جلوگیری می‌کند\&. استفاده از این تنظیم همچنین نیازمند تنظیم gpfs:hsm روی yes است\&. .RE .sp .RE .RE .PP gpfs:getrealfilename = [ yes | no ] .RS 4 فعال/غیرفعال کردن استفاده از تابع gpfs_get_realfilename_path()\&. این گزینه دسترسی حساس به حروف بزرگ و کوچک برای نام‌های حاوی نویسه‌های عمومی (wildcard) را بهبود می‌بخشد\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes(default) \- استفاده از gpfs_get_realfilename_path()\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no \- عدم استفاده از gpfs_get_realfilename_path()\&. به نظر می‌رسد که gpfs_get_realfilename_path() روی AIX کار نمی‌کند\&. .RE .sp .RE .RE .PP gpfs:winattr = [ yes | no ] .RS 4 فعال/غیرفعال کردن استفاده از مشخصه‌های ویندوز در GPFS\&. سیستم‌فایل GPFS قادر است مشخصه‌های فایل ویندوز مانند HIDDEN، READONLY، SYSTEM و سایر موارد را به صورت بومی ذخیره کند\&. این بدان معناست که سامبا نیازی به نگاشت آن‌ها به بیت‌های مجوز یا مشخصه‌های گسترش‌یافته (extended attributes) ندارد\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no(default) \- عدم استفاده از مشخصه‌های ویندوز GPFS\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes \- استفاده از مشخصه‌های ویندوز GPFS\&. .RE .sp .RE .RE .PP gpfs:acl = [ yes | no ] .RS 4 این گزینه به سامبا امکان می‌دهد از GPFS ACLها استفاده کند یا آن‌ها را نادیده بگیرد\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes(default) \- استفاده از GPFS ACLها\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no \- عدم استفاده از GPFS ACLها و ارجاع همه‌چیز به ماژول SMB_VFS بعدی\&. .RE .sp .RE .RE .PP gpfs:check_fstype = [ yes | no ] .RS 4 بررسی مانت بودن سیستم‌فایل GPFS در زمان دسترسی به یک اشتراک SMB\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes(default) \- بررسی اینکه مسیر اشتراک SMB روی سیستم‌فایل GPFS قرار داشته باشد\&. در صورت یافتن سیستم‌فایلی دیگر، دسترسی به اشتراک رد خواهد شد\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no \- صرف‌نظر کردن از بررسی سیستم‌فایل GPFS در مسیر اشتراک SMB\&. .RE .sp .RE .RE .PP gpfs:dfreequota = [ yes | no ] .RS 4 تنظیم گزارش اندازه و فضای آزاد یک اشتراک بر اساس سهمیه‌ها (quotas)\&. اگر این تنظیم روی "yes" باشد، درخواستی برای اندازه و فضای آزاد همچنین سهمیه کاربریِ کاربر درخواست‌کننده داده و سهمیه گروهیِ گروه اصلی کاربر را ارزیابی خواهد کرد\&. سهمیه‌های Fileset استعلام نمی‌شوند، زیرا GPFS از قبل گزینه \-\-dfreequota را برای اعمال سهمیه fileset در پرس‌وجوی فضای آزاد فراهم کرده است\&. لطفاً برای گنجاندن سهمیه‌های fileset در فضای دیسک گزارش‌شده از آن گزینه استفاده کنید\&. .sp اگر هر یک از محدودیت‌های نرم یا سخت سهمیه (soft یا hard quota) پر شده باشد، فضای آزاد 0 گزارش خواهد شد\&. اگر سهمیه‌ای برقرار باشد، اما محدودیت‌ها پر نشده باشند، فضای آزاد بر اساس فضای باقی‌مانده در سهمیه گزارش می‌شود\&. در صورتی که بیش از یک سهمیه اعمال شود، فضای آزاد به عنوان کمترین فضای باقی‌مانده در آن سهمیه‌ها گزارش خواهد شد\&. اندازه اشتراک بر اساس میزان استفاده از سهمیه گزارش خواهد شد\&. اگر بیش از یک سهمیه اعمال شود، کوچک‌ترین اندازه برای اندازه اشتراک بر اساس این سهمیه‌ها گزارش می‌شود\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes \- گنجاندن سهمیه‌ها در هنگام گزارش اندازه و فضای آزاد اشتراک .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no(default) \- سهمیه‌ها گنجانده نشوند، فقط اندازه و فضای آزاد سیستم‌فایل گزارش شود .RE .sp .RE .RE .PP gpfs:settimes = [ yes | no ] .RS 4 استفاده از رابط برنامه‌نویسی gpfs_set_times هنگام تغییر برچسب‌های زمانی (timestamps) یک فایل یا دایرکتوری\&. اگر API مربوط به GPFS در دسترس نباشد، روش قدیمی استفاده از utime و فراخوانی GPFS winattr به عنوان جایگزین استفاده خواهد شد\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes(default) \- استفاده از gpfs_set_times؛ در صورت عدم دسترسی، بازگشت به utime و winattr\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no \- عدم استفاده از gpfs_set_times\&. .RE .sp .RE .RE .PP gpfs:clamp_invalid_times = [ yes | no ] .RS 4 سیستم‌فایل GPFS برچسب‌های زمانی را با استفاده از اعداد صحیح بدون علامت ۳۲ بیتی برای بخش ثانیه ذخیره می‌کند\&. در هنگام استفاده از gpfs:settimes = yes، این ماژول بررسی می‌کند که زمان‌هایی که کلاینت‌ها قصد تنظیم آن‌ها را دارند، در محدوده پشتیبانی‌شده GPFS بین 0 و UINT32_MAX قرار داشته باشند\&. اگر یک برچسب زمانی خارج از این محدوده باشد، درخواست کلاینت رد می‌شود\&. برای مدیریت کلاینت‌هایی که مثلاً برچسب‌های زمانی موقت خارج از محدوده مجاز تنظیم می‌کنند، این پارامتر می‌تواند برای محدود کردن برچسب زمانی کلاینت به محدوده مجاز استفاده شود\&. در این حالت زمان‌های قبل از Thu Jan 1 12:00:00 AM UTC 1970 (مبدأ زمان یونیکس) روی Thu Jan 1 12:00:00 AM UTC 1970 تنظیم می‌شوند و زمان‌های پس از Sun Feb 7 06:28:15 AM UTC 2106 روی Sun Feb 7 06:28:15 AM UTC 2106 قرار می‌گیرند\&. .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no(default) \- رد درخواست در صورت نامعتبر بودن زمان\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes \- محدود کردن زمان‌های نامعتبر به 0 یا UINT32_MAX\&. .RE .sp .RE .RE .PP gpfs:syncio = [yes|no] .RS 4 این پارامتر باعث می‌شود سامبا تمام فایل‌ها را با فلگ O_SYNC باز کند\&. این کار بهینه‌سازی‌هایی را در GPFS برای بارهای کاری که اشتراک‌گذاری شدید فایل دارند فعال می‌نماید\&. .sp رفتار سامبا برای مقادیر مختلف به شرح زیر است: .RS .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} yes \- باز کردن فایل‌ها با O_SYNC .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} no (default) \- باز کردن فایل‌ها طبق روال معمول سامبا .RE .sp .RE .RE .SH "مثال‌ها (EXAMPLES)" .PP یک نقطه مانت GPFS می‌تواند از طریق سامبا به صورت زیر صادر شود: .sp .if n \{\ .RS 4 .\} .nf \fI[samba_gpfs_share]\fR \m[blue]\fBvfs objects = gpfs\fR\m[] \m[blue]\fBpath = /test/gpfs_mount\fR\m[] \m[blue]\fBnfs4: mode = special\fR\m[] \m[blue]\fBnfs4: acedup = merge\fR\m[] .fi .if n \{\ .RE .\} .SH "هشدارها (CAVEATS)" .PP بسته به نسخه gpfs، در زمان اجرا کتابخانه libgpfs_gpl یا کتابخانه libgpfs توسط ماژول VFS با نام gpfs مورد نیاز است: با شروع از gpfs نسخه 3\&.2\&.1 PTF8، کل کتابخانه libgpfs به صورت منبع‌باز در دسترس است و libgpfs_gpl دیگر وجود ندارد\&. در نسخه‌های قبلی gpfs، تنها کتابخانه libgpfs_gpl منبع‌باز بود و می‌توانست در زمان اجرا مورد استفاده قرار گیرد\&. .PP در زمان ساخت (build)، تنها فایل سرایند (header) با نام gpfs_gpl\&.h مورد نیاز است، که در نسخه‌های gpfs جدیدتر از 3\&.2\&.1 PTF8 یک پیوند نمادین (symlink) به gpfs\&.h می‌باشد\&. .SH "نسخه (VERSION)" .PP این صفحه راهنما بخشی از نسخه 4\&.24\&.6 مجموعه سامبا است\&. .SH "نویسنده (AUTHOR)" .PP نرم‌افزار اصلی سامبا و ابزارهای مرتبط توسط اندرو تریدجل (Andrew Tridgell) ایجاد شده‌اند\&. سامبا اکنون توسط تیم سامبا به عنوان یک پروژه منبع‌باز، مشابه روش توسعه هسته لینوکس، توسعه می‌یابد\&. .PP ماژول GPFS VFS با مشارکت فولکر لندکه (Volker Lendecke) و توسعه‌دهندگان IBM ایجاد شده است\&. .PP این صفحه راهنما توسط تیم IBM FSCC تهیه شده است\&.