تكوين LVM على الجهاز الظاهري لـLinux في Azure
سيناقش هذا المستند كيفية تكوين Logical Volume Manager (LVM) في جهاز Azure الظاهري. يمكن استخدام LVM على قرص نظام التشغيل أو أقراص البيانات في أجهزة Azure الظاهرية، ومع ذلك، بشكل افتراضي، لن يكون لمعظم صور السحابة LVM مكونة على قرص نظام التشغيل. ستركز الخطوات أدناه على تكوين LVM لأقراص البيانات الخاصة بك.
وحدات تخزين منطقية خطية مقابل وحدات تخزين مخططة
يمكن استخدام LVM لدمج عدد من الأقراص الفعلية في وحدة تخزين واحدة. بشكل افتراضي، سيقوم LVM عادة بإنشاء وحدات تخزين منطقية خطية، ما يعني أن التخزين الفعلي متسلسل معا. في هذه الحالة، عادة ما يتم إرسال عمليات القراءة/الكتابة إلى قرص واحد فقط. في المقابل، يمكننا أيضا إنشاء وحدات تخزين منطقية مخططة حيث يتم توزيع القراءات والكتابة على أقراص متعددة موجودة في مجموعة وحدات التخزين (على غرار RAID0). لأسباب تتعلق بالأداء، من المحتمل أن ترغب في تخطيط وحدات التخزين المنطقية بحيث تستخدم عمليات القراءة والكتابة جميع أقراص البيانات المرفقة.
سيصف هذا المستند كيفية دمج العديد من أقراص البيانات في مجموعة وحدة تخزين واحدة، ثم إنشاء وحدة تخزين منطقية مخططة. يتم تعميم الخطوات أدناه للعمل مع معظم التوزيعات. في معظم الحالات، لا تختلف الأدوات المساعدة وسير العمل لإدارة LVM على Azure بشكل أساسي عن البيئات الأخرى. كالمعتاد، راجع أيضا مورد Linux للحصول على الوثائق وأفضل الممارسات لاستخدام LVM مع التوزيع الخاص بك.
إرفاق أقراص البيانات
عادة ما يرغب المرء في البدء بقرصين أو أكثر من أقراص البيانات الفارغة عند استخدام LVM. استنادا إلى احتياجات IO الخاصة بك، يمكنك اختيار إرفاق الأقراص المخزنة في التخزين القياسي لدينا، مع ما يصل إلى 500 IO/ps لكل قرص أو تخزين Premium لدينا مع ما يصل إلى 5000 IO/ps لكل قرص. لن تدخل هذه المقالة في تفاصيل حول كيفية توفير أقراص البيانات وإرفاقها بجهاز Linux الظاهري. راجع مقالة Microsoft Azure إرفاق قرص للحصول على إرشادات مفصلة حول كيفية إرفاق قرص بيانات فارغ بجهاز Linux ظاهري على Azure.
تثبيت الأدوات المساعدة LVM
Ubuntu
sudo apt-get update sudo apt-get install lvm2
RHEL وCentOS & Oracle Linux
sudo yum install lvm2
SLES 12 وopenSUSE
sudo zypper install lvm2
SLES 11
sudo zypper install lvm2
في SLES11، يجب عليك أيضا التحرير
/etc/sysconfig/lvm
وتعيينLVM_ACTIVATED_ON_DISCOVERED
إلى "تمكين":LVM_ACTIVATED_ON_DISCOVERED="enable"
تكوين LVM
في هذا الدليل، سنفترض أنك قمت بإرفاق ثلاثة أقراص بيانات، والتي سنشير إليها باسم /dev/sdc
و/dev/sdd
./dev/sde
قد لا تتطابق هذه المسارات مع أسماء مسارات القرص في الجهاز الظاهري. يمكنك تشغيل "sudo fdisk -l
" أو أمر مشابه لسرد الأقراص المتوفرة.
إعداد وحدات التخزين الفعلية:
sudo pvcreate /dev/sd[cde] Physical volume "/dev/sdc" successfully created Physical volume "/dev/sdd" successfully created Physical volume "/dev/sde" successfully created
إنشاء مجموعة وحدات تخزين. في هذا المثال، نقوم باستدعاء مجموعة
data-vg01
وحدة التخزين :sudo vgcreate data-vg01 /dev/sd[cde] Volume group "data-vg01" successfully created
إنشاء وحدة (وحدات) تخزين منطقية. الأمر أدناه سنقوم بإنشاء وحدة تخزين منطقية واحدة تسمى
data-lv01
لتمتد إلى مجموعة وحدة التخزين بأكملها، ولكن لاحظ أنه من الممكن أيضا إنشاء وحدات تخزين منطقية متعددة في مجموعة وحدة التخزين.sudo lvcreate --extents 100%FREE --stripes 3 --name data-lv01 data-vg01 Logical volume "data-lv01" created.
تنسيق وحدة التخزين المنطقية
sudo mkfs -t ext4 /dev/data-vg01/data-lv01
ملاحظة
مع استخدام
-t ext3
SLES11 بدلا من ext4. يدعم SLES11 فقط الوصول للقراءة فقط إلى أنظمة ملفات ext4.
إضافة نظام الملفات الجديد إلى /etc/fstab
هام
قد يؤدي تحرير /etc/fstab
الملف بشكل غير صحيح إلى نظام غير قابل للا تمهيد. إذا لم تكن متأكداً من ذلك، راجع وثائق التوزيع للحصول على معلومات بخصوص طريقة تحرير هذا الملف بشكل صحيح. يوصى أيضا بإنشاء نسخة احتياطية /etc/fstab
من الملف قبل التحرير.
إنشاء نقطة التحميل المطلوبة لنظام الملفات الجديد، على سبيل المثال:
sudo mkdir /data
تحديد موقع مسار وحدة التخزين المنطقية
lvdisplay --- Logical volume --- LV Path /dev/data-vg01/data-lv01 ....
افتح
/etc/fstab
في محرر نص وأضف إدخالا لنظام الملفات الجديد، على سبيل المثال:/dev/data-vg01/data-lv01 /data ext4 defaults 0 2
بعد ذلك، احفظ وأغلق
/etc/fstab
.اختبر أن
/etc/fstab
الإدخال صحيح:sudo mount -a
إذا كان هذا الأمر يؤدي إلى ظهور رسالة خطأ، فتحقق من بناء الجملة في
/etc/fstab
الملف.بعد ذلك،
mount
قم بتشغيل الأمر للتأكد من تثبيت نظام الملفات:mount ...... /dev/mapper/data--vg01-data--lv01 on /data type ext4 (rw)
(اختياري) معلمات التمهيد Failsafe في
/etc/fstab
تتضمن العديد من التوزيعات إما
nobootwait
معلمات التحميل أوnofail
التي يمكن إضافتها/etc/fstab
إلى الملف. تسمح هذه المعلمات بالفشل عند تحميل نظام ملفات معين وتسمح لنظام Linux بالاستمرار في التمهيد حتى إذا كان غير قادر على تحميل نظام ملفات RAID بشكل صحيح. راجع وثائق التوزيع للحصول على مزيد من المعلومات حول هذه المعلمات.مثال (Ubuntu):
/dev/data-vg01/data-lv01 /data ext4 defaults,nobootwait 0 2
دعم TRIM/UNMAP
تدعم بعض نوى Linux عمليات TRIM/UNMAP لتجاهل الكتل غير المستخدمة على القرص. هذه العمليات مفيدة بشكل أساسي في التخزين القياسي لإعلام Azure بأن الصفحات المحذوفة لم تعد صالحة ويمكن تجاهلها. يمكن أن يؤدي تجاهل الصفحات إلى توفير التكلفة إذا قمت بإنشاء ملفات كبيرة ثم حذفها.
هناك طريقتان لتمكين دعم TRIM في جهاز Linux الظاهري. كالعادة، استشر التوزيع للحصول على النهج الموصى به:
discard
استخدم خيار التحميل في/etc/fstab
، على سبيل المثال:/dev/data-vg01/data-lv01 /data ext4 defaults,discard 0 2
في بعض الحالات قد يكون للخيار
discard
آثار على الأداء. بدلاً من ذلك، يمكنك تشغيلfstrim
الأمر يدوياً من سطر الأوامر، أو إضافته إلى crontab لتشغيله بانتظام:Ubuntu
# sudo apt-get install util-linux # sudo fstrim /datadrive
RHEL وCentOS & Oracle Linux
# sudo yum install util-linux # sudo fstrim /datadrive