اذهب إلى المحتوى

دليل إدارة الحجوم المنطقية باستخدام LVM في لينكس


Hassan Hedr

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

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

LVM هي اختصار لإدارة الحجوم المنطقية أو Logical Volume Management، وهي طريقة بديلة لإدارة أنظمة التخزين عن الطرق التقليدية المُعتمدة على التقسيم، فبدلًا من إنشاء الأقسام على الأقراص يمكن بسهولة إنشاء حجوم منطقية وتركيبها على نظام الملفات كما نفعل عند تقسيم القرص، لكن الاستثناء الوحيد على ذلك هو عدم إمكانية تركيب تلك الأحجام المنطقية على المسار ‎/boot واعتماد أحدها كقرص إقلاع، وذلك لأن محمل الإقلاع GRUB الشائع استخدامه في لينكس لا يدعم قراءة الحجوم المنطقية، ومحمل الإقلاع البديل له systemd-boot لن نتمكن من استخدامه أيضًا لأنه يدعم قراءة أنظمة الملفات من النوع vfat فقط.

مكونات LVM

يوجد ثلاث مكونات رئيسية ضمن LVM:

  1. الحجوم الفيزيائية
  2. مجموعات الحجوم
  3. الحجوم المنطقية

اثنان فقط من تلك المكونات يقابلها نظير في نظام التقسيم التقليدي، الجدول التالي يوضح هذا التقابل:

نظام تقسيم القرص LVM
الأقسام الحجوم المنطقية
الأقراص مجموعات الحجوم

أما الحجوم الفيزيائية فليس لها نظير مقابل وسنتحدث عنها.

لماذا نستخدم LVM؟

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

تحضيرات المثال العملي

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

Vagrant.configure "2" do |config|
    config.vm.box = "ubuntu/focal64"
    config.vm.hostname = "lvm"
    3.times {|i| config.vm.disk :disk, size: "5GB", name: "drive-#{i}"}
    config.vm.provider :virtualbox do |machine|
        machine.memory = 1024
        machine.cpus = 1
        machine.customize ["modifyvm", :id, "--cpuexecutioncap", "50"]
    end
end

# vi: set ft=ruby

أو يمكن جلب محتوى هذا الملف باستخدام wget عبر تنفيذ الأمر التالي:

wget https://gist.githubusercontent.com/debdutdeb/98ed1b6aef36885d07ce8247188dfd5e/raw/524259da5dfa2d8750883d01c8159829729e224d/Vagrantfile

يجب التأكد أولًا من تثبيت Vagrant و VirtualBox بعد حفظ ملف Vagrantfile نُعين قيمة متغير البيئة VAGRANT_EXPERIMENTAL إلى disks عبر تنفيذ الأمر:

export VAGRANT_EXPERIMENTAL=disks

أخيرًا يمكن تشغيل الآلة الافتراضية باستخدام الأمر التالي مع التأكد من تعديل مسار العمل الحالي إلى المجلد الحاوي على ملف Vagrantfile:

vagrant up

بعد تشغيل الآلة يمكننا الدخول إليها عبر SSH بتنفيذ الأمر vagrant ssh لتنفيذ الأوامر في هذا المقال، وبعد الانتهاء يمكنك حذف الآلة عبر تنفيذ الأمر vagrant destroy أيضًا من داخل المجلد الحاوي على الملف Vagrantfile.

تثبيت LVM

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

المثال العملي على استخدام LVM

بنينا سابقًا آلة افتراضية تملك سعة تخزين 40 جيجابايت في الجذر، وتملك ثلاث أقراص خارجية سعة كل منها 5 جيجابايت وهي ما يهمنا، وتلك السعة عشوائية ولا تعني شيئًا محددًا.

vagrant@lvm:~$ lsblk -o name,size,fstype
NAME    SIZE FSTYPE
loop0  55.5M squashfs
loop1  32.3M squashfs
loop2  70.4M squashfs
sda      40G 
└─sda1   40G ext4
sdb      10M iso9660
sdc       5G 
sdd       5G 
sde       5G

كما هو واضح من الخرج السابق الأقراص التي سنستخدمها هي sdc و sdd و sde، تذكر أن المكونات الرئيسية الثلاث لـ LVM هي:

  1. الحجوم الفيزيائية
  2. مجموعات الحجوم
  3. الحجوم المنطقية

سنشرح تلك المكونات بالترتيب.

1. الحجوم الفيزيائية

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

الأدوات: جميع أدوات إدارة الحجوم الفيزيائية تبدأ بالأحرف pv وهي اختصار للأحرف الأولى من حجم فيزيائي Physical Volume، مثل pvcreate و pvchange و pvs و pvdisplay وغيرها.

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

إنشاء حجوم فيزيائية

يمكن إنشاء حجوم فيزيائية باستخدام قرص خام غير مقسم بعد أو باستخدام الأقسام الموجودة مسبقًا، وكما ذكرنا سابقًا لدينا ثلاث محركات أقراص خارجية متصلة بالآلة الافتراضية، لنبدأ بالقرص ‎/dev/sdc، حيث يمكن استخدام الأمر pvcreate لإنشاء حجم فيزيائي، وذلك فقط عبر تمرير اسم الجهاز له كالتالي:

sudo pvcreate /dev/sdc

ليظهر لنا خرج مشابه للتالي:

vagrant@lvm:~$ sudo pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.

سنقسم الآن الجهاز ‎/dev/sdd إلى أقسام متساوية، ويمكن استخدام العديد من الأدوات لتنفيذ ذلك مثل cfdisk و parted و fdisk وغيرها:

vagrant@lvm:~$ lsblk -o name,size,fstype | grep sdd
sdd       5G 
├─sdd1  2.5G 
└─sdd2  2.5G

يمكن الآن إنشاء أكثر من حجم فيزيائي من تلك الأقسام بخطوة واحدة وذلك عبر تمرير أسماء تلك الأجهزة معًا إلى الأمر pvcreate كالتالي:

sudo pvcreate /dev/sdd1 /dev/sdd2

بتنفيذ الأمر السابق يتم إنشاء القسمين معًا:

vagrant@lvm:~$ sudo pvcreate /dev/sdd1 /dev/sdd2
  Physical volume "/dev/sdd1" successfully created.
  Physical volume "/dev/sdd2" successfully created.

عرض الحجوم الفيزيائية المتاحة

لعرض الحجوم الفيزيائية المتاحة يمكن استخدام أحد الأوامر الثلاثة التالية pvscan و pvs و pvdisplay، دون تمرير أي معاملات أو خيارات لتلك الأوامر كالتالي:

تنفيذ الأمر pvscan:

vagrant@lvm:~$ sudo pvscan
  PV /dev/sdc                       lvm2 [5.00 GiB]
  PV /dev/sdd1                      lvm2 [2.50 GiB]
  PV /dev/sdd2                      lvm2 [<2.50 GiB]
  Total: 3 [<10.00 GiB] / in use: 0 [0   ] / in no VG: 3 [<10.00 GiB]

تنفيذ الأمر pvs:

vagrant@lvm:~$ sudo pvs
  PV         VG Fmt  Attr PSize  PFree 
  /dev/sdc      lvm2 ---   5.00g  5.00g
  /dev/sdd1     lvm2 ---   2.50g  2.50g
  /dev/sdd2     lvm2 ---  <2.50g <2.50g

تنفيذ الأمر pvdisplay:

vagrant@lvm:~$ sudo pvdisplay
  "/dev/sdc" is a new physical volume of "5.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               5.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               SzSkdD-xKYa-4y7P-teyU-481p-uiQ8-qieMJJ

  "/dev/sdd1" is a new physical volume of "2.50 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd1
  VG Name               
  PV Size               2.50 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               553Iy4-JJ21-LfIw-udtO-j9Cd-7gFS-iXXFVS

  "/dev/sdd2" is a new physical volume of "<2.50 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd2
  VG Name               
  PV Size               <2.50 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               bf7ghn-QkPm-EUdp-GdyW-shMG-5sMn-VhNtYB

كما نلاحظ من الخرج تظهر لنا الحجوم الفيزيائية المتاحة مع معلومات مفيدة خاصة بها.

إزالة حجم فيزيائي

يمكن إزالة حجم فيزيائي باستخدام الأمر pvremove، وذلك بشكل مشابه لاستخدام الأمر pvcreate، حيث نمرر أسماء الأجهزة التي هيئناها كحجوم فيزيائية إلى الأمر pvremove، وسنطبق ذلك عبر إزالة الجهاز ‎/dev/sdd2 من قائمة الحجوم كالتالي:

sudo pvremove /dev/sdd2

الخرج سيكون مطابقًا للتالي:

vagrant@lvm:~$ sudo pvremove /dev/sdd2
  Labels on physical volume "/dev/sdd2" successfully wiped.

يمكن التأكد من عملية الإزالة بعرض قائمة الحجوم الفيزيائية المتاحة عبر تنفيذ الأمر sudo pvs:

vagrant@lvm:~$ sudo pvs
  PV         VG Fmt  Attr PSize PFree
  /dev/sdc      lvm2 ---  5.00g 5.00g
  /dev/sdd1     lvm2 ---  2.50g 2.50g

نلاحظ عدم ظهور الحجم ‎/dev/sdd2 أي تمت إزالته.

2. مجموعات الحجوم

مجموعات الحجوم تُعبّر عن مجموعة من الحجوم الفيزيائية، وهي الطبقة الثانية من التجريد التي يوفرها LVM، مجموعات الحجوم هي مجمع التخزين الذي يدمج معًا سعات التخزين لعدة أجهزة.

الأدوات: تبدأ أسماء جميع أدوات مجموعة الحجم بالأحرف vg وهي الأحرف الأولى من مجموعة حجم Volume Group، مثل vgcreate و vgs و vgrename وغيرها.

إنشاء مجموعات الحجم

يمكن إنشاء مجموعات الحجم باستخدام الأمر vgcreate، حيث نمرر له كمعامل أول اسم يتم إسناده لمجموعة الحجم، والمعاملات البقية هي الحجوم الفيزيائية التي سنضمها إلى مجمع التخزين:

sudo vgcreate lvm_tutorial /dev/sdc /dev/sdd1

مثال:

vagrant@lvm:~$ sudo vgcreate lvm_tutorial /dev/sdc /dev/sdd1
  Volume group "lvm_tutorial" successfully created

عرض مجموعات الحجم

بشكل مشابه لطريقة عرض الحجوم الفيزيائية يمكننا عرض مجموعات الحجم باستخدام أوامر مختلفة تُقدِّم كل منها درجة من مختلفة التفاصيل بعد تنفيذها، أوامر مثل vgdisplay و vgscan و vgs:

تنفيذ الأمر vgs:

vagrant@lvm:~$ sudo vgs
  VG           #PV #LV #SN Attr   VSize VFree
  lvm_tutorial   2   0   0 wz--n- 7.49g 7.49g

تنفيذ الأمر vgscan:

vagrant@lvm:~$ sudo vgscan
  Found volume group "lvm_tutorial" using metadata type lvm2

تنفيذ الأمر vgdisplay:

vagrant@lvm:~$ sudo vgdisplay 
  --- Volume group ---
  VG Name               lvm_tutorial
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               7.49 GiB
  PE Size               4.00 MiB
  Total PE              1918
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1918 / 7.49 GiB
  VG UUID               LYVE9P-vY0G-OAW6-an8q-yfBx-rrB1-YU61m1

عرض الحجوم الفيزيائية المرتبطة بمجموعة حجم معينة

يمكننا عرض الحجوم الفيزيائية المرتبطة بمجموعة حجم معينة عبر تنفيذ الأمر التالي:

sudo pvdisplay -S vgname=<volume_group_name> -C -o pv_name

مثال:

vagrant@lvm:~$ sudo pvdisplay -S vgname=lvm_tutorial -C -o pv_name
  PV        
  /dev/sdc  
  /dev/sdd1

يمكن أيضًا إظهار عدد الحجوم الفيزيائية كالتالي:

sudo vgdisplay -S vgname=<volume_group_name> -C -o pv_count

مثال:

vagrant@lvm:~$ sudo vgdisplay -S vgname=lvm_tutorial -C -o pv_count
  #PV
    3

توسيع مجموعة حجم

توسيع مجموعة حجم يعني إضافة حجوم فيزيائية إضافية إلى تلك المجموعة، حيث يمكن استخدام الأمر vgextend لتنفيذ ذلك، وصيغة تنفيذ هذا الأمر بسيطة وهي:

vgextend <volume_group> <physical_volume1> <physical_volume2> ....

لننفذ ذلك بتوسيع المجموعة lvm_tutorial وإضافة الحجم ‎/dev/sdd2 لها.

sudo vgextend lvm_tutorial /dev/sdd2

لاحظ خرج الأمر التالي:

vagrant@lvm:~$ sudo vgextend lvm_tutorial /dev/sdd2
  Physical volume "/dev/sdd2" successfully created.
  Volume group "lvm_tutorial" successfully extended

أزلنا في فقرة سابقة الجهاز ‎/dev/sdd2 من الحجم الفيزيائي، لذا قبل إضافة أي جهاز إلى مجموعة الحجم يجب تهيئته كحجم فيزيائي أولًا، ليتمكن LVM من إدارته كقسم من المجموعة، لذا جهّز الأمر vgextend لنا الجهاز ‎/dev/sdd2 كحجم فيزيائي قبل إضافته إلى المجموعة، وللتأكد يمكننا الآن عرض الحجوم الفيزيائية المرتبطة بمجموعة حجم هذه:

sudo pvdisplay -S vgname=lvm_tutorial -C -o pv_name

الخرج:

vagrant@lvm:~$ sudo pvdisplay -S vgname=lvm_tutorial -C -o pv_name
  PV        
  /dev/sdc  
  /dev/sdd1 
  /dev/sdd2

نلاحظ كيف تم إضافة الجهاز ‎/dev/sdd2 إلى قائمة الأجهزة المرتبطة بالمجموعة كما هو متوقع.

تقليص مجموعة حجم

على عكس عملية توسيع مجموعة حجم، فإن تقليص مجموعة حجم تعني إزالة حجم فيزيائي أو أكثر من تلك المجموعة، حيث يمكننا استخدام الأمر vgreduce لتنفيذ ذلك، وصيغة الأمر تكون كالتالي:

vgreduce <vgname> <physical_volume1> <physical_volume2> ....

لنجرب إزالة الحجوم الفيزيائية ‎/dev/sdc و ‎/dev/sdd1 كالتالي:

sudo vgreduce lvm_tutorial /dev/sdc /dev/sdd1

مثال:

vagrant@lvm:~$ sudo vgreduce lvm_tutorial /dev/sdc /dev/sdd1
  Removed "/dev/sdc" from volume group "lvm_tutorial"
  Removed "/dev/sdd1" from volume group "lvm_tutorial"

لن نتمكن من تقليص مجموعة الحجم في حال كان يوجد ضمنها أي حجوم منطقية فعالة، والآن نعرض قائمة الحجوم الفيزيائية الموجودة:

sudo pvdisplay -S vgname=lvm_tutorial -C -o pv_name

الخرج:

vagrant@lvm:~$ sudo pvdisplay -S vgname=lvm_tutorial -C -o pv_name
  PV        
  /dev/sdd2

نلاحظ كيف تم إزالة الحجمين الفيزيائيين من المجموعة، لكننا سنحتاج لوجود تلك الحجوم ضمن المجموعة في الأمثلة لاحقة، لذا سنعيدها إلى المجموعة مجددًا بتنفيذ الأمر:

sudo vgextend lvm_tutorial /dev/sdc /dev/sdd1

إزالة مجموعة حجم

يمكن إزالة حجم منطقي باستخدام الأمر vgremove كالتالي:

sudo vgremove lvm_tutorial

لا تنفذ الأمر حاليًا كي لا تضطر لإعادة إنشاء مجموعة الحجم مجددًا، لكن يمكنك اختبار تنفيذ هذا الأمر في نهاية المقال إذا أردت.

3. الحجوم المنطقية

وهي ما نتعامل معه في أغلب الوقت، الحجم المنطقي يشبه القسم، لكن الفرق بينهما أن الأقسام تُبنى فوق القرص مباشرة، أما الأحجام المنطقية فهي تُبنى فوق مجموعة الحجم، وهي تمكننا من:

  • تنسيق الحجم المنطقي بأي نظام ملفات نريد.
  • تركيبه في أي مكان نريده ضمن نظام الملفات.

سنتعلم في هذا القسم الأمور التالية:

  • كيف ننشئ الحجوم المنطقية.
  • إجراء عمليات شائعة على الحجوم المنطقية.
  • تعديل مساحة حجم منطقي.
  • إزالة حجم منطقي.

الأدوات: تبدأ أسماء جميع أدوات الحجوم المنطقية بالأحرف vl وهي الأحرف الأولى من حجم منطقي Logical Volume، مثل lvcreate و lvs و lvreduce وغيرها.

إنشاء حجوم منطقية

يمكن إنشاء الحجوم المنطقية باستخدام الأمر lvcreate، وصيغة استخدامه هي كالتالي:

sudo lvcreate -L <size> -n <lvname> <vgname>

لنشرح أجزاء ذلك الأمر:

  • الخيار ‎-L يدل على الحجم الجديد للحجم المنطقي، حيث يمكن استخدام عدد متبوعًا بوحدة الحجم مثل "GB" للجيجابايت أو "MB" للميجابايت أو "KB" للكيلو بايت، مثال "1GB" وتعني 1 جيجابايت.
  • الخيار ‎-n يستخدم لتسمية الحجم المنطقي.
  • أخيرًا سنحتاج لتمرير اسم مجموعة الحجم التي سينضم الحجم المنطقي هذا إليها، لذا يجب التأكد من أن الحجم المحدد للحجم المنطقي هذا متاح كمساحة فارغة ضمن مجموعة الحجم التي سينضم إليها.

ننفذ الأمر التالي:

sudo lvcreate -L 5GB -n lv1 lvm_tutorial

الخرج:

vagrant@lvm:~$ sudo lvcreate -L 5GB -n lv1 lvm_tutorial
  Logical volume "lv1" created.

عمليات شائعة على حجم منطقي

كما ذكرنا سابقًا يمكن وضع نظام ملفات ضمن حجم منطقي وتركيبه أيضًا في أي مكان على نظام الملفات، فبعد إنشاءه يمكننا العثور على الحجم المنطقي ضمن المسار ‎/dev/<vgname>/<lvname>‎، في مثالنا سيكون الحجم متاحًا على المسار ‎/dev/lvm_tutorial/lv1.

vagrant@lvm:~$ ls -l /dev/lvm_tutorial/lv1 
lrwxrwxrwx 1 root root 7 May 17 02:09 /dev/lvm_tutorial/lv1 -> ../dm-0

يمكننا استخدامه الآن كأي قسم اعتيادي، حيث يمكننا تنسيقه بتنسيق ext4 كالتالي:

sudo mkfs.ext4 /dev/lvm_tutorial/lv1

وتركيبه في مكان ضمن بنية المجلدات الحالية مثل ‎/mnt:

sudo mount -t ext4 /dev/lvm_tutorial/lv1 /mnt

تعديل مساحة حجم منطقي

يمكن توسيع حجم منطقي باستخدام الأمر lvextend وتقليص حجمه باستخدام الأمر lvreduce، ويمكننا بدلًا من ذلك استخدام الأمر lvresize فقط لتنفيذ كلا العمليتين، أولًا نتأكد من توفر مساحة كافية في مجموعة الحجم:

sudo vgs -S vgname=lvm_tutorial -o vg_free

الخرج:

vagrant@lvm:~$ sudo vgs -S vgname=lvm_tutorial -o vg_free
  VFree 
  <4.99g

بحسب الخرج السابق يتوفر لدينا مساحة كافية، لذا سنزيد الحجم بمقدار 2 جيجابايت، وتذكر بأن الحجم المنطقي لا يزال مركبًا ضمن المسار ‎/mnt.

vagrant@lvm:~$ mount | grep '/mnt'
/dev/mapper/lvm_tutorial-lv1 on /mnt type ext4 (rw,relatime)

باستخدام الأمر التالي يمكننا تعديل مساحة الحجم المنطقي:

sudo lvresize -L +2GB lvm_tutorial/lv1

صيغة الأمر العامة تكون كالتالي:

lvresize -L [+|-][Size] <vgname>/<lvname>

الرموز + أو - بعد الخيار ‎-L نضيفها بحسب العملية التي سنجريها إذا كانت زيادة أو تقليص للحجم على الترتيب، فبعد زيادة الحجم يجب تعديل حجم نظام الملفات أيضًا، فلنظام ملفات من نوع ext4 يمكن استخدام الأمر resize2fs كالتالي:

sudo resize2fs /dev/lvm_tutorial/lv1

الخرج:

vagrant@lvm:~$ sudo resize2fs /dev/lvm_tutorial/lv1
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/lvm_tutorial/lv1 is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/lvm_tutorial/lv1 is now 1835008 (4k) blocks long.

لا تدعم كل أنظمة الملفات التعديل الساخن، ومن الأنظمة التي تدعم ذلك هي Ext4 و XFS، لذا ينصح باستخدامها دومًا، عملية تقليص مساحة حجم افتراضي مهمة معقدة قليلًا ولن نشرحها في هذا المقال.

إزالة حجم منطقي

يمكن إزالة حجم منطقي باستخدام الأمر lvremove، وصيغته تكون كالتالي:

lvremove <vgname>/<lvname>

بتنفيذ هذا الأمر:

sudo lvremove lvm_tutorial/lv1

نحصل على الخرج:

vagrant@lvm:~$ sudo lvremove lvm_tutorial/lv1
Do you really want to remove and DISCARD active logical volume lvm_tutorial/lv1? [y/n]: y
  Logical volume "lv1" successfully removed

خاتمة

يوجد الكثير من العمليات التي يمكن تنفيذها على الحجوم المنطقية والفيزيائية ومجموعات الحجوم، وهي أكثر من أن يتم حصرها ضمن مقال واحد، حيث تبقى لدينا قرص واحد داخل الآلة الافتراضية لم ننفذ عليه أي عمليات وهو ‎/dev/sde، يمكن استخدامه للتدرب على بعض الأوامر التي شرحناها في هذا المقال، كإنشاء مجموعة حجم جديدة وتوسيع حجم مجموعة موجودة مسبقًا.

ترجمة -وبتصرف- للمقال The Complete Beginner's Guide to LVM in Linux لصاحبه Debdut Chakraborty.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...