| mfsquota(1) | This is part of MooseFS | mfsquota(1) |
نام (NAME)
mfsquota - ابزارهای مدیریت سهمیه در MooseFS
خلاصه دستور (SYNOPSIS)
mfsgetquota [-?] [-n|-h|-H|-k|-m|-g] DIRECTORY...
mfssetquota [-?] [-n|-h|-H|-k|-m|-g] [-p grace_period|-P] [-iI inodes] [-lL length] [-sS size] [-rR realsize] DIRECTORY...
mfsdelquota [-?] [-n|-h|-H|-k|-m|-g] [-a|-ilsr] [-A|-ILSR] DIRECTORY...
mfscopyquota [-?] [-n|-h|-H|-k|-m|-g] SOURCE_DIRECTORY DESTINATION_DIRECTORY
توضیحات (DESCRIPTION)
این ابزارها برای بررسی، تعیین و حذف سهمیهها استفاده میشوند. سهمیه روی یک دایرکتوری تنظیم میشود و میتوان آن را به یکی از ۴ روش زیر تعیین کرد: برای تعداد inodeهای درون دایرکتوری (مجموع کل inodeهای زیردرخت) با گزینههای -i و -I، برای مجموع طول (منطقی) فایلها با گزینههای -l و -L، برای مجموع اندازه chunkها (بدون در نظر گرفتن goalها) با گزینههای -s و -S، و برای فضای فیزیکی دیسک سخت (کموبیش اندازه chunkها ضرب در goal هر chunk) با گزینههای -r و -R. حروف کوچک سهمیه نرم (soft quota) و حروف بزرگ سهمیه سخت (hard quota) را تنظیم میکنند. گزینههای -a و -A در mfsdelquota به معنای همه انواع سهمیه هستند. رفتار سهمیه (نرم/سخت) در ادامه توضیح داده شده است. برای سهمیه نرم، دوره مهلت (grace period) را میتوان با استفاده از گزینه -p یا -P مشخص کرد. گزینه -p نیازمند یک پارامتر صریح در «قالب زمانی» (بخش TIME را ببینید) است که کمترین واحد آن ثانیه است. گزینه -P از دوره مهلت پیشفرضِ تعریفشده در mfsmaster.cfg استفاده خواهد کرد. هنگامی که هیچیک از گزینههای -p یا -P مشخص نشده باشند، رفتار mfssetquota به این بستگی دارد که آیا از قبل سهمیهای روی دایرکتوری مربوطه تعیین شده است یا خیر. اگر بله، مقدار قبلی دوره مهلت حفظ خواهد شد؛ اگر نه، دستور طوری رفتار میکند که گویی از -P استفاده شده است.
سهمیه همواره روی یک دایرکتوری تنظیم میشود. از سهمیه سخت در هیچ زمانی نمیتوان فراتر رفت. از سهمیه نرم میتوان برای یک بازه زمانی مشخص فراتر رفت. به محض اینکه در یک دایرکتوری از سهمیه فراتر برود، کاربر باید در طول دوره مهلت، میزان مصرف را به زیر سهمیه بازگرداند. در غیر این صورت، سهمیه نرم برای این دایرکتوری خاص رفتاری مشابه سهمیه سخت در پیش خواهد گرفت.
توجه! دستور mfscopyquota تمام سهمیههای موجود را از SOURCE_DIRECTORY به DESTINATION_DIRECTORY رونوشت میکند، اما هیچ سهمیهای را در DESTINATION_DIRECTORY حذف نخواهد کرد. این بدان معناست که تمام سهمیههایی که پیش از عملیات رونوشت در DESTINATION_DIRECTORY وجود داشتهاند و توسط این عملیات جایگزین نشدهاند، پس از آن نیز همچنان باقی میمانند. برای مثال: اگر در SOURCE_DIRECTORY سهمیه inode تنظیم شده باشد و در DESTINATION_DIRECTORY سهمیه طول فایل تنظیم شده باشد، پس از آن در DESTINATION_DIRECTORY هر دو سهمیه فعال خواهند بود.
گزینهها (OPTIONS)
بیشتر ابزارهای MooseFS از گزینههای -n، -h، -H، -k، -m و -g برای انتخاب قالب نمایش اعداد استفاده میکنند. گزینه -n موجب چاپ اعداد بهصورت دقیق میشود، -h از پیشوندهای دودویی (Ki، Mi، Gi بهصورت ۲^۱۰، ۲^۲۰ و غیره) و -H از پیشوندهای SI (مانند k، M، G بهصورت ۱۰^۳، ۱۰^۶ و غیره) استفاده میکند. گزینههای -k، -m و -g اعداد ساده را بهترتیب بر پایه کیبی (کیلوی دودویی - ۱۰۲۴)، مبی (مگای دودویی - ۱۰۲۴^۲) و گیبی (گیگای دودویی - ۱۰۲۴^۳) نشان میدهند. همین کار را میتوان با تنظیم متغیر محیطی MFSHRFORMAT انجام داد: 0 (اعداد دقیق)، 1 یا h (پیشوندهای دودویی)، 2 یا H (پیشوندهای SI)، 3 یا h+ (اعداد دقیق همراه با پیشوندهای دودویی)، 4 یا H+ (اعداد دقیق همراه با پیشوندهای SI). حالت پیشفرض، چاپ اعداد بهصورت صرفاً دقیق است.
گزینه -? پیام کوتاه راهنمای استفاده را نمایش میدهد.
نکات (NOTES)
TIME
برای متغیرهایی که زمان را بدون الزام به یک واحد منفرد و خاص تعریف میکنند، زمان میتواند بهصورت تعداد ثانیه یا ساعت (عدد صحیح)، بسته به کمترین واحد مجاز برای آن متغیر، یا بهصورت یک بازه زمانی در یکی از دو قالب ممکن تعیین شود:
قالب اول: #.#T که در آن T یکی از این موارد است: s-ثانیه، m-دقیقه، h-ساعت، d-روز یا w-هفته؛ بخشهای اعشاریِ کوچکتر از کمترین واحد گرد خواهند شد.
قالب دوم: #w#d#h#m#s؛ هر تعداد از تعاریف را میتوان حذف کرد، اما تعاریف باقیمانده باید به ترتیب باشند (بنابراین #d#m همچنان یک تعریف معتبر است، اما #m#d معتبر نیست)؛ محدودهها: s و m بین ۰ تا ۵۹، h بین ۰ تا ۲۳، d بین ۰ تا ۶، w نامحدود است و تعریف نخست نیز همیشه نامحدود خواهد بود (یعنی در #d#h#m مقدار d نامحدود است).
اگر کمترین واحدِ یک متغیر بزرگتر از ثانیه باشد، واحدهای کمتر از آن واحدِ کمینه پذیرفته نخواهند شد. برای مثال، متغیری که ساعت کمترین واحد آن است، واحدهای s و m را نمیپذیرد.
مثالها:
مقدار 1.5d معادل 1d12h و معادل 36h است.
مقدار 2.5w معادل 2w3d12h و معادل 420h است؛ عبارت 2w84h یک بازه زمانی معتبر نیست (زیرا h نخستین تعریف نیست، بنابراین به بازه ۰ تا ۲۳ محدود میشود).
مثالها (EXAMPLES)
همه مثالها فرض میکنند که کلاینت MooseFS در دایرکتوری /mnt/mfs سوار (mount) شده است.
mfssetquota -p 24h -i 10000 /mnt/mfs/users/bob
یک سهمیه
نرم برای
تعداد inodeها
در
دایرکتوری
/users/bob روی MooseFS
تنظیم
میکند. به
محض ایجاد
۱۰۰۰۰ شیء
در زیردرخت
/users/bob، شمارش
معکوس دوره
مهلت ۲۴
ساعته آغاز
خواهد شد. از
آنجا که هیچ
سهمیه سختی
تعریف نشده
است، هیچ
محدودیتی
برای تعداد
inodeهای اضافی
قابل ایجاد
در طول این
۲۴ ساعت
وجود
ندارد، اما
پس از سپری
شدن این
زمان، هیچ
تلاشی برای
ایجاد inode
جدید موفق
نخواهد بود.
برای رفع
محدودیتهای
سهمیه
(شمارش
معکوس مهلت
و/یا قفل
کامل سهمیه
سخت)، باید
به اندازه
کافی inode از /users/bob
حذف شود تا
مقدار به
زیر حد
۱۰۰۰۰
برسد.
mfssetquota -p 24h -i 10000 -I 20000 /mnt/mfs/users/bob
یک سهمیه
نرم و یک
سهمیه سخت
برای تعداد
inodeها در
دایرکتوری
/users/bob روی MooseFS
تنظیم
میکند. به
محض ایجاد
۱۰۰۰۰ شیء
در زیردرخت
/users/bob، شمارش
معکوس مهلت
۲۴ ساعته
آغاز
میشود. اگر
در طول این
دوره،
اشیاء
بیشتری تا
رسیدن به
مجموع
۲۰۰۰۰
ایجاد شود،
سهمیه سخت
بلافاصله
اعمال
خواهد شد،
حتی اگر
مهلت سهمیه
نرم هنوز به
پایان
نرسیده
باشد. با رخ
دادن این
حالت، هیچ
تلاش جدیدی
برای ایجاد
inode
موفقیتآمیز
نخواهد بود.
برای رفع
محدودیتهای
سهمیه
(شمارش
معکوس مهلت
و/یا قفل
کامل سهمیه
سخت)، باید
به اندازه
کافی inode از /users/bob
حذف شود تا
مقدار به
زیر حد
۱۰۰۰۰
برسد.
mfssetquota -l 2GiB /mnt/mfs/users/bob
اگر قبلاً
هیچ
سهمیهای
روی
دایرکتوری
/users/bob وجود
نداشته
باشد، این
دایرکتوری
اکنون
دارای یک
سهمیه نرم
برای مجموع
طول
فایلها
(مجموع
اندازه
منطقی
فایلها) در
کل زیردرخت
به میزان 2 GiB
خواهد بود.
از آنجا که
این یک
سهمیه جدید
است و
هیچیک از
گزینههای -p
و -P صراحتاً
تعیین
نشدهاند،
گزینه -P در
نظر گرفته
میشود و
دوره مهلت
پیشفرض از
mfsmaster.cfg مورد
استفاده
قرار خواهد
گرفت.
اگر قبلاً
سهمیهای
روی
دایرکتوری
/users/bob وجود
داشته باشد
(برای مثال
مانند آنچه
در مثال اول
آمد)، در این
صورت این
دایرکتوری
هم سهمیه
نرم برای
تعداد inodeها و
هم سهمیه
نرم برای
مجموع طول
فایلها
خواهد داشت
و دوره مهلت
همان
مقداری
خواهد بود
که با دستور
قبلی تنظیم
شده بود (در
این مثال ۲۴
ساعت).
mfssetquota -p 3d /mnt/mfs/users/bob
اگر روی /users/bob
سهمیه نرمی
تنظیم شده
باشد، دوره
مهلت این
سهمیهها
اکنون ۳ روز
(۷۲ ساعت)
خواهد بود.
در غیر این
صورت، این
دستور
نادیده
گرفته
میشود.
mfssetquota -P /mnt/mfs/users/bob
اگر روی /users/bob
سهمیه نرمی
تنظیم شده
باشد، دوره
مهلت این
سهمیهها
اکنون
برابر با هر
آن چیزی
خواهد بود
که در mfsmaster.cfg
تعریف شده
است. در غیر
این صورت،
این دستور
نادیده
گرفته
میشود.
mfsdelquota -i /mnt/mfs/users/bob
سهمیه نرم
برای تعداد
inodeها در
دایرکتوری
/users/bob حذف خواهد
شد. اگر
سهمیه سخت
یا هر نوع
سهمیه
دیگری (طول،
اندازه و
غیره) نیز
وجود داشته
باشد، بدون
تغییر باقی
خواهد
ماند.
mfsdelquota -a -A /mnt/mfs/users/bob
تمام
سهمیههای
ممکن (همه
سهمیههای
نرم و همه
سهمیههای
سخت) را از /users/bob
حذف
میکند.
گزارش باگها (BUGS)
گزارش باگها را به <bugs@moosefs.com> ارسال کنید.
کپیرایت و تکثیر (COPYRIGHT)
حق نشر © 2026 Jakub Kruszona-Zawadzki, Saglabs SA
این فایل بخشی از MooseFS است.
نرمافزار MooseFS یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط «پروانه عمومی همگانی گنو» (GNU General Public License) همانطور که توسط بنیاد نرمافزارهای آزاد منتشر شده است، نسخه ۲ (صرفاً)، بازتوزیع کرده یا تغییر دهید.
نرمافزار MooseFS با این امید توزیع میشود که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی «قابل فروش بودن» یا «مناسب بودن برای یک هدف خاص». برای جزئیات بیشتر به «پروانه عمومی همگانی گنو» مراجعه کنید.
شما باید به همراه این برنامه یک نسخه از GNU General Public License را دریافت کرده باشید؛ در غیر این صورت، ببینید: https://www.gnu.org/licenses.
همچنین ببینید (SEE ALSO)
| May 2026 | MooseFS 4.59.2-1 |