
📌 خلاصه مطلب (TL;DR)
- خطای Quota چیست: محدودیت فضای دیسک که به حساب کاربری اختصاص داده شده
- علل رایج: فایلهای quota خراب، مالکیت نادرست فایلها، quota غیرفعال
- رفع سریع: دستور
quotacheck -avugmfو سپسquotaon -a - محاسبه مجدد:
echo "action=tally&value=all" >> /usr/local/directadmin/data/task.queue - نکته: دادههای MySQL در سیستم quota محاسبه نمیشوند (فقط در DirectAdmin)
خطای Disk Quota Exceeded یکی از رایجترین مشکلاتی است که کاربران DirectAdmin با آن مواجه میشوند. این خطا زمانی رخ میدهد که میزان استفاده از دیسک از حد مجاز عبور کند یا سیستم quota درست کار نکند. در این راهنما، تمام روشهای رفع خطای Quota در دایرکت ادمین را بررسی میکنیم.
Quota سیستم چیست؟
Disk Quota مقدار فضای دیسکی است که به هر حساب کاربری در سرور اختصاص داده میشود. DirectAdmin از دو نوع quota استفاده میکند:
- System Quota: محدودیت در سطح سیستمعامل (Linux)
- DirectAdmin Quota: محاسبه داخلی DirectAdmin (شامل MySQL)
این دو ممکن است متفاوت باشند چون MySQL data فقط در محاسبات DirectAdmin لحاظ میشود.
انواع خطاهای Quota در DirectAdmin
| خطا | علت احتمالی | راهحل |
|---|---|---|
| Quota = 0.0 | Quota غیرفعال یا خراب | فعالسازی و repair quota |
| Quota خیلی بالا | فایلهای با مالکیت اشتباه | تصحیح ownership |
| Disk quota exceeded (FTP) | پر شدن واقعی فضا | پاکسازی یا افزایش quota |
| Email quota exceeded | پر شدن فضای ایمیل | پاکسازی ایمیلها |
روش ۱: بررسی و فعالسازی Quota
بررسی پارتیشن Quota
ابتدا مسیر پارتیشن را بررسی کنید:
df -h
- اگر
/homeجداگانه mount شده → quota_partition =/home - اگر
/homeندارید → quota_partition =/
بررسی فعال بودن Quota
# برای ext3/ext4 cat /etc/fstab | grep quota # برای XFS mount | grep ' / '
اگر usrquota,grpquota (برای ext4) یا uquota,pquota (برای XFS) را نمیبینید، باید quota را فعال کنید.
فعالسازی Quota در fstab
# ویرایش /etc/fstab nano /etc/fstab # اضافه کردن usrquota,grpquota به خط پارتیشن /dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2
سپس سیستم را reboot کنید یا پارتیشن را remount کنید.
روش ۲: Repair و Rebuild کردن Quota
این روش برای رفع خرابی فایلهای quota استفاده میشود:
# خاموش کردن quota /sbin/quotaoff -a # بررسی و ساخت مجدد فایلهای quota /sbin/quotacheck -avugmf # روشن کردن quota /sbin/quotaon -a
روش ۳: محاسبه مجدد Tally در DirectAdmin
اگر اعداد DirectAdmin با واقعیت مطابقت ندارد، از این دستور استفاده کنید:
echo "action=tally&value=all" >> /usr/local/directadmin/data/task.queue
این دستور DirectAdmin را مجبور میکند تمام فضای استفاده شده را مجدداً محاسبه کند.
روش ۴: رفع مشکل مالکیت فایلها
گاهی فایلهایی که متعلق به کاربر دیگری هستند، به اشتباه در quota شما محاسبه میشوند. برای پیدا کردن این فایلها:
# پیدا کردن UID کاربر id username # پیدا کردن فایلهای متعلق به این UID در کل سیستم find / -user [UID]
فایلهایی که خارج از /home/username هستند ولی با این UID هستند، باید اصلاح شوند.
روش ۵: رفع خطای "Disk Quota Exceeded" در FTP
اگر هنگام آپلود FTP این خطا را میگیرید:
- بررسی فضای واقعی:
du -sh /home/username/ quota -u username
- پاکسازی فایلهای موقت:
rm -rf /home/username/tmp/* rm -rf /home/username/.trash/*
- بررسی لاگهای قدیمی:
du -sh /home/username/domains/*/logs/
روش ۶: رفع خطای Email Quota
اگر ایمیلها به دلیل quota دریافت نمیشوند:
# بررسی فضای ایمیل du -sh /home/username/imap/*/Maildir/ # پاکسازی ایمیلهای spam و trash rm -rf /home/username/imap/*/Maildir/.Spam/* rm -rf /home/username/imap/*/Maildir/.Trash/*
مقایسه روشهای رفع خطای Quota
| روش | زمان | سطح دسترسی | مناسب برای |
|---|---|---|---|
| Quotacheck | ۱-۵ دقیقه | root | خرابی فایلهای quota |
| Tally rebuild | ۵-۳۰ دقیقه | root | اعداد نادرست DA |
| پاکسازی فایل | فوری | user | پر شدن واقعی فضا |
| فعالسازی quota | نیاز به reboot | root | quota غیرفعال |
سوالات متداول (FAQ)
چرا Quota من ۰ نشان میدهد؟
معمولاً به دلیل غیرفعال بودن quota در سطح سیستم یا خرابی فایلهای quota است. دستور quotacheck -avugmf و سپس quotaon -a را اجرا کنید.
چرا Quota دایرکت ادمین با سیستم فرق دارد؟
دادههای MySQL فقط در DirectAdmin محاسبه میشوند و در system quota لحاظ نمیشوند. این طبیعی است و مشکلی ندارد.
آیا quotacheck سرویسها را قطع میکند؟
خیر، quotacheck فقط فایلهای quota را بررسی میکند و سرویسها را قطع نمیکند. اما بهتر است در ساعات کمترافیک اجرا شود.
چگونه quota یک کاربر خاص را افزایش دهم؟
از طریق پنل DirectAdmin به User Management بروید، کاربر را انتخاب کرده و مقدار Disk Quota را افزایش دهید. یا از command line: setquota -u username [soft] [hard] [soft] [hard] /home
XFS با ext4 در quota چه تفاوتی دارد؟
XFS از project quota (pquota) استفاده میکند که امکان quota در سطح دایرکتوری را میدهد. ext4 از usrquota/grpquota سنتی استفاده میکند. هر دو با DirectAdmin سازگار هستند.
🖥️ نیاز به هاست با فضای بیشتر دارید؟
برتینا هاستهای پرسرعت با DirectAdmin و فضای دلخواه ارائه میدهد.
جمعبندی
خطای Quota در DirectAdmin معمولاً با چند دستور ساده قابل رفع است. مهمترین نکات:
- ابتدا مطمئن شوید quota در سیستم فعال است
- دستور quotacheck را برای repair اجرا کنید
- Tally را در DirectAdmin rebuild کنید
- اگر فضا واقعاً پر است، فایلهای غیرضروری را پاک کنید
اگر مشکل حل نشد، با پشتیبانی هاست تماس بگیرید.
منابع:




