مقدمة في مفاهيم LVM والمصطلحات والعمليات

مقدمة

إدارة الحجم المنطقي، أو LVM، هي تقنية إدارة أجهزة التخزين تمنح المستخدمين القدرة على تجميع وتجريد التخطيط الفعلي لأجهزة التخزين المكونة لإدارة مرنة. باستخدام إطار عمل نواة Linux لمحرر الأجهزة، يمكن استخدام الإصدار الحالي، LVM2، لتجميع أجهزة التخزين الحالية في مجموعات وتخصيص وحدات منطقية من المساحة المجتمعة حسب الحاجة.

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

في هذا الدليل، ستتعلم كيفية عمل LVM وممارسة الأوامر الأساسية للبدء بسرعة على جهاز فارغ من المعدن.

بنية ومصطلحات LVM

قبل الانغماس في الأوامر الإدارية لـ LVM، من المهم أن يكون لديك فهم أساسي لكيفية تنظيم أجهزة التخزين من قبل LVM وبعض المصطلحات التي يستخدمها.

هياكل إدارة تخزين LVM

تعمل LVM عن طريق تكديس التجريديات على أعلى الأجهزة التخزينية الفعلية. الطبقات الأساسية التي يستخدمها LVM، بدءًا من الأكثر بدائية، هي:

  • الأقراص المادية: البادئة المستخدمة لأقراص المادية في أدوات LVM هي pv.... تُعتبر هذه الأقراص أجهزة كتلية فعلية أو أجهزة مماثلة للأقراص (على سبيل المثال، أجهزة أخرى تم إنشاؤها بواسطة مُعدل الأجهزة، مثل مجموعات RAID) وتُستخدم من قبل LVM كمواد بناء خام للمستويات الأعلى من التجريد. الأقراص المادية هي أجهزة تخزين عادية. يقوم LVM بكتابة رأس إلى الجهاز لتخصيصه للإدارة.

  • مجموعات الأقراص: البادئة المستخدمة لمجموعات الأقراص في أدوات LVM هي vg....
    يقوم LVM بجمع الأقراص المادية في مجموعات تخزين تُعرف باسم مجموعات الأقراص. تجريد مجموعات الأقراص الخصائص الخاصة بالأجهزة الأساسية وتعمل كجهاز منطقي موحد بسعة تخزين مجتمعة للأقراص المادية المكونة.

  • الأحجام المنطقية: البادئة التي تستخدمها أداة LVM للأحجام المنطقية هي lv...، وقد تبدأ الأدوات العامة لـ LVM بـ lvm.... يمكن تقسيم مجموعة الأحجام إلى أي عدد من الأحجام المنطقية. الأحجام المنطقية مكافئة وظيفيًا للأقسام على القرص الفعلي، ولكن مع مرونة أكبر بكثير. الأحجام المنطقية هي المكون الأساسي الذي سيتفاعل معه المستخدمون والتطبيقات.

يمكن استخدام LVM لدمج الأقراص المادية في مجموعات الأحجام لتوحيد مساحة التخزين المتاحة على النظام. بعد ذلك، يمكن للمسؤولين تقسيم مجموعة الأحجام إلى أحجام منطقية تُعتبر أقسامًا مرنة.

فهم الامتدادات

كل حجم داخل مجموعة حجوم يتم تقسيمه إلى قطع صغيرة ثابتة الحجم تسمى \textit{الممتدات}. يتم تحديد حجم الممتدات من قبل مجموعة الأقسام. جميع الأحجام داخل المجموعة يتوافق حجم الممتدات فيها.

الممتدات على الأقراص الفعلية تُعرف بـ \textit{الممتدات الفعلية}، بينما تُعرف ممتدات الأقراص المنطقية بـ \textit{ممتدات منطقية}. تعتبر الحجوم المنطقية عبارة عن تطابق يحافظ نظام إدارة الحجوم (LVM) على التطابق بين الممتدات المنطقية والفعلية. وبسبب هذا العلاقة، يمثل حجم الممتد أصغر مقدار ممكن من المساحة يمكن تخصيصه بواسطة نظام إدارة الحجوم.

تكمن مرونة وقوة نظام إدارة الحجوم في الممتدات. الممتدات المنطقية التي تُقدم كجهاز موحد من قبل نظام إدارة الحجوم لا تحتاج إلى تطابق مع الممتدات الفعلية المتواصلة. يمكن لنظام إدارة الحجوم نسخ وإعادة تنظيم الممتدات الفعلية التي تتكون منها حجوم منطقية دون أي انقطاع للمستخدمين. يمكن أيضًا توسيع الأحجام المنطقية أو تقليصها عن طريق إضافة الممتدات إليها أو إزالتها منها.

حالات الاستخدام الشائعة

الآن بما أنك تعرف بعض المصطلحات والهياكل التي يستخدمها نظام إدارة الحجوم، يمكنك استكشاف بعض الطرق الشائعة لاستخدام نظام إدارة الحجوم. ستبدأ بإجراء يستخدم قرصين فعليين لتشكيل أربعة أحجام منطقية.

تحديد الأجهزة الفعلية كأقراص فيزيائية

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

  1. sudo lvmdiskscan

سيقوم الإخراج بإرجاع جميع الأجهزة القابلة للوصول التي يمكن لـ LVM التفاعل معها:

Output
/dev/ram0 [ 64.00 MiB] /dev/sda [ 200.00 GiB] /dev/ram1 [ 64.00 MiB] . . . /dev/ram15 [ 64.00 MiB] /dev/sdb [ 100.00 GiB] 2 disks 17 partitions 0 LVM physical volume whole disks 0 LVM physical volumes

في هذا المثال، لاحظ أن هناك حاليًا قرصين و 17 قسمًا. الأقسام هي في الغالب أقسام /dev/ram* التي يتم استخدامها في النظام كـ قرص RAM لتحسين الأداء. الأقراص في هذا المثال هي /dev/sda، التي تحتوي على 200 جيجابايت من المساحة، و /dev/sdb، التي تحتوي على 100 جيجابايت.

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

الآن بعد أن تعرف على الأجهزة الفعلية التي تريد استخدامها، قم بتحديدها كأقراص فيزيائية داخل LVM باستخدام أمر pvcreate:

  1. sudo pvcreate /dev/sda /dev/sdb
Output
Physical volume "/dev/sda" successfully created Physical volume "/dev/sdb" successfully created

سيقوم هذا بكتابة رأس LVM على الأجهزة للإشارة إلى جاهزيتها للإضافة إلى مجموعة أحجام.

تحقق من أن LVM قد سجلت الأقراص الفعلية عن طريق تشغيل pvs:

  1. sudo pvs
Output
PV VG Fmt Attr PSize PFree /dev/sda lvm2 --- 200.00g 200.00g /dev/sdb lvm2 --- 100.00g 100.00g

تحقق من أن كلتا الأجهزة موجودة تحت عمود PV، الذي يعني الحجم المادي.

إضافة الأحجام المادية إلى مجموعة الأحجام

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

لإنشاء مجموعة الحجوم وإضافة كل من الأحجام المادية الخاصة بك إليها، قم بتشغيل:

  1. sudo vgcreate LVMVolGroup /dev/sda /dev/sdb
Output
Volume group "LVMVolGroup" successfully created

سيشير التحقق من الإخراج pvs مرة أخرى إلى أن الأحجام المادية الخاصة بك مرتبطة الآن بمجموعة الحجوم الجديدة:

  1. sudo pvs
Output
PV VG Fmt Attr PSize PFree /dev/sda LVMVolGroup lvm2 a-- 200.00g 200.00g /dev/sdb LVMVolGroup lvm2 a-- 100.00g 100.00g

قم بتقديم ملخص مختصر لمجموعة الحجوم باستخدام vgs:

  1. sudo vgs
Output
VG #PV #LV #SN Attr VSize VFree LVMVolGroup 2 0 0 wz--n- 299.99g 299.99g

تحتوي مجموعة حجومك حاليًا على حجمين ماديين، وصفر أحجام منطقية، ولديها السعة المجتمعة للأجهزة الأساسية.

إنشاء أحجام منطقية من مجموعة حجوم البيانات

الآن أن لديك مجموعة حجوم متاحة، يمكنك استخدامها كمجموعة لتخصيص أحجام لوجيكية منها. على عكس التقسيم التقليدي، عند العمل مع الأحجام اللوجيكية، لا يلزم أن تعرف تخطيط الحجم، حيث يقوم LVM برسم الخريطة والتعامل مع هذا بالنيابة عنك. يتعين عليك فقط تحديد حجم الحجم واسمه.

في المثال التالي، ستقوم بإنشاء أربعة أحجام لوجيكية منفصلة من مجموعة الأحجام:

  • حجم “المشاريع” بحجم 10 جيجا
  • حجم “www” بحجم 5 جيجا للمحتوى الويب
  • حجم “db” بحجم 20 جيجا لقاعدة البيانات
  • حجم “مساحة العمل” الذي سيملأ المساحة المتبقية

لإنشاء أحجام لوجيكية، استخدم أمر lvcreate. يجب عليك تمرير مجموعة الأحجام للاستفادة منها، ويمكنك تسمية الحجم اللوجيكي باستخدام الخيار -n. لتحديد الحجم مباشرةً، يمكنك استخدام الخيار -L. إذا كنت بدلاً من ذلك ترغب في تحديد الحجم بالمستطيلات، يمكنك استخدام الخيار -l.

أنشئ الحجوم اللوجيكية الثلاثة الأولى باستخدام الخيار -L:

  1. sudo lvcreate -L 10G -n projects LVMVolGroup
  2. sudo lvcreate -L 5G -n www LVMVolGroup
  3. sudo lvcreate -L 20G -n db LVMVolGroup
Output
Logical volume "projects" created. Logical volume "www" created. Logical volume "db" created.

يمكنك عرض الأحجام اللوجيكية وعلاقتها بمجموعة الأحجام عن طريق اختيار إخراج مخصص من أمر vgs:

  1. sudo vgs -o +lv_size,lv_name
Output
VG #PV #LV #SN Attr VSize VFree LSize LV LVMVolGroup 2 3 0 wz--n- 299.99g 264.99g 10.00g projects LVMVolGroup 2 3 0 wz--n- 299.99g 264.99g 5.00g www LVMVolGroup 2 3 0 wz--n- 299.99g 264.99g 20.00g db

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

الآن يمكنك تخصيص بقية المساحة في مجموعة الأصول إلى حجم “مساحة العمل” باستخدام العلم “-l”، الذي يعمل بالمدى. يمكنك أيضًا تحديد نسبة ووحدة للتواصل بشكل أفضل بنواياك. في هذا المثال، قم بتخصيص المساحة الفارغة المتبقية، بحيث يمكنك تمرير “100%FREE”:

  1. sudo lvcreate -l 100%FREE -n workspace LVMVolGroup
Output
Logical volume "workspace" created.

عند التحقق من معلومات مجموعة الأصول باستخدام الأمر المخصص “vgs”، لاحظ أنك استخدمت كل المساحة المتاحة:

  1. sudo vgs -o +lv_size,lv_name
Output
VG #PV #LV #SN Attr VSize VFree LSize LV LVMVolGroup 2 4 0 wz--n- 299.99g 0 10.00g projects LVMVolGroup 2 4 0 wz--n- 299.99g 0 5.00g www LVMVolGroup 2 4 0 wz--n- 299.99g 0 20.00g db LVMVolGroup 2 4 0 wz--n- 299.99g 0 264.99g workspace

تم إنشاء حجم “مساحة العمل” واستخدام مجموعة الأصول “LVMVolGroup” بالكامل.

تهيئة وتركيب الأحجام المنطقية

الآن بعد أن لديك أحجام منطقية، يمكنك استخدامها كأجهزة كتل عادية.

الأجهزة المنطقية متاحة داخل الدليل “/dev” مثل الأجهزة التخزينية الأخرى. يمكنك الوصول إليها في مكانين:

  • /dev/اسم_مجموعة_الأصول/اسم_الحجم_المنطقي
  • /dev/mapper/اسم_مجموعة_الأصول-اسم_الحجم_المنطقي

لتهيئة الأحجام المنطقية الأربعة باستخدام نظام الملفات Ext4، قم بتشغيل الأوامر التالية:

  1. sudo mkfs.ext4 /dev/LVMVolGroup/projects
  2. sudo mkfs.ext4 /dev/LVMVolGroup/www
  3. sudo mkfs.ext4 /dev/LVMVolGroup/db
  4. sudo mkfs.ext4 /dev/LVMVolGroup/workspace

بدلاً من ذلك، يمكنك تشغيل ما يلي:

  1. sudo mkfs.ext4 /dev/mapper/LVMVolGroup-projects
  2. sudo mkfs.ext4 /dev/mapper/LVMVolGroup-www
  3. sudo mkfs.ext4 /dev/mapper/LVMVolGroup-db
  4. sudo mkfs.ext4 /dev/mapper/LVMVolGroup-workspace

بعد التهيئة، قم بإنشاء نقاط التحميل:

  1. sudo mkdir -p /mnt/{projects,www,db,workspace}

ثم قم بتحميل الأحجام المنطقية إلى الموقع المناسب:

  1. sudo mount /dev/LVMVolGroup/projects /mnt/projects
  2. sudo mount /dev/LVMVolGroup/www /mnt/www
  3. sudo mount /dev/LVMVolGroup/db /mnt/db
  4. sudo mount /dev/LVMVolGroup/workspace /mnt/workspace

لجعل التثبيتات ثابتة، استخدم محرر النصوص المفضل لديك لإضافتها إلى ملف /etc/fstab. يستخدم المثال التالي nano:

  1. sudo nano /etc/fstab
/etc/fstab
. . .

/dev/LVMVolGroup/projects /mnt/projects ext4 defaults,nofail 0 0
/dev/LVMVolGroup/www /mnt/www ext4 defaults,nofail 0 0
/dev/LVMVolGroup/db /mnt/db ext4 defaults,nofail 0 0
/dev/LVMVolGroup/workspace /mnt/workspace ext4 defaults,nofail 0 0

بعد تحرير الملف، قم بحفظه والخروج. إذا كنت تستخدم nano، اضغط CTRL+c، ثم y، ثم ENTER.

يجب أن يقوم نظام التشغيل الآن بتثبيت الأحجام المنطقية LVM تلقائيًا عند التمهيد.

الختام

لديك الآن فهم لمكونات LVM المختلفة التي تدير إنشاء نظام تخزين مرن، وكيفية تشغيل أجهزة التخزين في إعداد LVM.

لمعرفة المزيد حول العمل مع LVM، تفقد دليلنا على استخدام LVM مع Ubuntu 18.04 .

Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-lvm-concepts-terminology-and-operations