الـحصة أو ما يُعرف بإسم الـ quota، أعتقد أنه لا غنى عنها لأى مدير نظام، فماذا تعنى وكيف يمكننى أن أستخدمها ؟ أولاً الحصة أو الـ quota هى عبارة عن قيود أقوم بوضعها على مُستخدم معين أو حتى مجموعة كاملة، لذلك الـ quota يمكن تطبيقها على كلاً من الـمستخدمين الفرديين، أو المجموعات أيضًا، فأحيانًا نود تحديد مساحة معينه لمستخدم معين لا يمكنه تجوازها نهائيًا، أو فرض قيد معين على مجموعه معينه، لذلك نلجأ إلى إستخدام ما يُعرف بإسم الـ quota.
أولاً :: تثبيت حزمة الـ RPM quota على النظام وللتأكد من تثبيتها بشكل صحيح
كود:
rpm -qa | grep quota
ثانيًا :: التعديل على ملف fstab
يجب التعديل على ذلك الملف حتى يمكننا استخدام الـ quota على ملف نظام معين، والتعديل يكون بأحد الطريقتين، إما اضافة
usrquota : وبالتالى قد أخبرنا النظام بذلك الخيار أننا سوف نقوم بتطبيق الحصص على المستخدمين فقط
grpquota : هنا أخبرنا اللنظام أننا سوف نقوم بتطبيق الحصص على المجموعات فقط على ملف النظام ذلك.
وبالطبع يمكن اختيار الخيارين معًا، لنعبر بذلك على استخدام الـ quotas على كلاً من المستخدمين والمجموعات، وتتم إضافة تلك الخيارات فى العمود الخاص بخيارات الـ mount، ويكون شكل السطر بعد التعديد هكذا
كود:
/dev/sdc1 /opt/company_data ext4 defaults,usrquota,grpquota 1 2
ثالثًا :: إعادة عمل mount لذلك الملف هكذا
كود:
mount -o remount /mnt/exmple
حيث الـ /mnt/example هو الـ mount point الخاصة بملف النظام خاصتى.
رابعًا :: إنشاء الملفات اللازمة للتعامل مع الـ quotas
وهما ملف
aquota.user : والذى يمكننا من التحكم فى الحصص الخاصة بالمستخدمين الفرديين
aquota.group : والذى يمكننا من التحكم فى الحصص الخاصة بالمجموعات
ولعمل ذلك وإنشاء ذلك الملفين (وبالطبع هذا لو كنا قد حددنا فى ملف /etc/fstab الخيارين usrquota و grpquota) نقوم بكتابة الآتى
كود:
quotacheck -ugm /mnt/example
وللتأكد من أن الملفين قد تم إنشائهما نقوم بكتابة الآتى، وتكون النتيجة كما هو مُوضح
كود:
-rw-------. 1 root root 6144 Sep 18 17:07 aquota.group
-rw-------. 1 root root 6144 Sep 18 17:07 aquota.user
خامسًا :: تفعيل الـ quota على ملف النظام الذى سوف نعمل عليه
كود:
quotaon /mnt/example
سادسًا :: ما هو الـ hard limit والـ soft limit
الـ hard limit أو كما يُسمية البعض hard block limit
وهى أقصى مساحه يمكن أن يستغلها المستخدم ولا يمكن تخطيها، فإذا وصل المستخدم إلى نهائتها، لن يستطيع إضافة أى مساحه إضافية لها
الـ soft limit أو كما يُسمية البعض soft block limit
تُعتبر مثل الـ hard limit بالضبط ولكن مع إمكانية اضافة فترة سماح فى حالة تجاوز المستخدم المساحة المسموح بها، وبخصوص فترة السماح يجب على المستخدم خلال فترة السماح مسح الملفات الزائدة والرجوع إلى المساحه التى حددتها له وه soft limit
وبالطبع الذى يحدث دائمًا، أقوم بتحديد soft limit وتحديد فترة السماح له (يمكن تحديدها بالثوانى، الدقائق، اليوم، الشهر) ولتكن يومان فإذا تخطى المستخدم الـ soft limit وهو مازال فى فترة السماح لا يمكنه مهما حدث أن يتخطى الـ hard limit، لذلك عند تحديد فترة السماح يجب تحديد الـ hard limit، وإن لم يتم تحديد فترة السماح، أصبحت الـ soft limit، هى أقصى مساحه لا يمكن أن يتجاوزها المستخدم.
سابعًا :: تحديد الـ quatas للمستخدمين
لتحديد الـ quotas للمستخدمين نقوم بتنفيذ الآتى
كود:
edquota -u <user-name>
وهنا يظهر لنا الملف aquota.user الذى يمكن تحديد جميع القيود من خلاله، هكذا
كود:
Filesystem blocks soft hard inodes soft hard
/dev/sdc1 0 0 0 0 0 0
وهنا هفرض أنى أريد تحديد الآتى:
الـ hard limit حوالى 100 ميجا
الـ soflimit حوالى 50 ميجا
فيكون الملف بعد التعديل هكذا
كود:
Filesystem blocks soft hard inodes soft hard
/dev/sdc1 0 50000 100000 0 0 0
ثامنًا :: تحديد فترة السماح
لتحديد فترة السماح نقوم بكتابة الآتى فيظهر لنا الآتى
كود:
Filesystem Block grace period Inode grace period
/dev/sdc1 7days 7days
نقوم بتحديد block grace period كما نريد، سواء minutes, hours, days.
ونحفظ اللمف ونقوم بالخروج.
وهنا نكون قد وصلنا إلى آخر الشرح، أسأل الله أن يجعله فى ميزان حسناتى، وأن ينفعه