سهمیه بندی دیسک سخت در لینوکس

در این مقاله منظور از کمبود منابع , کمیود فضای دیسک سخت می باشد ; که ممکن است این کمبود بر روی یک سیستم خانگی با چند کاربر تا یک سرور با چندین هزار کاربر وجود داشته باشد.در این وضعیت هر مدیر سیستم یا شبکه ای تصمیم می گیرد تا کابران خود را با محدودیت مواجه کند و در اصطلاح منابع سیستم را بنا به موارد استفاده هر کدام سهمیه بندی کند.
سهمیه بندی دیسک سخت را می توان برای یک کاربر به تنهایی یا برای یک گروه کاربری تعیین و تنظیم کرد.
بسته ی مورد استفاده در لینوکس برای اعمال سهمیه بندی quota می باشد.

نوع سهمیه بندی در لینوکس به 2 دسته تقسیم می شود :

  1. سهمیه بندی مقدار فضا
  2. سهمیه بندی تعداد فایل ها و دایرکتوری ها

مراحل نصب و تنظیم سهمیه بندی

  • در مرحله اول می بایست بررسی کنیم که آیا هسته از سهمیه بندی دسیک سخت پشتیبانی می کند یا خیر.

معمولا این ویژگی در اکثر توزیع ها پشتیبانی می شود.

[root@localhost ~]#dmesg | grep quota
 VFS: Disk quotas dquot_6.5.1

اگر جواب بدین صورت باشد , بدین معناست که هسته از سهمیه بندی دیسک سخت پشتیبانی می کند , در غیر اینصورت باید هسته را مجدد کامپایل کرد.

  • مرحله دوم نصب ابزار سهمیه بندی می باشد :

در لینوکس های بر پایه دبین :

[root@localhost ~]#apt-get install quota

در لینوکس های بر پایه ردهت :

[root@localhost ~]#yum install quota
  • مرحله سوم تنظیم پارتیشن های مورد نظر برای سهمیه بندی می باشد :

در این مرحله باید گزینه های usrquota برای سهمیه بندی کاربران و grpquota را برای سهمیه بندی گروه ها در option های مربوط به پارتیشن مورد نظر در etc/fstab/ اضافه کنیم :

[root@localhost ~]#nano  /etc/fstab
/dev/sda1 / ext3 defaults,errors=remount-ro,usrquota,grpquota 0  1
 

برای مشاهده تصویر در سایز واقعی بر روی آن کلیک کنید
  • مرحله چهارم فعال کردن پارتیشن های مورد نظر برای سهمیه بندی از طریق فعال کردن فایل های دیتابیس بعد از اضافه کردن تنظیمات بالا می باشد.

پارتیشن ها را بدین طریق برای سهمیه بندی فعال می کنیم :
در لینوکس های بر پایه دبین :

[root@localhost ~]#/etc/init.d/quota restart

برای فعال کردن سهمیه بندی بر روی پارتیشن ریشه , حتما باید سیستم را restart کنید.
اولین باری که مراحل بالا را انجام دهید , 2 فایل به نام های aquota.user و aquota.group بر روی پارتیشن های مورد نظر ایجاد می شود.

در لینوکس های بر پایه ردهت :
ابتدا پارتیشن را در صورت mount بودن , از این حالت خارج و دوباره mount می کنیم.

[root@localhost ~]#umount /etc/sda1
 [root@localhost ~]#mount –a

نکته :
برای پارتیشن ریشه از آنجایی که امکان umount وجود ندارد , باید سیستم را restart کرد.

سپس برای ایجاد فایل های سهمیه بدین طریق عمل می کنیم :

[root@localhost ~]#quotacheck -cugm /

بعد از اینکه فایل ها ساخته شد , دستور زیر را جهت ساختن جدول میزان استفاده از دیسک بر اساس سیستم فایل هایی که سهمیه بندی برای آنها فعال شده است , اجرا میکنیم :

[root@localhost ~]#quotacheck -avug

گزینه “a” تمام پارتیشن هایی که سهمیه بندی برای آنها فعال شده است را بررسی می کند.
گزینه “u” اطلاعات سهمیه دیسک کاربران را بررسی می کند.
گزینه “g” اطلاعات سهمیه دیسک گروه ها را بررسی می کند.
گزینه “c” هم فایل های سهمیه را ایجاد می کند.

و بلاخره

[root@localhost ~]#quotaon /
(با تشکر از سید محسن سعیدی برای تذکری که دادن در این مورد)
  • در مرحله پنجم نوبت به اختصاص سهمیه کاربران و گروه ها می رسد :

با استفاده از ابزار edquota می توانیم برای کاربران و گروه ها سهمیه تعیین کنیم.

edquota [-ug] name

Uجهت ایجاد سهمیه برای کاربران
G برای ایجاد سهمیه برای گروه ها استفاده می شود.

برای مثال :

[root@localhost ~]#edquota   -u  reza

این مرحله نشانه موفق آمیزبودن انجام مراحل قبلی می باشد.

با اجرای این دستور ادیتور پیش فرض همراه با اطلاعاتی در مورد سهمیه کاربر رضا باز شده و می توانیم ازطریق آن سهمیه بندی را اعمال کنیم.(شکل زیر)

همانطور که در ابتدا اشاره کردیم و در شکل هم قابل مشاهده است , دو نوع سهمیه بندی قابل انجام است :

  1. محدودیت مقدار فضای قابل استفاده که با blocks مشخص می شود.(واحد مورد استفاده block می باشد که برابر با 1024 بایت یا 1 کیلوبایت می باشد.)
  2. محدودیت تعداد فایل ها و دایرکتوری ها که با inodes مشخص می شود.

عددهایی که در زیر blocks و inodes درج شده است , مقدار استفاده فعلی را نشان می دهد.

محدودیت های بالا در 2 سطح صورت می پذیرد :

  1. Soft
  2. Hard

هارد حداکثر مقدار استفاده بصورت قطعی را تعیین می کند.برای مثال اگر برای کابر رضا مقدار 2 مگابایت فضا در نظر گرفته شود , این کاربر نمی تواند از این مقدار تحت هیچ شرایطی تجاوز کند.
سافت حداکثر مقدار استفاده را نشان می دهد که برخلاف هارد بصورت مطلق نیست و کابر می تواند در یک دوره زمانی مشخص (پیش فرض 7 روز می باشد) از این مقدار تجاوز کند.این دوره زمانی را دوره رشد یا grace period می نامند.

مقدار صفر برای Soft&Hard به معنای استفاده بدون محدودیت می باشد.

دوره رشد می تواند بر اساس روز , ساعت , دقیقه و ثانیه تنظیم شود.برای تنظیم آن بدین صورت عمل می کنیم :

[root@localhost ~]#edquota –t
  • مرحله ششم و آخر مربوط به گزارش گیری از سهمیه بندی می باشد.

برای گزارش گیری در لینوکس از 2 ابزار دستور استفاده می کنیم :

  • Quota
  • Repquota

برای مشاهده لیست پارامترها بهمراه کاربرد هر کدام از دستورات بالا , می توانید دستورات را با پارامتر help– استفاده کنید.در اینجا به مهمترین این پارامترها می پردازیم.

دستور quota برای مشاهده سهمیه اعمال شده به کاربران و گروه ها بصورت انفرادی استفاده می شود.

quota [-ug] name

g اطلاعات سهمیه بندی گروه و
u اطلاعات سهمیه بندی کاربر را نشان می دهند.


دستور repquota اطلاعات کلی تر از سهمیه بندی در اختیار ما قرار می دهد.

[root@localhost ~]#repquota  [-vug]  -a | /filesystem
 
u گزارش از سهمیه تعریف شده برای تمامی کاربران
g گزارش از سهمیه تعریف شده برای تمامی گروه ها
a گزارش از تمام فایل سیستم هایی که سهمیه بندی آنها در فایل fstab فعال شده است.

 

 

 

هاست لینوکس خرید هاست لینوکس خرید سرور مجازی خرید هاست لینوکس ارزان