تهيئة القرص المؤقت وتحميله إلى أجهزة Azure Linux الظاهرية

ينطبق على: ✔️ أجهزة Linux الظاهرية ✔️ مجموعات مقياس مرنة

تتناول هذه المقالة كيفية تهيئة الأقراص المؤقتة وتحميلها (المعروفة أيضا باسم أقراص الموارد) على أجهزة Azure Linux الظاهرية (VMs). اعتمادا على سلسلة الأجهزة الظاهرية الخاصة بك، تستخدم الأقراص المؤقتة إما واجهات SCSI أو NVMe. الأقراص المؤقتة ليست أقراصا مدارة، وليست مستمرة.

قم بتخزين البيانات المهمة على الأقراص المدارة بدلا من الأقراص المؤقتة المحلية. تهدف الأقراص المؤقتة بشكل عام إلى تخزين عناصر مثل ملفات الصفحات أو ملفات المبادلة أو ملفات SQL Server tempdb.

Prerequisites

قبل تهيئة الأقراص المؤقتة:

  • تحديد القرص الصحيح لتجنب فقدان البيانات
  • افهم أن البيانات ليست ثابتة عبر توقفات/عمليات توزيع الأجهزة الظاهرية
  • الحصول على وصول SSH إلى الجهاز الظاهري الخاص بك مع امتيازات الجذر أو sudo

تهيئة الأقراص

Warning

سيؤدي التهيئة إلى مسح جميع البيانات الموجودة على القرص نهائيا. تأكد من أنك تعمل مع القرص الصحيح وعدم وجود بيانات مهمة عليه.

استخدم أحدث إصدار من parted المتاح للتوزيع. إذا كان حجم القرص 2 تيبيبايت (TiB) أو أكبر ، فيجب عليك استخدام تقسيم GPT. إذا كان حجم القرص أقل من 2 تيرابايت ، فيمكنك استخدام تقسيم MBR أو GPT.

يستخدم parted المثال التالي على /dev/sdb، والذي عادة ما يظهر فيه الأقراص المؤقتة SCSI. استبدل sdb بالجهاز الصحيح للقرص الخاص بك. نحن نستخدم نظام ملفات XFS للحصول على أداء أفضل.

sudo parted /dev/disk/azure/resource --script mklabel gpt mkpart xfspart xfs 0% 100%  
sudo partprobe /dev/sdb
sudo mkfs.xfs /dev/sdb1

استخدم الأداة المساعدة partprobe للتأكد من أن النواة على دراية بالقسم الجديد ونظام الملفات. إذا كنت لا تستخدم partprobe، أو blkidlsblk قد لا ترجع الأوامر UUID لنظام الملفات الجديد على الفور.

تركيب الأقراص المؤقتة

الآن ، قم بإنشاء دليل لتحميل نظام الملفات باستخدام mkdir. بالنسبة للتخزين المؤقت، تتضمن /mntنقاط التحميل الشائعة ، /tmpأو الدلائل الخاصة بالتطبيق.

sudo mkdir /mnt/temp

يستخدم mount لتحميل نظام الملفات. يقوم المثال التالي بتحميل القسم /dev/sdb1 إلى /mnt/temp نقطة التحميل:

sudo mount /dev/sdb1 /mnt/temp

يمكنك أيضا استخدام مسار جهاز Azure:

sudo mount /dev/disk/azure/resource-part1 /mnt/temp

دعم TRIM/UNMAP للأقراص المؤقتة

تدعم الأقراص المؤقتة المحلية عمليات TRIM/UNMAP. للحصول على الأداء الأمثل:

استخدم discard خيار التحميل في /etc/fstab:

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /mnt/temp   xfs   defaults,discard,nobootwait   0   0

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

sudo apt install util-linux
sudo fstrim /mnt/temp

استكشاف الأخطاء وإصلاحها

عند إضافة أقراص بيانات إلى جهاز ظاهري يعمل بنظام التشغيل Linux، قد تواجه أخطاء إذا لم يكن القرص موجودا في LUN 0. إذا كنت تضيف قرصا يدويا باستخدام الأمر az vm disk attach -new وقمت بتحديد LUN (--lun) بدلا من السماح لنظام Azure الأساسي بتحديد LUN المناسب، فاحرص على وجود قرص بالفعل / سيكون موجودا في LUN 0.

ضع في اعتبارك المثال التالي الذي يوضح مقتطفا من الإخراج من lsscsi:

[5:0:0:0]    disk    Msft     Virtual Disk     1.0   /dev/sdc 
[5:0:0:1]    disk    Msft     Virtual Disk     1.0   /dev/sdd 

يوجد قرصا البيانات في LUN 0 و LUN 1 (العمود الأول في تفاصيل lsscsiالإخراج [host:channel:target:lun] ). يجب أن يكون كلا القرصين متاحين من داخل الجهاز الظاهري. إذا قمت بتحديد القرص الأول يدويا المراد إضافته في LUN 1 والقرص الثاني في LUN 2، فقد لا ترى الأقراص بشكل صحيح من داخل الجهاز الظاهري.

إشعار

قيمة Azure host هي 5 في هذه الأمثلة، ولكن قد يختلف هذا اعتمادا على نوع التخزين الذي تحدده.

سلوك القرص هذا ليس مشكلة Azure، ولكن الطريقة التي تتبع بها Linux kernel مواصفات SCSI. عندما تقوم Linux kernel بمسح ناقل SCSI للأجهزة المرفقة، يجب العثور على جهاز في LUN 0 حتى يتمكن النظام من مواصلة البحث عن أجهزة إضافية. على هذا النحو:

  • راجع الإخراج lsscsi بعد إضافة قرص بيانات للتحقق من أن لديك قرصا في LUN 0.
  • إذا لم يظهر القرص بشكل صحيح داخل الجهاز الظاهري، فتحقق من وجود قرص في LUN 0.