سرور ساعتی ایران و خارج + تست رایگان

راهکار خطای xfs_quota: cannot set limits در دایرکت ادمین

در مرکز محتوای سرور دات آی آر

گاها ممکن است در ایجاد یک یوزر در دایرکت ادمین یا در هنگام ریستور یک بک آپ در دایرکت ادمین با خطای “xfs_quota: cannot set limits: Function not implemented” مواجه شوید.

این خطا به این معنی می باشد که دایرکت ادمین درحال تلاش برای تخصیص فضا برای یک فایل سیستم از نوع XFS می باشد. حالا برای رفع مشکل ابتدا کامند زیر را در سرور وارد کنید تا متوجه شوید از چه نوعی ( XFS یا EXT4) درحال استفاده هستید:

mount | grep ' /home '

در کامند بالا ما پارتیشن /home را بررسی کردیم. شما برحسب نیاز خود می توانید پارتیشن دیگری را بررسی کنید. برای مشاهده پارتیشن های سرور نیز می توانید از کامند df -h استفاده کنید.

مطابق تصویر بالا، سروری که ما در حال بررسی آن هستیم، نوع پارتیشن آن XFS است. اگر کامند شما فاقد خروجی بود، پارتیشن مدنظر خود را با / وارد کنید.

1)چنانچه سرور شما همانند تصویر بالا درحال استفاده از XFS است، لطفا در SSH سرور df -h بزنید:

[root@ ~]# 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/sh 
 tmpfs 921M              8.5M     912M          1%  /run 
 tmpfs 921M              0        921M          0%  /sys/fs/cgroup 
 /dev/sda1               497M     125M    372M  26% /boot

همانطور که مشاهده می کنید در لیست پارتیشن ها، /home نمایش داده نمی شود.

مجددا کامند mount | grep ‘ /home ‘ را بزنید. اگر در خروجی کامند، noquota را مشاهده می کنید، مراحل ذکر شده در ادامه را انجام دهید.

اگر در خروجی، noquota را نمی بینید، نیاز است استاندارد پارتیشن بندی را روی سرور خود ( با اضافه کردن uquota,pquota در آدرس /etc/fsab) انجام دهید. (ان شاالله در این مورد نیز مقاله خواهیم گذاشت).

اگر noquota را در XFS مشاهده می کنید، از آنجایی که noquota گزینه ی کرنل پیش فرض مونت کردن سیستم عامل می باشد، باید آنرا در Boot Options پیش فرض کرنل تغییر دهیم. ابتدا فایل زیر را باز کنید:

vi /etc/default/grub

در این فایل لاین GRUB_CMDLINE_LINUX را بیابید. این پارامتر مشابه تصویر زیر خواهد بود (ممکن است کاملا مشابه نباشد، جای نگرانی نیست!) :

لطفا به آخر این پارامتر، همانند تصویر زیر عبارت rootflags=uquota,pquota” را اضافه کنید.

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

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

در آخر نیاز است یک مرتبه سرور را ریبوت کنیم تا تغییرات توسط کرنل سیستم عامل شناسایی شود:

reboot

برای اطمینان از صحت تغییرات انجام شده، مجددا کامند mount | grep ‘ /home را بزنید تا اطمینان حاصل کنید که usrquota,prjquota یا uquota,pquota را در خروجی مشاهده می کنید. در این صورت تنظیمات به درستی انجام شده است.

کامند زیر را وارد کنید تا اطمینان حاصل کنید که دایرکت ادمین دارای XFS هست:

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

اگر قبلا یوزرهایی در دایرکت ادمین ایجاد کردید، با کامند زیر اطمینان حاصل کنید که آنها نیز از XFS استفاده می کنند:

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

2)در صورتیکه سرور شما در حال استفاده از EXT4 است، نیاز است به دایرکت ادمین دستور دهید که از این نوع استفاده نکند. برای این مورد وارد فایل زیر شوید:

vi /usr/local/directadmin/conf/directadmin.conf

و خط زیر را در آن اضافه کنید:

use_xfs_quota=0

سپس کامند زیر را وارد کنید تا سرویس دایرکت ادمین ریستارت شود و تغییرات را شناسایی کند:

service directadmin restart

انتقادات و پیشنهادات ارزشمند خود را در مقالات با ما به اشتراک بگذارید!

اشتراک گذاری در linkedin

به تیم متخصص ما اعتماد کنید!

تخفیف مخاطبین مرکز محتوا: Blog01

از کد Blog01 می‌تونید برای خرید اشتراک خدمات سرور مجازی و هاست استفاده کنید و از %10 تخفیف تو سفارش این خدمات بهره‌مند بشید!

محتوای مقاله مفید بود؟

0 0 رای ها
این مقاله چطور بود؟
اشتراک در
اطلاع از

0 دیدگاه
بازخوردهای آنلاین
مشاهده همه دیدگاه ها

به تیم متخصص ما اعتماد کنید!

تخفیف مخاطبین مرکز محتوا: Blog01

از کد Blog01 می‌تونید برای خرید اشتراک خدمات سرور مجازی و هاست استفاده کنید و از %10 تخفیف تو سفارش این خدمات بهره‌مند بشید!