نظرة عامة #
LVM هو اختصار لعبارة Logical Volume Manager (مدير وحدة التخزين المنطقية)، وهو تقنية شائعة الاستخدام في أنظمة التشغيل Linux وأنظمة التشغيل الشبيهة بيونكس لإدارة محركات الأقراص ووحدات التخزين. يوفر هذا النظام مستوى من التجريد بين نظام التشغيل وأجهزة التخزين المادية، مما يسمح للمسؤولين بإنشاء وحدات تخزين منطقية تمتد على عدة أقراص مادية. المكونات الرئيسية لـ LVM:
الأحجام المادية (PVs):المجلدات المادية عادةً ما تكون محركات أقراص صلبة فردية، أو محركات أقراص ذات حالة صلبة (SSD)، أو أقسامًا على تلك المحركات. يجمع LVM مجلدًا ماديًا واحدًا أو أكثر في مجموعات مجلدات.
مجموعات الحجم (VGs)مجموعات وحدات التخزين هي مجموعات من وحدات التخزين المادية التي تُجمع معًا لتكوين وحدة تخزين أكبر. يمكن إضافة وحدات تخزين مادية متعددة إلى مجموعة وحدات تخزين واحدة، وتساهم كل منها بسعة تخزينها. يمكنك إنشاء مجموعات وحدات تخزين متعددة على نظام واحد.
الأحجام المنطقية (LVs)وحدات التخزين المنطقية هي أقسام افتراضية تُنشأ داخل مجموعات وحدات التخزين. يمكن تغيير حجمها ديناميكيًا، على عكس الأقسام التقليدية. وحدات التخزين المنطقية هي ما تستخدمه فعليًا لتخزين البيانات، ويتم تركيبها مثل الأقسام العادية.
المدى المادي (PEs)النطاقات المادية هي أصغر وحدة تخزين ضمن LVM. عند إنشاء مجموعة وحدات تخزين، تُقسّم وحدات التخزين المادية إلى أجزاء متساوية الحجم تُسمى نطاقات مادية. تُنشأ وحدات التخزين المنطقية بتخصيص عدد معين من النطاقات المادية من مجموعة وحدات التخزين.
المدى المنطقي (LEs)النطاقات المنطقية تُشبه النطاقات المادية، ولكنها تُستخدم ضمن وحدات التخزين المنطقية بدلاً من مجموعات وحدات التخزين. تُمثل النطاقات المنطقية أصغر وحدة تخصيص للبيانات ضمن وحدة تخزين منطقية.
أوامر LVMيوفر LVM مجموعة من الأوامر لإدارة وحدات التخزين المادية، ومجموعات وحدات التخزين، ووحدات التخزين المنطقية. تتضمن بعض الأوامر الشائعة ما يلي: بولي كلوريد الفينيل (لتهيئة الأحجام المادية)، برنامج vgcreate (لإنشاء مجموعات الحجم)، لفكريت (لإنشاء مجلدات منطقية)، com.lvextend (لتوسيع المجلدات المنطقية)، وغير ذلك الكثير.
ميزات LVM #
يوفر مدير وحدة التخزين المنطقية (LVM) العديد من الميزات والوظائف المفيدة التي تجعله أداة قيّمة لإدارة التخزين في أنظمة التشغيل Linux وأنظمة التشغيل الشبيهة بيونكس. فيما يلي بعض الاستخدامات الشائعة لـ LVM:
إدارة الأقراص المرنةيتيح LVM تغيير حجم وحدات التخزين المنطقية (LVs) ومجموعات وحدات التخزين (VGs) ديناميكيًا دون الحاجة إلى فصل نظام الملفات أو تعطيل الوصول إلى البيانات. تُعد هذه المرونة مفيدة بشكل خاص في البيئات التي تتغير فيها احتياجات التخزين بمرور الوقت.
إدارة الحجميتيح LVM تجميع وحدات تخزين مادية متعددة (PVs) في مجموعات وحدات تخزين منطقية (VGs)، مما يوفر مجموعة تخزين موحدة. يتيح هذا للمسؤولين إدارة موارد التخزين بكفاءة وتخصيص المساحة لأقسام أو أنظمة ملفات مختلفة حسب الحاجة.
إنشاء لقطةيدعم LVM إنشاء لقطات، وهي نسخ مؤقتة من وحدات التخزين المنطقية. يمكن استخدام اللقطات لأغراض متعددة، بما في ذلك عمليات النسخ الاحتياطي، واستعادة النظام، واختبار تحديثات أو إعدادات البرامج دون التأثير على البيانات الأصلية.
نقل البيانات وتنقلهايُسهّل LVM نقل البيانات بين الأجهزة المادية ومصفوفات التخزين دون تعطيل الخدمات أو التطبيقات. يُمكن للمسؤولين نقل البيانات بين أنواع مختلفة من أجهزة التخزين أو إعادة توزيعها عبر مصفوفات التخزين لتحسين الأداء أو السعة.
تقسيم الحجم وعكسهيدعم LVM تقسيم البيانات ونسخها على وحدات التخزين لتحسين الأداء وتكرار البيانات. يوزع التقسيم البيانات على وحدات تخزين مادية متعددة لتحسين أداء الإدخال/الإخراج، بينما ينسخ النسخ البيانات المكررة على وحدات تخزين مادية منفصلة لتوفير مقاومة للأخطاء وحماية البيانات من أعطال الأقراص.
التزويد الرقيقيوفر LVM توفيرًا دقيقًا، مما يسمح للمسؤولين بتخصيص مساحة تخزين عند الطلب بدلًا من تخصيصها مسبقًا. يساعد التوفير الدقيق على تحسين استخدام التخزين من خلال تقليل المساحة المهدورة، ويتيح إدارة موارد التخزين بكفاءة أكبر.
تشفير البياناتيوفر LVM دعمًا لتشفير البيانات على مستوى وحدة التخزين باستخدام تقنيات مثل dm-crypt وLUKS (إعداد مفتاح لينكس الموحد). تُعزز هذه الميزة أمان البيانات من خلال تشفير المعلومات الحساسة المخزنة على وحدات التخزين المنطقية، مما يحميها من الوصول غير المصرح به أو السرقة.
المرونة والتسامح مع الخطأيُعزز LVM مرونة النظام وقدرته على تحمّل الأخطاء من خلال توفير ميزات مثل RAID (مجموعة أقراص مستقلة متكررة) ونسخ وحدات التخزين. تُساعد هذه الميزات على الحماية من فقدان البيانات وتقليل وقت التوقف في حالة تعطل الأقراص أو مشاكل الأجهزة الأخرى.
تغيير حجم القرص باستخدام LVM #
RELIANOID أجهزة المنزل يتم تسليمها بتنسيق خفيف الوزن لتسهيل النشر والتثبيت على أي منصة، ولكن إذا كانت هناك حاجة إلى مزيد من التخزين لنظام التسجيل أو تكامل التطبيق المخصص، فسيكون تغيير حجم نظام الملفات ضروريًا.
يوفر هذا الدليل تعليمات خطوة بخطوة لتغيير حجم الأقسام على RELIANOID مُوازِن الأحمال باستخدام مُدير وحدة التخزين المنطقية (LVM). في هذه الحالة، يُوضَّح كيفية توصيل قرص جديد بالنظام وتوسيع قسم السجلات الذي يعاني من نقص المساحة.
تحديد الأقسام لتغيير الحجم #
استخدم الأمر lvdisplay لتحديد الأقسام المؤهلة لتغيير الحجم.
root@ee-noid-01:~# lvdisplay | grep "مسار LV" | grep root مسار LV /dev/root/backup مسار LV /dev/root/config مسار LV /dev/root/log مسار LV /dev/root/root مسار LV /dev/root/swap
ملاحظة: إذا لم يظهر مسار LV، فلن يكون من الممكن زيادة قسم الجذر الخاص بك.
التحقق من مساحة القرص الحالية #
استعمل df للتحقق من مساحة القرص الحالية وتحديد المساحة المتوفرة لتغيير الحجم.
root@ee-noid-01:~# df -h حجم نظام الملفات المستخدم الاستخدام المتاح % مُثبت على udev 983M 0 983M 0% /dev tmpfs 200M 3.0M 197M 2% /run /dev/mapper/root-root 5.0G 1.5G 3.3G 30% / tmpfs 998M 0 998M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 998M 0 998M 0% /sys/fs/cgroup /dev/mapper/root-log 3.4 جيجابايت 15 ميجابايت 3.2 جيجابايت 1% /var/log /dev/mapper/root-config 430M 2.4M 401M 1% /usr/local/zevenet/config /dev/mapper/root-backup 874M 2.2M 811M 1% /usr/local/zevenet/backups tmpfs 200M 0 200M 0% /run/user/0
إرفاق قرص افتراضي جديد #
XNUMX. من قائمة عميل المشرف الافتراضي في حال كان جهازًا افتراضيًا، أو فعليًا مع قرص جديد. في حال كان جهازًا ماديًا، قم بتوصيل قرص افتراضي جديد بالمساحة المطلوبة (مثلًا، 2 غيغابايت). حدد القرص الجديد، على سبيل المثال: / ديف / زنة، وذلك باستخدام FDISK.
root@ee-noid-01:~# fdisk -l القرص /dev/sdb: 2 جيجابايت، 2147483648 بايت، 4194304 قطاع نموذج القرص: الوحدات: قطاعات 1 * 512 = 512 بايت حجم القطاع (المنطقي/المادي): 512 بايت / 512 بايت حجم الإدخال/الإخراج (الحد الأدنى/الأمثل): 512 بايت / 512 بايت القرص /dev/sda: 12 جيجابايت، 12884901888 بايت، 25165824 قطاع [...]
إنشاء قسم #
استخدم fdisk / ديف / زنة لإنشاء قسم يغطي كامل مساحة القرص. اختر نوع القسم p للقسم الأساسي، ثم خصص له كامل مساحة القرص. غيّر نوع القسم إلى Linux LVM باستخدام t الأمر. اكتب التغييرات باستخدام w أمر.
root@ee-noid-01:~# fdisk /dev/sdb مرحبًا بك في fdisk (util-linux 2.33.1). ستبقى التغييرات في الذاكرة فقط، حتى تُقرر كتابتها. توخَّ الحذر قبل استخدام أمر الكتابة. لا يحتوي الجهاز على جدول أقسام مُعرَّف. تم إنشاء تسمية قرص DOS جديدة بمُعرِّف القرص 0xeb0c8ed2. الأمر (م للمساعدة): ن نوع القسم p أساسي (0 أساسي، 0 ممتد، 4 مجاني) e ممتد (حاوية للأقسام المنطقية) حدد (افتراضي p): p رقم القسم (1-4، الافتراضي 1): 1 القطاع الأول (2048-4194303، الافتراضي 2048):القطاع الأخير، +/- القطاعات أو +/- الحجم {K، M، G، T، P} (2048-4194303، الافتراضي 4194303): تم إنشاء قسم جديد 1 من نوع "Linux" وحجمه 2 جيجابايت. الأمر (م للمساعدة): ت القسم المحدد 1 رمز سداسي عشري (اكتب L لإدراج جميع الرموز): 8e تم تغيير نوع القسم 'Linux' إلى 'Linux LVM'. الأمر (م للمساعدة): w تم تعديل جدول الأقسام. جارٍ استدعاء ioctl() لإعادة قراءة جدول الأقسام. جارٍ مزامنة الأقراص.
تأكيد إنشاء القسم #
التحقق من إنشاء / ديف / sdb1 استخدام fdisk -l /dev/sdb.
root@ee-noid-01:~# fdisk -l /dev/sdb القرص /dev/sdb: 2 جيجابايت، 2147483648 بايت، 4194304 قطاعات طراز القرص: VBOX HARDDISK الوحدات: قطاعات 1 * 512 = 512 بايت حجم القطاع (منطقي/مادي): 512 بايت / 512 بايت حجم الإدخال/الإخراج (الحد الأدنى/الأمثل): 512 بايت / 512 بايت نوع تسمية القرص: dos معرف القرص: 0xeb0c8ed2 قطاع بداية تمهيد الجهاز النهاية الحجم المعرف النوع /dev/sdb1 2048 4194303 4192256 2G 8e Linux LVM
تحديد مجموعة الحجم #
التحقق من التفاصيل الحالية لمجموعة الحجم التي سيتم توسيعها باستخدام عرض افتراضي أمر.
root@ee-noid-01:~# vgdisplay --- مجموعة المجلد --- جذر اسم VG تنسيق معرف النظام lvm2 مناطق البيانات الوصفية 1 رقم تسلسل البيانات الوصفية 6 قراءة/كتابة الوصول إلى VG حالة VG قابلة للتغيير الحد الأقصى للمستوى 0 المستوى الحالي 5 مستوى مفتوح 5 الحد الأقصى للقيمة الحالية 0 القيمة الحالية 1 القيمة الفعلية للقيمة 1 حجم VG <12.00 جيجابايت حجم PE 4.00 ميجا بايت إجمالي PE 3071 تخصيص PE / الحجم 2862 / <11.18 جيجابايت PE مجاني / الحجم 209 / 836.00 ميجا بايت VG UUID FxCrfj-5Rt7-1CrE-9hUv-7qwj-0yAb-AJ2euu
توسيع مجموعة الحجم #
استعمل vgextend root /dev/sdb1 لتوسيع مجموعة المجلد بالقسم الجديد.
root@ee-noid-01:~# vgextend root /dev/sdb1 تم إنشاء المجلد المادي "/dev/sdb1" بنجاح. تم توسيع مجموعة المجلد "الجذر" بنجاح
تأكيد تمديد مجموعة المجلدات #
التحقق من امتداد مجموعة المجلد باستخدام عرض افتراضي.
root@ee-noid-01:~# vgdisplay --- مجموعة المجلد --- جذر اسم VG تنسيق معرف النظام lvm2 مناطق البيانات الوصفية 2 رقم تسلسل البيانات الوصفية 7 قراءة/كتابة الوصول إلى VG حالة VG قابلة للتغيير الحد الأقصى للمستوى 0 المستوى الحالي 5 مستوى مفتوح 5 الحد الأقصى للقيمة الحالية 0 القيمة الحالية 2 القيمة الفعلية للقيمة 2 حجم VG 13.99 جيجابايت حجم PE 4.00 ميجا بايت إجمالي PE 3582 تخصيص PE / الحجم 2862 / <11.18 جيجابايت PE مجاني / الحجم 720 / 2.81 جيجابايت VG UUID FxCrfj-5Rt7-1CrE-9hUv-7qwj-0yAb-AJ2euu
تعيين مساحة إضافية للقسم المطلوب #
استعمل lvextend -l +100% مجانًا /dev/root/log لتعيين المساحة الإضافية للقسم المطلوب (على سبيل المثال، السجلات).
root@ee-noid-01:~# lvextend -l +100% مجانًا /dev/root/log تم تغيير حجم جذر/سجل وحدة التخزين المنطقية من ٣٫٤٦ جيجابايت (٨٨٦ نطاقًا) إلى ٦٫٢٧ جيجابايت (١٦٠٦ نطاقًا). تم تغيير حجم جذر/سجل وحدة التخزين المنطقية بنجاح.
تأكيد التعيين #
تأكيد التعيين باستخدام lvdisplay.
root@ee-noid-01:~# lvdisplay [...] --- وحدة تخزين منطقية --- مسار LV /dev/root/log سجل اسم LV اسم VG الجذر LV UUID 3TJZYd-gT8Z-JjJY-2mNB-wxLr-Xcdt-6bMrVs الوصول للكتابة في LV قراءة/كتابة إنشاء LV المضيف، الوقت zva6000، 2023-06-20 12:43:08 +0000 حالة LV متاحة # مفتوحة 1 حجم LV 6.27 جيجابايت LE 1606 الحالية قطاعات 3 تخصيص وراثة قراءة القطاعات مسبقًا تلقائيًا - تم تعيينه حاليًا على 256 جهاز حظر 254:4 [...]
تغيير حجم القسم #
استعمل resize2fs /dev/root/log لتغيير حجم القسم بالمساحة الحرة الجديدة.
root@ee-noid-01:~# resize2fs /dev/root/log تم تثبيت نظام الملفات في /dev/root/log على /var/log؛ يتطلب تغيير الحجم عبر الإنترنت old_desc_blocks = 2، new_desc_blocks = 1.44.5. يبلغ طول نظام الملفات في /dev/root/log الآن 15 (2018k) كتلة.
تأكيد تغيير الحجم #
تأكد من توفر المساحة الحرة الجديدة باستخدام df.
root@ee-noid-01:~# df -h حجم نظام الملفات المستخدم الاستخدام المتاح % مُثبت على udev 983M 0 983M 0% /dev tmpfs 200M 3.1M 197M 2% /run /dev/mapper/root-root 5.0G 1.5G 3.3G 30% / tmpfs 998M 0 998M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 998M 0 998M 0% /sys/fs/cgroup /dev/mapper/root-config 430M 2.4M 401M 1% /usr/local/zevenet/config /dev/mapper/root-backup 874M 2.2M 811M 1% /usr/local/zevenet/backups /dev/mapper/root-log 6.2 جيجابايت 17 ميجابايت 5.8 جيجابايت 1% /var/log tmpfs 200M 0 200M 0% /run/user/0
من خلال اتباع الخطوات التالية، يمكنك تغيير حجم الأقسام بشكل فعال RELIANOID موزع التحميل باستخدام LVM، مما يضمن الاستخدام الأمثل لمساحة القرص ويجعله جاهزًا لتوسيع نطاق المزيد من الخدمات.