ديف أوبس

إدارة التخزين بـ LVM على أوبونتو

إدارة أجهزة التخزين بآليّة LVM على أوبونتو: إنشاء وإعادة تحجيم مساحة التخزين

يعد إدارة التخزين أحد المواضيع الأساسية في أنظمة التشغيل الحديثة، لا سيما عندما يتعلق الأمر بإدارة المساحات التخزينية الكبيرة والمتغيرة. من بين الحلول المتقدمة لإدارة التخزين في أنظمة Linux، برزت آلية Logical Volume Management (LVM) كأداة قوية ومرنة توفر للمستخدمين قدرة أكبر على تخصيص وإدارة مساحة التخزين بشكل ديناميكي. في هذا المقال، سنتناول كيفية إدارة أجهزة التخزين باستخدام آليّة LVM على نظام أوبونتو، بما في ذلك كيفية إنشاء وتخصيص وتوسيع وتقليص المساحة التخزينية، إضافة إلى بعض المفاهيم والممارسات الهامة المتعلقة بـ LVM.

مفهوم LVM (إدارة الحجم المنطقي)

قبل الخوض في التفاصيل الفنية، يجب أولاً فهم مفهوم LVM. LVM هو نظام لإدارة الأقراص الصلبة يسمح للمستخدمين بإنشاء وحدات تخزين مرنة وقابلة للتغيير. يوفر LVM عدة مزايا مقارنة بإدارة الأقراص التقليدية، مثل:

  1. المرونة: يمكن إضافة أو تقليص المساحة التخزينية بسهولة.

  2. إعادة التحجيم الديناميكي: يمكن زيادة أو تقليص حجم الأقسام دون الحاجة لإيقاف النظام.

  3. إدارة أفضل للنسخ الاحتياطي: بفضل تقنيات مثل “النسخ اللحظي” (snapshot)، يمكن إدارة النسخ الاحتياطي بشكل أكثر فعالية.

  4. التحكم في الأقراص: يمكن تجميع عدة أقراص في وحدة تخزين واحدة، مما يسهل إدارة المساحة وتوزيع البيانات.

يتألف نظام LVM من ثلاثة مكونات رئيسية:

  • Physical Volume (PV): وهو القرص الصلب أو الجزء من القرص الذي سيتم استخدامه في LVM.

  • Volume Group (VG): وهو مجموعة من الأقراص الفعلية (PV) التي تم دمجها معًا لتشكيل وحدة تخزين واحدة.

  • Logical Volume (LV): وهو الجزء الفعلي من المساحة التخزينية التي يتم تخصيصها للمستخدمين أو للأنظمة التشغيلية.

إعداد LVM على أوبونتو

يجب أولاً التأكد من أن النظام يحتوي على حزم LVM. يمكن تثبيت هذه الحزم عبر إدارة الحزم في أوبونتو باستخدام الأمر التالي:

bash
sudo apt update sudo apt install lvm2

1. إنشاء Physical Volume (PV)

الخطوة الأولى هي تحديد القرص الذي تريد استخدامه مع LVM. يمكن فحص الأقراص المتاحة باستخدام الأمر lsblk أو fdisk -l:

bash
lsblk

لنفترض أنك تريد إنشاء PV على قرص جديد مثل /dev/sdb. أولاً، تحتاج إلى تهيئة هذا القرص باستخدام الأمر pvcreate:

bash
sudo pvcreate /dev/sdb

سيتم الآن تخصيص هذا القرص كـ Physical Volume داخل LVM.

2. إنشاء Volume Group (VG)

بعد أن تقوم بتحديد واحد أو أكثر من الأقراص كـ PV، يمكنك دمجها في وحدة تخزين واحدة تُسمى Volume Group. لإنشاء VG جديد، استخدم الأمر vgcreate كما يلي:

bash
sudo vgcreate vg_data /dev/sdb

في هذا المثال، يتم إنشاء VG باسم vg_data باستخدام PV الذي تم إنشاؤه سابقًا.

3. إنشاء Logical Volume (LV)

الآن، يمكننا إنشاء Logical Volumes داخل Volume Group. Logical Volumes هي ما يمثل الأقسام التي سيتم استخدامها من قبل نظام التشغيل. لإنشاء LV، نستخدم الأمر lvcreate. لنفترض أننا نريد إنشاء LV بحجم 10 جيجابايت:

bash
sudo lvcreate -L 10G -n lv_data vg_data

في هذا المثال، يتم إنشاء Logical Volume باسم lv_data بحجم 10 جيجابايت ضمن VG vg_data.

4. تهيئة نظام الملفات

بعد إنشاء LV، تحتاج إلى تهيئة نظام ملفات عليه ليصبح جاهزًا للاستخدام. على سبيل المثال، يمكنك تهيئة LV باستخدام نظام ملفات ext4:

bash
sudo mkfs.ext4 /dev/vg_data/lv_data

5. تثبيت Logical Volume (LV)

الآن بعد أن تم تهيئة نظام الملفات، يمكن تثبيت LV في أي دليل في نظام الملفات باستخدام الأمر mount. لنفترض أنك تريد تثبيت lv_data في /mnt/data:

bash
sudo mount /dev/vg_data/lv_data /mnt/data

إعادة تحجيم مساحة التخزين باستخدام LVM

أحد أبرز مميزات LVM هو القدرة على تغيير حجم الأقسام الديناميكي. يمكن زيادة أو تقليص حجم Logical Volume حسب الحاجة.

1. زيادة حجم Logical Volume

لنفترض أن حجم lv_data في vg_data يحتاج إلى الزيادة. أولاً، يجب التحقق من المساحة المتاحة في Volume Group باستخدام الأمر vgs:

bash
sudo vgs

بعد التأكد من وجود مساحة كافية في VG، يمكن زيادة حجم LV باستخدام الأمر lvresize. على سبيل المثال، لزيادة حجم LV بمقدار 5 جيجابايت:

bash
sudo lvresize -L +5G /dev/vg_data/lv_data

ثم، بعد تعديل الحجم، يجب تحديث نظام الملفات ليتعرف على التغييرات. إذا كنت تستخدم نظام ملفات ext4، يمكنك استخدام الأمر resize2fs:

bash
sudo resize2fs /dev/vg_data/lv_data

2. تقليص حجم Logical Volume

يمكن أيضًا تقليص حجم LV إذا كنت بحاجة إلى تحرير المساحة. ولكن يجب توخي الحذر عند تقليص الحجم، لأن ذلك قد يؤدي إلى فقدان البيانات إذا لم تتم العملية بشكل صحيح.

أولاً، تحتاج إلى تقليص نظام الملفات باستخدام الأمر المناسب لنظام الملفات المستخدم. على سبيل المثال، إذا كان لديك نظام ملفات ext4، يمكنك تقليصه باستخدام:

bash
sudo resize2fs /dev/vg_data/lv_data 5G

ثم يمكنك تقليص حجم LV نفسه باستخدام الأمر lvresize:

bash
sudo lvresize -L 5G /dev/vg_data/lv_data

3. إضافة أقراص جديدة إلى Volume Group

إذا كانت المساحة المتاحة في VG غير كافية، يمكنك إضافة أقراص جديدة لتوسيع VG. بعد إضافة قرص جديد، يمكنك تهيئته كـ PV باستخدام pvcreate:

bash
sudo pvcreate /dev/sdc

ثم، يمكنك إضافة هذا PV إلى VG باستخدام الأمر vgextend:

bash
sudo vgextend vg_data /dev/sdc

4. إنشاء Snapshot (نسخة لحظية)

تعتبر Snapshots من المزايا القوية في LVM، حيث يمكنك أخذ نسخة من البيانات في لحظة معينة. يمكن استخدام هذه الميزة لإنشاء نسخ احتياطية أو لاختبار التغييرات دون التأثير على البيانات الأصلية.

لإنشاء Snapshot، يمكنك استخدام الأمر lvcreate مع الخيار -s. على سبيل المثال، لإنشاء Snapshot من lv_data بحجم 1 جيجابايت:

bash
sudo lvcreate -L 1G -s -n lv_data_snapshot /dev/vg_data/lv_data

الخاتمة

تعد آليّة LVM أداة قوية ومرنة لإدارة التخزين على أنظمة Linux مثل أوبونتو. بفضل قدرتها على تخصيص وتوسيع وتقليص المساحات التخزينية بطريقة ديناميكية، تتيح للمستخدمين إدارة المساحة بمرونة عالية. من خلال الأدوات المختلفة مثل pvcreate، vgcreate، و lvcreate، يمكن للمستخدمين تنفيذ عمليات معقدة مثل إنشاء الأقراص الفعلية، تجميعها في مجموعة أحجام، وإنشاء أحجام منطقية مخصصة. كما أن ميزة تغيير حجم الأحجام المنطقية والتعامل مع Snapshots توفر للمستخدمين إمكانيات متقدمة في إدارة التخزين وحماية البيانات.