إدارة أجهزة التخزين بآليّة LVM على أوبونتو: إنشاء وإعادة تحجيم مساحة التخزين
يعد إدارة التخزين أحد المواضيع الأساسية في أنظمة التشغيل الحديثة، لا سيما عندما يتعلق الأمر بإدارة المساحات التخزينية الكبيرة والمتغيرة. من بين الحلول المتقدمة لإدارة التخزين في أنظمة Linux، برزت آلية Logical Volume Management (LVM) كأداة قوية ومرنة توفر للمستخدمين قدرة أكبر على تخصيص وإدارة مساحة التخزين بشكل ديناميكي. في هذا المقال، سنتناول كيفية إدارة أجهزة التخزين باستخدام آليّة LVM على نظام أوبونتو، بما في ذلك كيفية إنشاء وتخصيص وتوسيع وتقليص المساحة التخزينية، إضافة إلى بعض المفاهيم والممارسات الهامة المتعلقة بـ LVM.
مفهوم LVM (إدارة الحجم المنطقي)
قبل الخوض في التفاصيل الفنية، يجب أولاً فهم مفهوم LVM. LVM هو نظام لإدارة الأقراص الصلبة يسمح للمستخدمين بإنشاء وحدات تخزين مرنة وقابلة للتغيير. يوفر LVM عدة مزايا مقارنة بإدارة الأقراص التقليدية، مثل:
-
المرونة: يمكن إضافة أو تقليص المساحة التخزينية بسهولة.
-
إعادة التحجيم الديناميكي: يمكن زيادة أو تقليص حجم الأقسام دون الحاجة لإيقاف النظام.
-
إدارة أفضل للنسخ الاحتياطي: بفضل تقنيات مثل “النسخ اللحظي” (snapshot)، يمكن إدارة النسخ الاحتياطي بشكل أكثر فعالية.
-
التحكم في الأقراص: يمكن تجميع عدة أقراص في وحدة تخزين واحدة، مما يسهل إدارة المساحة وتوزيع البيانات.
يتألف نظام LVM من ثلاثة مكونات رئيسية:
-
Physical Volume (PV): وهو القرص الصلب أو الجزء من القرص الذي سيتم استخدامه في LVM.
-
Volume Group (VG): وهو مجموعة من الأقراص الفعلية (PV) التي تم دمجها معًا لتشكيل وحدة تخزين واحدة.
-
Logical Volume (LV): وهو الجزء الفعلي من المساحة التخزينية التي يتم تخصيصها للمستخدمين أو للأنظمة التشغيلية.
إعداد LVM على أوبونتو
يجب أولاً التأكد من أن النظام يحتوي على حزم LVM. يمكن تثبيت هذه الحزم عبر إدارة الحزم في أوبونتو باستخدام الأمر التالي:
bashsudo apt update sudo apt install lvm2
1. إنشاء Physical Volume (PV)
الخطوة الأولى هي تحديد القرص الذي تريد استخدامه مع LVM. يمكن فحص الأقراص المتاحة باستخدام الأمر lsblk أو fdisk -l:
bashlsblk
لنفترض أنك تريد إنشاء PV على قرص جديد مثل /dev/sdb. أولاً، تحتاج إلى تهيئة هذا القرص باستخدام الأمر pvcreate:
bashsudo pvcreate /dev/sdb
سيتم الآن تخصيص هذا القرص كـ Physical Volume داخل LVM.
2. إنشاء Volume Group (VG)
بعد أن تقوم بتحديد واحد أو أكثر من الأقراص كـ PV، يمكنك دمجها في وحدة تخزين واحدة تُسمى Volume Group. لإنشاء VG جديد، استخدم الأمر vgcreate كما يلي:
bashsudo vgcreate vg_data /dev/sdb
في هذا المثال، يتم إنشاء VG باسم vg_data باستخدام PV الذي تم إنشاؤه سابقًا.
3. إنشاء Logical Volume (LV)
الآن، يمكننا إنشاء Logical Volumes داخل Volume Group. Logical Volumes هي ما يمثل الأقسام التي سيتم استخدامها من قبل نظام التشغيل. لإنشاء LV، نستخدم الأمر lvcreate. لنفترض أننا نريد إنشاء LV بحجم 10 جيجابايت:
bashsudo lvcreate -L 10G -n lv_data vg_data
في هذا المثال، يتم إنشاء Logical Volume باسم lv_data بحجم 10 جيجابايت ضمن VG vg_data.
4. تهيئة نظام الملفات
بعد إنشاء LV، تحتاج إلى تهيئة نظام ملفات عليه ليصبح جاهزًا للاستخدام. على سبيل المثال، يمكنك تهيئة LV باستخدام نظام ملفات ext4:
bashsudo mkfs.ext4 /dev/vg_data/lv_data
5. تثبيت Logical Volume (LV)
الآن بعد أن تم تهيئة نظام الملفات، يمكن تثبيت LV في أي دليل في نظام الملفات باستخدام الأمر mount. لنفترض أنك تريد تثبيت lv_data في /mnt/data:
bashsudo mount /dev/vg_data/lv_data /mnt/data
إعادة تحجيم مساحة التخزين باستخدام LVM
أحد أبرز مميزات LVM هو القدرة على تغيير حجم الأقسام الديناميكي. يمكن زيادة أو تقليص حجم Logical Volume حسب الحاجة.
1. زيادة حجم Logical Volume
لنفترض أن حجم lv_data في vg_data يحتاج إلى الزيادة. أولاً، يجب التحقق من المساحة المتاحة في Volume Group باستخدام الأمر vgs:
bashsudo vgs
بعد التأكد من وجود مساحة كافية في VG، يمكن زيادة حجم LV باستخدام الأمر lvresize. على سبيل المثال، لزيادة حجم LV بمقدار 5 جيجابايت:
bashsudo lvresize -L +5G /dev/vg_data/lv_data
ثم، بعد تعديل الحجم، يجب تحديث نظام الملفات ليتعرف على التغييرات. إذا كنت تستخدم نظام ملفات ext4، يمكنك استخدام الأمر resize2fs:
bashsudo resize2fs /dev/vg_data/lv_data
2. تقليص حجم Logical Volume
يمكن أيضًا تقليص حجم LV إذا كنت بحاجة إلى تحرير المساحة. ولكن يجب توخي الحذر عند تقليص الحجم، لأن ذلك قد يؤدي إلى فقدان البيانات إذا لم تتم العملية بشكل صحيح.
أولاً، تحتاج إلى تقليص نظام الملفات باستخدام الأمر المناسب لنظام الملفات المستخدم. على سبيل المثال، إذا كان لديك نظام ملفات ext4، يمكنك تقليصه باستخدام:
bashsudo resize2fs /dev/vg_data/lv_data 5G
ثم يمكنك تقليص حجم LV نفسه باستخدام الأمر lvresize:
bashsudo lvresize -L 5G /dev/vg_data/lv_data
3. إضافة أقراص جديدة إلى Volume Group
إذا كانت المساحة المتاحة في VG غير كافية، يمكنك إضافة أقراص جديدة لتوسيع VG. بعد إضافة قرص جديد، يمكنك تهيئته كـ PV باستخدام pvcreate:
bashsudo pvcreate /dev/sdc
ثم، يمكنك إضافة هذا PV إلى VG باستخدام الأمر vgextend:
bashsudo vgextend vg_data /dev/sdc
4. إنشاء Snapshot (نسخة لحظية)
تعتبر Snapshots من المزايا القوية في LVM، حيث يمكنك أخذ نسخة من البيانات في لحظة معينة. يمكن استخدام هذه الميزة لإنشاء نسخ احتياطية أو لاختبار التغييرات دون التأثير على البيانات الأصلية.
لإنشاء Snapshot، يمكنك استخدام الأمر lvcreate مع الخيار -s. على سبيل المثال، لإنشاء Snapshot من lv_data بحجم 1 جيجابايت:
bashsudo lvcreate -L 1G -s -n lv_data_snapshot /dev/vg_data/lv_data
الخاتمة
تعد آليّة LVM أداة قوية ومرنة لإدارة التخزين على أنظمة Linux مثل أوبونتو. بفضل قدرتها على تخصيص وتوسيع وتقليص المساحات التخزينية بطريقة ديناميكية، تتيح للمستخدمين إدارة المساحة بمرونة عالية. من خلال الأدوات المختلفة مثل pvcreate، vgcreate، و lvcreate، يمكن للمستخدمين تنفيذ عمليات معقدة مثل إنشاء الأقراص الفعلية، تجميعها في مجموعة أحجام، وإنشاء أحجام منطقية مخصصة. كما أن ميزة تغيير حجم الأحجام المنطقية والتعامل مع Snapshots توفر للمستخدمين إمكانيات متقدمة في إدارة التخزين وحماية البيانات.

