خانه هاست و میزبانی وب رفع خطای Quota در دایرکت ادمین: ۶ روش کاربردی (۲۰۲۵)
تاریخ به‌روزرسانی : 1401/11/18
به قلم : شهاب بیرامی
زمان مطالعه : 5 دقیقه

رفع خطای Quota در دایرکت ادمین - راهنمای کامل ۲۰۲۵

📌 خلاصه مطلب (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
✅ نکته: این دستورات باید با دسترسی root اجرا شوند.

روش ۳: محاسبه مجدد 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 این خطا را می‌گیرید:

  1. بررسی فضای واقعی:
    du -sh /home/username/
    quota -u username
    
  2. پاک‌سازی فایل‌های موقت:
    rm -rf /home/username/tmp/*
    rm -rf /home/username/.trash/*
    
  3. بررسی لاگ‌های قدیمی:
    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 معمولاً با چند دستور ساده قابل رفع است. مهم‌ترین نکات:

  1. ابتدا مطمئن شوید quota در سیستم فعال است
  2. دستور quotacheck را برای repair اجرا کنید
  3. Tally را در DirectAdmin rebuild کنید
  4. اگر فضا واقعاً پر است، فایل‌های غیرضروری را پاک کنید

اگر مشکل حل نشد، با پشتیبانی هاست تماس بگیرید.

منابع:

نظرات