~3 دقیقه مطالعه • بروزرسانی ۱۰ اسفند ۱۴۰۴
1. فضای دیسک چگونه محاسبه میشود؟
از نسخه 1.59.6 به بعد، DirectAdmin از متغیر زیر برای محاسبه فضای دیسک استفاده میکند:
realtime_quota=2
این مقدار باعث میشود DirectAdmin از سیستم Quota در سطح کرنل استفاده کند و مصرف را بهصورت لحظهای نمایش دهد.
مقادیر دیگر:
- realtime_quota=0 → محاسبه شبانه (tally)
- realtime_quota=1 → استفاده از دستور quota -v (کندتر)
- realtime_quota=2 → سریعترین حالت با quotactl
نکته: اگر پارتیشنها یا mountها را تغییر دادید، باید DirectAdmin را ریاستارت کنید تا لیست mount جدید بارگذاری شود.
---2. چرا مصرف دیسک بیشتر از حد مجاز نمایش داده میشود؟
دلایل اصلی:
1. تفاوت Soft Limit و Hard Limit
Hard Limit معمولاً 1.1 برابر مقدار تعیینشده در DirectAdmin است تا فضای موقت برای فایلهای بزرگ وجود داشته باشد.
میتوانید آن را به 1.0 کاهش دهید.
2. فایلهایی که تحت سیستم Quota نیستند
DirectAdmin این فایلها را حساب میکند اما سیستم Quota آنها را محدود نمیکند:
- دیتابیسهای MySQL
- فایلهای متعلق به apache
- دادههای mailing list
به همین دلیل ممکن است مصرف واقعی بیشتر از حد مجاز باشد.
---3. DirectAdmin چه نوع پهنای باندی را محاسبه میکند؟
DirectAdmin فقط پهنای باندی را محاسبه میکند که بتوان آن را به یک User نسبت داد. بنابراین مقدار نمایشدادهشده همیشه کمتر از مصرف واقعی دستگاه است.
DirectAdmin محاسبه میکند:
- Apache: تمام ترافیک دامنهها
- FTP: آپلود و دانلود
- Outgoing Email: ایمیلهای خروجی قابل شناسایی
- Incoming Email: ایمیلهای ورودی معتبر
- POP/IMAP (با dovecot)
- Backup FTP (قابل غیرفعالسازی)
DirectAdmin محاسبه نمیکند:
- ترافیک اسکریپتها (مثل curl/wget داخل PHP)
- دستورات SSH مثل wget
- آپدیتهای سیستم (yum/apt)
- DNS (named)
- پینگ و ترافیک سطح پایین
4. پهنای باند ریسلر (DirectAdmin v1.595+)
DirectAdmin اکنون پهنای باند کاربران حذفشده را نیز برای ریسلر ذخیره میکند:
deleted_user_bandwidth=123456
این مقدار در فایل زیر ذخیره میشود:
/usr/local/directadmin/data/users/RESELLER/bandwidth.reseller.tally
در پایان ماه، این فایل برای کاربران حذفشده پاکسازی میشود.
---5. ارسال هشدار Overusage
DirectAdmin هنگام نزدیک شدن به محدودیتها هشدار ارسال میکند.
قالبهای هشدار:
/usr/local/directadmin/data/templates/user_limit.txt/usr/local/directadmin/data/templates/reseller_limit.txt
توکنهای مهم:
- BANDWIDTHUSAGEGIG
- BANDWIDTHLIMITGIG
- QUOTAUSAGEGIG
- QUOTALIMITGIG
- INODEUSAGE
- INODELIMIT
- REASON=quota|bandwidth|inode
آستانه هشدار (درصد):
user_warning_thresh=80
user_warning_thresh_disk=95
user_warning_thresh_inode=95
---
6. اسکریپتهای Pre/Post برای هشدارها
برای اجرای اسکریپت قبل یا بعد از ارسال هشدار:
قبل از ارسال:
/usr/local/directadmin/scripts/custom/overusage_notice_pre.sh
بعد از ارسال:
/usr/local/directadmin/scripts/custom/overusage_notice_post.sh
متغیرهای محیطی شامل:
- USERNAME
- BANDWIDTH
- QUOTA
- TIMELEFT
- SUSPENDATLIMIT
- CREATOR
7. غیرفعال کردن هشدارها برای حسابهای Suspend شده
DirectAdmin از این متغیرها در user.conf استفاده میکند:
sentwarning_bandwidth=yes|no
sentwarning_inode=yes|no
sentwarning_quota=yes|no
اگر حساب Suspend شود، هشدارها ارسال نمیشوند.
---8. گزارش پهنای باند ماههای گذشته
DirectAdmin قبل از ریست ماهانه، فایل bandwidth.tally.cache را در مسیر زیر ذخیره میکند:
/usr/local/directadmin/data/users/username/history/YYYY-MM.log
این فایلها از طریق بخش User History قابل مشاهده هستند.
API نیز از این قابلیت پشتیبانی میکند:
CMD_API_BANDWIDTH_BREAKDOWN&year=2024&month=9
نوشته و پژوهش شده توسط دکتر شاهین صیامی