مدیران سیستم اغلب به منظور جلوگیری از ذخیره بیش از حد مجاز اطلاعات بر روی سیستم، از یک سیاست سهمیه بندی فضا یا (Disk quota) استفاده میکنند.
به طور پیش فرض، Disk quota نمایش داده شده در پنل DirectAdmin به سهمیههای سیستم متکی است؛ بنابراین به منظور مدیریت آن، باید از سطح سیستم عامل شروع کرد.
این مطلب نیز ممکن است برای شما مفید باشد: رفع خطای xfs_quota: cannot set limits: Function not implemented
نحوه فعال سازی پشتیبانی quota در EXT4
اگر از یک سیستم فایل ext4 استفاده میکنید، به منظور بررسی quota میتوانید از دستور زیر استفاده نمایید.
repquota -a
چنانچه quota در سیستم عامل پیکربندی نشده باشند، دستور بالا هیچ خروجی را بر نمیگرداند:
اگر چنین بود، شما باید پشتیبانی quota را فعال کنید.
بدین منظور فایل /etc/fstab را ویرایش کرده و usrquota و grpquota را (در لینوکس) در کنار پارتیشن مورد نظر برای فعال سازی quota اضافه نمایید.
یک مثال /etc/fstab از CentOS 7 به صورت زیر است:
# cat /etc/fstab
/dev/mapper/vg_s4-lv_home /home ext4 defaults,usrquota,grpquota 1 2
پارتیشن ویرایش شده را که در آن quota فعال شده است، مجدداً mount کنید:
mount -o remount /home
پس از آن، با استفاده از دستور زیر، مجدداً quota را برای پارتیشن مورد نظر بررسی نمایید.
repquota "/home"
هنگامیکه برنامه repquota یک مقدار عادی را برمیگرداند، شما میتوانید دستور زیر را اجرا کنید تا مصرف صحیح را برای نمایش در DirectAdmin دریافت نمایید:
cat /proc/mounts | grep " /home "
نحوه فعال کردن پشتیبانی quota در XFS
سیستم فایل xfs با ext4 قبلی متفاوت است. اگر به تنظیم quota در یک پارتیشن نیاز دارید، ادامه مقاله را مطالعه نمایید.
در اینجا، grpquota را با pquota (یعنی quotaهای پروژه) جایگزین میکنیم که به DA اجازه میدهد تا quotaهای دایرکتوری را برای مواردی مانند اعمال Disk quota در هر دامنه تنظیم کند.
به منظور تأیید تنظیماتی که دارید، دستور df را اجرا نمایید. به عنوان مثال،
# 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
همانطور که میبینید، /home یک پارتیشن نیست، بلکه در زیر پارتیشن / قرار گرفته است و ما باید اطمینان حاصل کنیم که quotaها در پارتیشن / کاربردی هستند.
سپس با استفاده از دستور زیر تأیید نمایید که / در واقع از سیستم فایل XFS استفاده میکند:
# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
اگر "noquota" را در گزینههای xfs mount برای پارتیشن / میبینید، به صورت زیر عمل کنید.
از آنجایی که "noquota" یک گزینه پیش فرض mount کردن هسته (kernel) است، باید آن را در گزینههای بوت هسته (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" از بین رفته است، به عنوان مثال،
# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,prjquota
)
اکنون باید بتوانید usrquota ,prjquota (یا uquota ,pquota، آنها یکسان هستند) را ببینید.
اگر آنها را نمیبینید، با راهنمای تنظیم quota استاندارد، به پارتیشن / اضافه کنید.
اطمینان حاصل نمایید که در directadmin.conf دایرکت ادمین، xfs quota فعال شده است:
cd /usr/local/directadmin
./directadmin c | grep use_xfs_quota
اگر کاربرانی در DA دارید، میتوانید محدودیتهای سهمیه حافظه آنها را بازنشانی کنید تا اطمینان حاصل نمایید که محدودیتهای مصرف دیسک شما اعمال میشوند؛ در واقع با این کار، اطلاعات جدید مصرف کاربران محسابه خواهد شد:
echo "action=rewrite&value=quota" >> /usr/local/directadmin/data/task.queue
منبع:
directadmin
0 دیدگاه
نوشتن دیدگاه