سیستم فایل xfs با سیستم فایل‌های ext3/ext4 متفاوت است. بدین منعنی که بر خلاف سیستم فایل‌های ext3/ext4، سیستم فایل xfs برای استفاده در محیط‌هایی که با حجم زیادی فایل سر و کار دارند، بصورت ویژه طراحی شده است.

در این آموزش، نحوه تنظیم سهمیه بندی برروی پارتیشن "/" شرح داده شده است که / از یک سیستم فایل xfs استفاده می‌نماید (دقت کنید که home تنها یک دایرکتوری داخل / است).

 

 

این مطلب نیز ممکن است برای شما مفید باشد: رفع خطای "xfs_quota: cannot set limits: Function not implemented"

 

در اینجا، از pquota به جای grpquota استفاده شده است، که به دایرکت ادمین اجازه می‌دهد، سهمیه بندی‌های دایرکتوری را برای مواردی مانند "سهمیه بندی دیسک به ازای هر دامنه" تنظیم نماید.

در ابتدا، به منظور تأیید تنظیمات خود، دستور df را به صورت زیر اجرا کنید:

[root@es7-64 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   14G  2.3G   12G  17% /
devtmpfs                 915M     0  915M   0% /dev
tmpfs                    921M   24K  921M   1% /dev/shm
tmpfs                    921M  8.5M  912M   1% /run
tmpfs                    921M     0  921M   0% /sys/fs/cgroup
/dev/sda1                497M  125M  372M  26% /boot
[root@es7-64 ~]#

همانطور که مشاهده می‌کنید، home/ یک پارتیشن نیست؛ بلکه در داخل پارتیشن / قرار می‌گیرد؛ بنابراین در ابتدا باید اطمینان حاصل نمایید که سهمیه‌بندی‌ها برروی پارتیشن / اعمال می‌شوند.

 

سپس تأیید کنید که / قطعا از سیستم فایل xfs استفاده می‌نماید:

[root@es7-64 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[root@es7-64 ~]#

در این مرحله اگر گزینه "noquota" را مشاهده کردید، بدین معنی است که noquota یک گزینه پیش فرض kernel برای mount است. بنابراین باید آن را در آپشن‌های بوت kernel تغییر دهید. بدین منظور فایل زیر را ویرایش کرده

/etc/default/grub

و خط مربوط به متغیر "GRUB_CMDLINE_LINUX" را بیابید (دقت کنید که ممکن است نام متغیر در سیستم شما دقیقاً بدین صورت نباشد).

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet"

سپس یک متغیر "rootflags =" با مقادیر uquota و pquota در انتهای آن خط، مشابه زیر اضافه نمایید.

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet rootflags=uquota,pquota"

 

اکنون، بر اساس آن تنظیم، یک نسخه پشتیبان تهیه کنید و سپس یک فایل grub.cfg جدید ایجاد نمایید:

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.orig
grub2-mkconfig -o /boot/grub2/grub.cfg

این مسیر، در برخی از سیستم عامل‌ها به صورت زیر می‌باشد.

/boot/efi/EFI/centos/grub.cfg

در آخر، سیستم را مجدداً راه اندازی کنید تا گزینه‌های جدید در kernel قابل مشاهده شود.

reboot

 

هنگامی‌که وارد سیستم شدید، مجدداً گزینه‌های mount را برای اطمینان از عدم وجود "noquota" بررسی کنید:

[root@es7-64 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,prjquota)
[root@es7-64 ~]#

اکنون باید گزینه‌های usrquota و prjquota یا گزینه‌های uquota و pquota را مشاهده نمایید. در غیر اینصورت باید آن‌ها را به پارتیشن/ اضافه کنید.

اطمینان حاصل نماییدکه دایرکت ادمین، سهمیه بندی xfs را در directadmin.conf فعال کرده است:

cd /usr/local/directadmin
./directadmin c | grep use_xfs_quota

 

اگر قبلاً کاربران در دایرکت ادمین ایجاد شده‌اند، شما باید محدوده سهمیه بندی آن‌ها را نیز تنظیم کنید:

echo "action=rewrite&value=quota" >> /usr/local/directadmin/data/task.queue

تا اطمینان حاصل شود که محدودیت استفاده از دیسک برای آن‌ها نیز اعمال می‌شود.

 

 

منبع:

help.directadmin