المدوّنة · الخوادم ولينكس

إدارة LVM في لينكس: دليل شامل لتوسيع وإدارة مساحة التخزين بدون توقف

· 6 دقائق قراءة

إدارة LVM في لينكس: دليل شامل لتوسيع وإدارة مساحة التخزين بدون توقف

في الطرق التقليدية لتقسيم الأقراص (عبر fdisk أو MBR أو GPT العادي)، يتم تخصيص مساحة ثابتة ومقفلة لكل قسم. عندما يمتلئ قسم الجذر (Root Partition) أو قسم قواعد البيانات بالكامل، يصبح توسيع المساحة كابوساً يتطلب إيقاف تشغيل الخادم، والإقلاع من أسطوانة إنقاذ (Live CD)، وتعديل جدول الأقسام بحذر شديد مع مخاطرة حقيقية بفقدان البيانات في حال ارتكاب أي خطأ.

هنا تكمن قوة LVM (Logical Volume Manager) أو مدير الأقراص المنطقية في لينكس. يعمل LVM كطبقة تجريد مرنة تفصل بين الأقراص الفيزيائية الفعلية وأنظمة الملفات. بفضل LVM، يمكنك دمج عدة أقراص صلبة في خزان تخزين موحد، واقتطاع مساحات مرنة تكبر وتتقلص حسب الحاجة، وتوسيع سعة خادمك أثناء عمله الفعلي (Online Resize) دون دقيقة توقف واحدة لموقعك أو خدماتك.

المخطط المعماري لطبقات LVM الثلاث الأقراص الفيزيائية ومجموعات التخزين والأقسام المنطقية
البنية المعمارية لـ LVM: الأقراص الفيزيائية (PV) تتجمع في خزان موحد (VG) يُشتق منه أقسام منطقية (LV)

المفاهيم الأساسية: فهم هرمية LVM الثلاثية#

لكي تدير LVM باحترافية وتتجنب أي لبس، يجب أن تستوعب الطبقات الثلاث التي يُبنى عليها:

1. الحجم الفيزيائي — Physical Volume (PV)#

هو القرص الصلب الحقيقي (أو أحد أقسامه) الذي تم تجهيزه وتهيئته ليكون تحت تصرف LVM، مثل /dev/sdb أو /dev/nvme0n1p3. في هذه المرحلة، يضع نظام LVM ترويسة خاصة (Header) على القرص تمكنه من التعرف عليه كجزء من منظومته.

2. مجموعة الأحجام — Volume Group (VG)#

هي الصندوق أو الخزان التجميعي. تقوم بدمج حجم فيزيائي واحد أو أكثر (PVs) لتكوين مساحة تخزينية موحدة ضخمة. يمكنك تشبيهها بـ "بركة تخزين مشتركة" تُقاس مثلاً بسعة 500 جيجابايت مجمعة من قرصين مختلفين.

3. الحجم المنطقي — Logical Volume (LV)#

هو القسم الافتراضي النهائي المشتق من مجموعة الأحجام (VG). هذا القسم هو ما يراه نظام لينكس كقرص قابل للتهيئة؛ حيث تقوم بعمل نظام ملفات عليه (مثل ext4 أو xfs) ثم تثبيته (Mount) على نقطة وصول مثل / أو /var أو /home.

أوامر الاستعلام وفحص حالة التخزين في LVM#

قبل إجراء أي تعديل على الأقراص، يجب أن تعرف تفاصيل التوزيع الحالي بدقة عبر هذه الأوامر القياسية:

1. فحص شامل للأقراص ونقاط التثبيت (lsblk)#

lsblk -f

يعرض هذا الأمر هيكل الشجرة للأقراص، وتسميات الأقسام المنطقية ونوع نظام الملفات (ext4 أو xfs) ونقاط التثبيت الحالية.

2. أوامر الفحص السريع (النسخة المختصرة)#

  • sudo pvs: يعرض الأقراص الفيزيائية، والمجموعة المنتمية إليها، والمساحة الحرة فيها.
  • sudo vgs: يعرض مجموعات الأحجام، وإجمالي السعة، والمساحة المتبقية الفارغة (VFree).
  • sudo lvs: يعرض الأقسام المنطقية، ومسارها، وحجمها الحالي.

3. أوامر الفحص التفصيلي#

إذا كنت بحاجة إلى تفاصيل دقيقة عن حجم كتل التخصيص (PE Size) ومعدلات القراءة والكتابة، استخدم الأوامر الكاملة:

sudo pvdisplay
sudo vgdisplay
sudo lvdisplay

السيناريو الأشهر: توسيع مساحة قسم ممتلئ (Online Resize)#

إذا قمت بزيادة مساحة القرص من لوحة تحكم الاستضافة السحابية، أو كان لديك مساحة غير مستغلة في مجموعة الأحجام (VG)، يمكنك زيادة مساحة قسم الجذر / فوراً دون إعادة تشغيل الخادم.

1. التحقق من وجود مساحة فارغة في الـ VG#

sudo vgs

انظر إلى عمود VFree. إذا كانت هناك مساحة متوفرة (مثلاً 50g)، يمكنك المتابعة مباشرة.

2. الأمر الحديث الشامل (توسيع القسم ونظام الملفات معاً)#

في التوزيعات الحديثة، يقدم أمر lvextend خياراً مذهلاً هو --resizefs (أو -r)، والذي يقوم بتوسيع القسم المنطقي ثم توسيع نظام الملفات (سواء كان ext4 أو xfs) في خطوة واحدة ذرية:

# استهلاك كامل المساحة المتبقية في مجموعة الأحجام
sudo lvextend -l +100%FREE --resizefs /dev/ubuntu-vg/ubuntu-lv

# أو إضافة مساحة محددة فقط (مثلاً 20 جيجابايت)
sudo lvextend -L +20G --resizefs /dev/ubuntu-vg/ubuntu-lv

3. الطريقة اليدوية (إذا لم يتوفر خيار resizefs)#

إذا قمت بتوسيع القسم المنطقي فقط دون تمرير الخيار، ستلاحظ أن df -h ما زال يعرض الحجم القديم! يجب حينها إخبار نظام الملفات بالتمدد:

إذا كان نظام الملفات ext4:

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

إذا كان نظام الملفات XFS:

# في XFS تمرر نقطة التثبيت وليس مسار القرص
sudo xfs_growfs /

إضافة قرص صلب جديد كلياً إلى السيرفر ودمجه بـ LVM#

لنفترض أنك اشتريت قرصاً صلباً إضافياً وربطته بالخادم، وظهر في أمر lsblk باسم /dev/sdb بحجم 100 جيجابايت. إليك خطوات ضمه لخزان التخزين وتوسيع مساحة الخادم:

الخطوة 1: تهيئة القرص كـ Physical Volume#

sudo pvcreate /dev/sdb

ستظهر رسالة تأكيد: Physical volume "/dev/sdb" successfully created.

الخطوة 2: ضم القرص الجديد لمجموعة الأحجام الحالية (VG)#

sudo vgextend ubuntu-vg /dev/sdb

بمجرد تنفيذ هذا الأمر، تم دمج الـ 100 جيجابايت في بركة التخزين، وأصبح بإمكانك التحقق من توفرها بتشغيل sudo vgs.

الخطوة 3: زيادة مساحة القسم المنطقي المطلوب#

sudo lvextend -l +100%FREE -r /dev/ubuntu-vg/ubuntu-lv

الآن تضاعفت مساحة سيرفرك بالكامل، وكل ذلك تم وخادم الويب وقواعد البيانات تعمل وتستقبل الزوار دون انقطاع!

إنشاء بيئة LVM جديدة من الصفر على قرص مستقل#

إذا أردت تخصيص قرص جديد بالكامل لقواعد البيانات /var/lib/mysql بنظام LVM:

# 1. إنشاء الحجم الفيزيائي
sudo pvcreate /dev/sdc

# 2. إنشاء مجموعة أحجام جديدة باسم db-vg
sudo vgcreate db-vg /dev/sdc

# 3. اقتطاع قسم منطقي بحجم 80 جيجابايت باسم mysql-data
sudo lvcreate -n mysql-data -L 80G db-vg

# 4. تهيئة القسم بنظام ملفات ext4
sudo mkfs.ext4 /dev/db-vg/mysql-data

# 5. إنشاء مجلد التثبيت والتثبيت الفوري
sudo mkdir -p /mnt/mysql-storage
sudo mount /dev/db-vg/mysql-data /mnt/mysql-storage

تثبيت القسم تلقائياً عند إقلاع السيرفر (fstab)#

لضمان تثبيت القسم بعد إعادة تشغيل الخادم، أضفه إلى /etc/fstab باستخدام معرّف UUID:

# جلب UUID للقسم الجديد
sudo blkid /dev/db-vg/mysql-data

# فتح ملف fstab
sudo nano /etc/fstab

أضف السطر التالي في نهاية الملف:

/dev/db-vg/mysql-data   /mnt/mysql-storage   ext4   defaults   0   2

تحذير أمني شديد الأهمية: تصغير الأقسام المنطقية (Shrinking) عملية محفوفة بالمخاطر وتتطلب إيقاف تشغيل الخدمات وفصل القسم (Unmount). علاوة على ذلك، نظام ملفات XFS لا يدعم التصغير نهائياً (يدعم التوسيع فقط). لا تحاول أبداً تصغير حجم قسم يعمل بنظام XFS وإلا ستتلف بياناتك بالكامل.

النسخ الاحتياطي اللحظي عبر تقنية LVM Snapshots#

تتيح لك تقنية Snapshot أخذ لقطة مجمدة لحالة القرص في جزء من الثانية دون إيقاف أي خدمات، وتُعد حلاً عبقرياً قبل تطبيق تحديثات ضخمة لقواعد البيانات أو ترقية النظام الأساسي:

# أخذ لقطة باسم snap_backup بحجم مساحة مخصصة للتغييرات 5G
sudo lvcreate -L 5G -s -n snap_backup /dev/ubuntu-vg/ubuntu-lv

إذا سارت الترقية على ما يرام، يمكنك حذف اللقطة بأمان:

sudo lvremove /dev/ubuntu-vg/snap_backup -y

المصادر#

التعليقات

كن أول من يشارك رأيه أو تجربته.

أضف تعليقاً أو سؤالاً

سجّل الدخول لتعجب بالتعليقات المفيدة وترفعها لأعلى النقاش. سجّل الدخول

لا يُنشر، ولا نرسل إليه شيئاً.

يظهر التعليق بعد مراجعته. الروابط لا تُفعَّل.

تبني موقعاً عربياً؟

سكربتات وقوالب وإضافات وخوادم — مصمّمة للمواقع العربية.

تصفّح المنتجات