با Disk Quota مدیران می توانند برای هر کاربر، یا هر گروهی از کاربران، استفاده از فضای دیسک را سهمیه بندی کند. Disk Quota می تواند برای هر کاربر، یا برای گروهی از کاربرا تنظیم شود. معمولن مدیران از Disk Quota استفاده می کنند تا فضای مجاز به استفاده هر کاربر از دایرکتوری خانگی و Mail Spool خودش را داشته باشد. Disk Quota راهکاری است که توسط آن کاربران با توجه به مسوئلیت شان، میزان فضایی را دریافت می کنند. Disk Quota می تواند به روی تعداد Block ها و یا بر روی تعداد Inode ها پیکربندی شود. پیکربندی Disk Quota را می توان به صورت زیر بیان کرد :
پیکربندی Disk Quota می تواند برای هر کار، یا برای گروهی از کاربران انجام شود.
پیکربندی Disk Quota می تواند بر اساس تعداد بلاک ها باشد. یعنی اینکه کاربران چه میزان فضا می تواند داشته باشد. یا اینکه Disk Quota می تواند بر حسب تعداد Inode ها باشد. یعنی اینکه کاربر (یا گروهی از کاربران) چه تعداد فایل می تواند ایجاد کند. توجه داشته باشید در تمامی سیستم عامل های مبتنی بر یونیکس، همه چیز فایل است، حتی دایرکتوری ها و یا Device ها.
پیکربندی Disk Quota به صورت مجزا روی هر پارتیشن، پیاده سازی می شود.
باید بررسی کنیم که آیا نسخه کرنل نصب شده روی سیستم قابلیت پشتیبانی از Disk Quota را دارد؟ برای اینکه بفهمیم که آیا کرنل از Disk Quota پشتیبانی می کند، دستور زیر را اجرا کنید.
باید به جای YOUR_KERNEL_VERSION، نسخه کرنل سیستم خودتان را قرار دهید. نسخه کرنل سیستم من، 2.6.32.71 است و از دستور زیر را اجرا کرده ام.
همچنین باید بسته های لازم (دستور های لازم) برای ایجاد و مدیریت Disk Quota روی سیستم نصب شده باشند. من از CentOS 6 (یا هر توزیع مبتنی بر Redhat 6) استفاده می کنم و بطور پیش فرض تمامی بسته های لازم نصب شده اند.
برای پیکربندی Disk Quota روی هر کدام از پارتیشین ها، باید خط مربوط به آن پارتیشین را، از فایل etc/fstab/ ویرایش کنیم. برای فعال کردن User Disk Quota باید گزینه usrquota و برای فعال کردن Group Disk Quota باید گزینه grpquota را به ستون چهارم اضافه کنیم. مانند خط زیر :
سپس باید پارتیشنی را که روی آن Quota را فعال کرده اید، Remount کنید. این توسط سوئیچ o- و آرگومان remount در دستور mount انجام می شود.
مانند خط زیر :
پس از اینکه Quota روی سیستم فایل ها (پارتیشین ها) فعال و آن سیستم فایل را remount شد، پارتیشن آماده کار کردن با Disk Quota می باشد. گام بعدی اجرای دستور quotacheck است. این دستور سیستم فایل را بررسی می کند و میزان مصرفی دیسک و سپس یک جدول از میزان مصرفی از دیسک را ایجاد می کند. دو فایل توسط این دستور در زیر هر پارتیشینی که Quota را روی آن فعال کردیم به نام های aquota.user و aquota.group ایجاد می شوند. برای ایجاد این فایل ها از سوئیچ c- و برای بررسی User Quota از سوئیچ u- و برای بررسی Group Quota از سوئیچ g- استفاده می شود. اگر هیچکدام از سوئیچ های u- و g- مشخض نشده باشند، پس تنها User Quota ایجاد می شود و اگر تنها سوئیچ g- مشخص شده باشد، تنها Group Quota ایجاد می شود. فرمت کلی دستور به صورت زیر است.
پس از اینکه این دوفایل در زیر پارتیشین مربوطه، ایجاد شدند باید دستور زیر را اجرا کنیم. این دستور جدولی از فضای استفاده شده از دیسک را ایجاد می کند.
پس از اجرای دستور بالا، باید تنظیمات Quota را بر حسب کاربر یا گروهی از کاربران، انجام دهید. این کار توسط یکی از دستور های edquota و یا setquota انجام می شود. اگر می خواهید به ازای هر کاربر Quota را تنظیم کنید از دستور زیر استفاده کنید.
اولین دستور بالا تنها برای یک کاربر، فایل را ویرایش می کند و دومین دستور با استفاده از سوئیچ p- برای چندین کاربر، همزمان تنظیمات را انجام می دهد. و یا اگر می خواهید تنظیمات را برای یک گروه انجام دهید، از دستور های زیر استفاده کنید.
با اجرای دستور edquota برای یک کاربر یا گروهی از کاربران، فایلی مطابق شکل زیر باز می شود.اولین ستون پارتیشینی که Disk Quota روی آن فعال شده است را نشان می دهد. این فایل شامل تنظیمات تعداد بلاک ها (میزان فضای مصرفی از حجم دیسک که به کاربر یا گروه اختصاص داده می شود.) و تعداد Inode های اختصاص داده شده به کاربر یا گروهی از کاربران که تعداد فایل های است که کاربر می تواند ایجاد نماید. اعداد زیر ستون های blocks و inodes توسط سیستم ایجاد شده اند و نباید آنها را تغییر داد.عدد زیر blocks نشان دهنده تعداد بلاک هایی است که کاربر تا به حال استفاده کرده است و عدد زیر inodes تعداد فایل ها (و دایرکتوری هایی) است که کاربر ایجاد نموده است. (یعنی فایل ها و دایرکتوری هایی که کاربر مالک آنها است).

هم برای Blocks Limit و هم برای Inodes Limit محدودیت های Soft و Hard وجود دارد :
soft limit : حداکثر میزان استفاده از دیسک را که کاربر یا گروهی از کاربران مجاز هستند را مشخص می کند.
hard limit : میزان مطلق و قطعی استفاده از دیسک را برای کاربر یا گروهی از کاربران مشخص می کند.
soft limit حتما باید مشخص شود ولی تعیین hard limit اختیاری است. مقدار soft limit نشان می دهد کاربر به چه میزان مجاز به استفاده از فضای دیسک یا ایجاد فایل می باشد و در صورتی که hard limit نیز مشخص شود (که مقداری بزرگتر از soft limit است)، تا یک مدت زمانی کاربر می تواند تا رسیدن به مقدار hard limit از فضای دیسک استفاده نماید و به محض رسیدن به مقدار hard limit، به هیچ عنوان مجاز به استفاده از فضای دیسک نمی باشد. (absolute limit on the disk). عدد صفر زیر ستون های soft و limit یعنی اینکه هیچ محدودیتی وجود ندارد.
با استفاده از دستور زیر یک گزارش از Quota تنظیم شده، می توانید ببینید.
نویسنده نامی امیر
پیکربندی Disk Quota می تواند برای هر کار، یا برای گروهی از کاربران انجام شود.
پیکربندی Disk Quota می تواند بر اساس تعداد بلاک ها باشد. یعنی اینکه کاربران چه میزان فضا می تواند داشته باشد. یا اینکه Disk Quota می تواند بر حسب تعداد Inode ها باشد. یعنی اینکه کاربر (یا گروهی از کاربران) چه تعداد فایل می تواند ایجاد کند. توجه داشته باشید در تمامی سیستم عامل های مبتنی بر یونیکس، همه چیز فایل است، حتی دایرکتوری ها و یا Device ها.
پیکربندی Disk Quota به صورت مجزا روی هر پارتیشن، پیاده سازی می شود.
باید بررسی کنیم که آیا نسخه کرنل نصب شده روی سیستم قابلیت پشتیبانی از Disk Quota را دارد؟ برای اینکه بفهمیم که آیا کرنل از Disk Quota پشتیبانی می کند، دستور زیر را اجرا کنید.
کد PHP:
grep CONFIG_QUOTA /boot/config-YOUR_KERNEL_VERSION
کد PHP:
grep CONFIG_QUOTA /boot/config-2.6.32-71.el6.x86_64
OUTPUT
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
کد PHP:
rpm -qa | grep quota
OUTPUT
quota-3.17-10.el6.x86_64
کد PHP:
dev/VolGroup00/LogVol02 /home ext3 defaults,usrquota,grpquota 1 2/
کد PHP:
mount -o remonunt MOUNT_POINT
کد PHP:
mount -o remount /home
کد PHP:
quotacheck -cug MOUNT_POINT
کد PHP:
quotacheck -cug /home
کد PHP:
quotacheck -avug
کد PHP:
edquota -u USERNAME
OR
کد PHP:
edquota -up USERNAME1 USERNAME2 … USERNAMEn
کد PHP:
edquota -g GROUP
OR
کد PHP:
edquota -gp GROUP1 GROUP2 … GROUPn
کد PHP:
edquota amir
کد PHP:
edquota -u amir
هم برای Blocks Limit و هم برای Inodes Limit محدودیت های Soft و Hard وجود دارد :
soft limit : حداکثر میزان استفاده از دیسک را که کاربر یا گروهی از کاربران مجاز هستند را مشخص می کند.
hard limit : میزان مطلق و قطعی استفاده از دیسک را برای کاربر یا گروهی از کاربران مشخص می کند.
soft limit حتما باید مشخص شود ولی تعیین hard limit اختیاری است. مقدار soft limit نشان می دهد کاربر به چه میزان مجاز به استفاده از فضای دیسک یا ایجاد فایل می باشد و در صورتی که hard limit نیز مشخص شود (که مقداری بزرگتر از soft limit است)، تا یک مدت زمانی کاربر می تواند تا رسیدن به مقدار hard limit از فضای دیسک استفاده نماید و به محض رسیدن به مقدار hard limit، به هیچ عنوان مجاز به استفاده از فضای دیسک نمی باشد. (absolute limit on the disk). عدد صفر زیر ستون های soft و limit یعنی اینکه هیچ محدودیتی وجود ندارد.
با استفاده از دستور زیر یک گزارش از Quota تنظیم شده، می توانید ببینید.
کد PHP:
repquota -a
نویسنده نامی امیر