يسمح نظام الحصص التخزينية (Quotas) بتحديد مساحة القرص المخصصة لمستخدم ما أو لمجموعة من المستخدمين. لإعداد هذا النظام، يجب أن تملك نواة تدعمه (تمت ترجمتها مع الخيار CONFIG_QUOTA
) — كما هي حال نوى دبيان. أما برمجيات إدارة الحصص التخزينية فتجدها في الحزمة quota.
لتفعيل الحصص التخزينية على نظام ملفات معين، عليك أن تضيف الخيارين usrquota
وgrpquota
في /etc/fstab
لتفعيل حصص المستخدمين والمجموعات، على الترتيب. بعدها سوف تُحَدِّث عملية إعادة إقلاع الحاسوب الحصص التخزينية في حال غياب نشاط القرص (شرط ضروري لحساب المساحة المستهلكة مسبقاً بشكل صحيح).
يسمح لك الأمر edquota user
(أو edquota -g group
) بتعديل الحد التخزيني للمستخدم (أو المجموعة) أثناء عملية فحص الاستهلاك الحالي لمساحة القرص.
يسمح لك نظام الحصص بتحديد أربعة حدود:
اثنان (يسميان ”مرن – soft“ و ”قاس – hard“) يشيران إلى عدد الكتل التخزينية المستهلكة. إذا أُنشِئ نظام الملفات بكتل حجمها 1 كيبي بايت، فإن كل كتلة ستحوي 1024 بايت من ملف وحيد. لذلك تسبّب الكتل غير المشبعة خسارة في مساحة القرص. فالحصة التي تحوي 100 كتلة، والتي تسمح نظرياً بتخزين 102,400 بايت، سوف تمتلئ عند تخزين 100 ملف فقط حجم كل منها 500 بايت، أي 50,000 بايت في المجمل.
واثنان (soft و hard) يشيران لعدد عقد inode المستخدمة. يشغل كل ملف عقدة inode واحدة على الأقل لتخزين معلومات عنه (الصلاحيات، المالك، تاريخ ووقت آخر وصول، الخ). أي أنهما يقيدان عدد ملفات المستخدم.
يمكن تجاوز الحدود ”المرنة“ بشكل مؤقت؛ حيث ينبه المستخدمون فقط إلى أنهم يتجاوزون الحصة التخزينية وذلك عبر الأمر warnquota
، الذي يستدعى عادة باستخدام cron
. أما الحدود ”القاسية“ فلا يمكن تجاوزها أبداً: إذ يرفض النظام أي عملية تسبب تجاوز الحصة التخزينية القاسية.
يمكنك باستخدام الأمر edquota -t
، تعريف ”فترة سماح“ أعظمية يسمح خلالها تجاوز القيود المرنة. بعد انقضاء هذه المهلة، سوف تعامل قيود المرنة على أنها قيود قاسية، وسيضطر المستخدمون لتقليص استهلاكهم للمساحة التخزينية إلى ما دون الحد المفروض قبل أن يتمكنوا من كتابة أي شيء على القرص الصلب.