بسبب التغييرات في متطلبات اختبار LFCS الفعالة منذ 2 فبراير 2016، نحن نضيف المواضيع الضرورية إلى السلسلة LFCS المنشورة هنا. للتأكد من أنك تحضر هذا الاختبار، يوجهنا لك بشدة إستخدام سلسلة LFCE أيضًا.

أحد القرارات المهمة الأولي أثناء تثبيت نظام Linux هو تحديد حجم المساحة التي ستتم تخصيصها لملفات النظام، ومجالات المستخدمين وغيرها. إذا خطأت في هذه المرحلة، قد يكون توسيع قطعة النظام التي تنفذ الفضاء من الصعب ومعطلة قليلًا.
إدارة الأنصب المنطقي (وتعرف أيضًا بـ LVM)، التي أصبحت متوفرة بشكل إفتراضي لتثبيت معظم (إلا لو لم يكن كل) التوزيعات اللينكسية، تحمل عدد كبير من المزايا بالنسبة للإدارة التقليدية للتوزيع القطعي. ربما الميزة الأكثر تميزًا لLVM هو أنها تسمح بتغيير حجم التقسيمات المنطقية (تقليلًا أو زيادةً) بسهولة بدون أي مشاكل.
تكون بنية LVM تأتي من:
- تكون واحد أو أكثر من الأقراص الصلبة أو التقسيمات يتم تكوينها كأنصب جسديون (PVs).
- A volume group (VG) is created using one or more physical volumes. You can think of a volume group as a single storage unit.
- يمكن إنشاء عدد كبير من الأنصب المنطقية داخل مجموعة من الأنصب. كل أنصب منطقي يمارس ما يماثل تقسيم تقليدي – ومع مزيد من الميزات بما أنه يمكن تغيير حجمه بسهولة كما ذكرنا من قبل.
في هذه المقالة سنستخدم ثلاثة أقراص بسعة 8 غيغابايت لكل منها (/dev/sdb, /dev/sdc, و /dev/sdd) لإنشاء ثلاثة أحجام مادية. يمكنك إما إنشاء الPVs مباشرة على الجهاز، أو تقسيمه أولاً.
على الرغم من اختيارنا للذهاب مع الطريقة الأولى، إذا قررت الذهاب مع الطريقة الثانية (كما هو موضح في الجزء 4 – إنشاء أقسام وأنظمة ملفات في لينكس في هذه السلسلة) تأكد من تكوين كل قسم كنوع 8e
.
إنشاء أحجام مادية ومجموعات أحجام وأحجام منطقية
لإنشاء أحجام مادية على /dev/sdb, /dev/sdc, و /dev/sdd, قم بما يلي:
# pvcreate /dev/sdb /dev/sdc /dev/sdd
يمكنك استعراض الPVs المنشأة حديثًا باستخدام:
# pvs
والحصول على معلومات مفصلة حول كل PV باستخدام:
# pvdisplay /dev/sdX
(حيث يكون X هو b، c، أو d)
إذا حذفت /dev/sdX
كمعلمة، ستحصل على معلومات حول جميع الPVs.
لإنشاء مجموعة أحجام تحمل الاسم vg00
باستخدام /dev/sdb
و /dev/sdc
(سنحتفظ بـ /dev/sdd
لاحقًا لتوضيح إمكانية إضافة أجهزة أخرى لزيادة سعة التخزين عند الحاجة):
# vgcreate vg00 /dev/sdb /dev/sdc
كما كان الحال مع الأحجام المادية، يمكنك أيضًا عرض معلومات حول هذه المجموعة باستخدام:
# vgdisplay vg00
نظرًا لأن vg00
تم إنشاؤها باستخدام قرصين بسعة 8 غيغابايت، فإنها ستظهر كقرص 16 غيغابايت واحد:

عندما يتعلق الأمر بإنشاء أحجام منطقية، يجب أن تأخذ توزيع المساحة في الاعتبار الاحتياجات الحالية والمستقبلية. يُعتبر من الممارسات الجيدة تسمية كل حجم منطقي وفقًا لاستخدامه المقصود.
على سبيل المثال، دعونا ننشئ حجمين منطقيين يحملان الأسماء vol_projects
(10 جيجابايت) و vol_backups
(المساحة المتبقية)، التي يمكننا استخدامها لاحقًا لتخزين وثائق المشروع ونسخ احتياطية للنظام، على التوالي.
يُستخدم الخيار -n
لتحديد اسم للحجم المنطقي، بينما يُعين -L
حجمًا ثابتًا ويُستخدم -l
(حرف L صغير) لتحديد نسبة من المساحة المتبقية في مجموعة الأقراص VG.
# lvcreate -n vol_projects -L 10G vg00 # lvcreate -n vol_backups -l 100%FREE vg00
كما في السابق، يمكنك عرض قائمة الأحجام المنطقية والمعلومات الأساسية باستخدام:
# lvs
والمعلومات المفصلة باستخدام
# lvdisplay
لعرض معلومات حول حجم منطقي واحد، استخدم lvdisplay مع VG و LV كمعلمات، على النحو التالي:
# lvdisplay vg00/vol_projects

في الصورة أعلاه يمكننا رؤية أن الأحجام المنطقية تم إنشاؤها كأجهزة تخزين (ارجع إلى السطر LV Path). قبل استخدام كل حجم منطقي، نحتاج إلى إنشاء نظام ملفات عليه.
سنستخدم ext4 كمثال هنا لأنه يسمح لنا بزيادة وتقليل حجم كل حجم منطقي (على عكس xfs الذي يسمح فقط بزيادة الحجم):
# mkfs.ext4 /dev/vg00/vol_projects # mkfs.ext4 /dev/vg00/vol_backups
في القسم التالي سنشرح كيفية تغيير حجم الأحجام المنطقية وإضافة مساحة تخزين فيزيائية إضافية عند الحاجة إلى ذلك.
تغيير أحجام الأقراص المنطقية وتوسيع مجموعات الأقراص
الآن تخيل السيناريو التالي. أنت بدأت تواجه نقص في المساحة في vol_backups
، بينما لديك الكثير من المساحة المتاحة في vol_projects
. نظرًا لطبيعة LVM، يمكننا بسهولة تقليل حجم الأخير (مثل 2.5 جيجابايت) وتخصيصه للأولى، مع إعادة تحجيم كل نظام ملفات في نفس الوقت.
لحسن الحظ، هذا سهل تمامًا كما يلي:
# lvreduce -L -2.5G -r /dev/vg00/vol_projects # lvextend -l +100%FREE -r /dev/vg00/vol_backups

من المهم تضمين علامات الناقص (-)
أو الزائد (+)
أثناء تغيير حجم القسم المنطقي. وإلا، فإنك تعين حجمًا ثابتًا للـ LV بدلاً من تغيير حجمه.
قد تحدث حالات تصل فيها إلى نقطة لا يمكن فيها تغيير حجم الأقسام المنطقية لحل احتياجات التخزين الخاصة بك بعد الآن وتحتاج إلى شراء جهاز تخزين إضافي. لبقاء الأمور بسيطة، ستحتاج إلى قرص آخر. سنقوم بمحاكاة هذا الموقف عن طريق إضافة الـ PV المتبقي من إعدادنا الأولي (/dev/sdd
).
لإضافة /dev/sdd
إلى vg00
، افعل
# vgextend vg00 /dev/sdd
إذا قمت بتشغيل vgdisplay vg00
قبل وبعد الأمر السابق، سترى زيادة حجم VG:
# vgdisplay vg00

الآن يمكنك استخدام المساحة الجديدة المضافة لتغيير حجم الـ LVs الحالية وفقًا لاحتياجاتك، أو لإنشاء أخرى إضافية حسب الحاجة.
تقوم بتوصيل الأقسام المنطقية عند التمهيد وعند الطلب
بالطبع لن يكون هناك فائدة في إنشاء أقسام منطقية إذا لم نكن سنستخدمها فعليًا! لتحديد القسم المنطقي بشكل أفضل، سنحتاج إلى معرفة ما إذا كانت UUID (سمة ثابتة تحدد بشكل فريد جهاز تخزين مهيأ) الخاص به.
لقد تم ذلك باستخدام blkid متابعة مسار الجهاز المعين:
# blkid /dev/vg00/vol_projects # blkid /dev/vg00/vol_backups

قم بإنشاء نقاط الmount لكل من الVL:
# mkdir /home/projects # mkdir /home/backups
وأدرج تلك البيانات المتطابقة في /etc/fstab
(تأكد من استخدام الUUID التي حصلت عليها من قبل):
UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects ext4 defaults 0 0 UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4 defaults 0 0
ومن ثم حفظ التغييرات وتعليق الVL:
# mount -a # mount | grep home

حينما يتوجب عليك استخدام الVL فعليًا سوف تحتاج إلى تعيين ugo+rwx
الأولويات الصحيحة كما توضح الجزء 8 – إدارة المستخدمين والمجموعات في اللينكس من هذه السلسلة.
المواضيع الرئيسي
في هذه المقالة قمنا بتقديم إدارة المساحات المنطقية المنطقية، وهي أداة متنوعة لإدارة الأجهزة التخزينية التي توفر القدرة على التنمية. عند تحالفها مع الRAID (والذي شرحناه في الجزء 6 – إنشاء وإدارة الRAID في اللينكس من هذه السلسلة), يمكنك تمتع ليس فقط بالتنمية (التي توفرها LVM) ولكن أيضًا بالتضمين (الذي يقدمه RAID).
في هذا النوع من الإعدادة، سوف تجد LVM فوق RAID، أي أولاً قم بإعداد RAID ثم قم بإعداد LVM فوقه.
إذا كان لديك أسئلة حول هذا المقالة أو أقتراحات لتحسينه ، فلا تتردد في تواصل معنا عن طريق صندوق التعليقات الخاص بالأسفل.
Source:
https://www.tecmint.com/manage-and-create-lvm-parition-using-vgcreate-lvcreate-and-lvextend/