مشاركة عبر


استخدم المدخل لإرفاق قرص بيانات بجهاز Linux الظاهري

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

توضح هذه المقالة كيفية إرفاق كل من الأقراص الجديدة والحالية بجهاز Linux الظاهري من خلال مدخل Microsoft Azure. يمكنك أيضا إرفاق قرص بيانات بجهاز ظاهري يعمل بنظام Windows في مدخل Microsoft Azure.

المتطلبات الأساسية

قبل إرفاق الأقراص بجهاز Azure الظاهري (VM)، راجع هذه التلميحات:

  • يتحكم حجم الجهاز الافتراضي في عدد أقراص البيانات التي يمكنك إرفاقها. للحصول على التفاصيل، راجع أحجام الأجهزة الظاهرية.

البحث عن الجهاز الظاهري

اتبع الخطوات التالية:

  1. انتقل إلى مدخل Microsoft Azure للعثور على الجهاز الظاهري. العثور على الأجهزة الظاهرية وتحديدها.

  2. حدد الجهاز الظاهري الذي تريد إرفاق القرص به من القائمة.

  3. في صفحة Virtual machines ، ضمن Settings، حدد Disks.

إرفاق قرص جديد

اتبع الخطوات التالية:

  1. في جزء Disks ، ضمن Data disks، حدد Create and attach a new disk.

  2. أدخل اسما للقرص المدار. راجع الإعدادات الافتراضية، وقم بتحديث نوع التخزينوالحجم (GiB)والتشفيروالتخزين المؤقت للمضيف حسب الضرورة.

    لقطة شاشة لمراجعة إعدادات القرص.

  3. عند الانتهاء، حدد حفظ في أعلى الصفحة لإنشاء القرص المدار وتحديث تكوين الجهاز الظاهري.

إرفاق قرص موجود

اتبع الخطوات التالية:

  1. في جزء Disks ، ضمن Data disks، حدد Attach existing disks.

  2. حدد القائمة المنسدلة لاسم القرص وحدد قرصا من قائمة الأقراص المدارة المتوفرة.

  3. حدد حفظ لإرفاق القرص المدار الموجود وتحديث تكوين الجهاز الظاهري:

الاتصال بجهاز Linux الظاهري لتحميل القرص الجديد

لتقسيم القرص الجديد الخاص بك وتنسيقه وتركيبه حتى يتمكن جهاز Linux الظاهري من استخدامه، SSH في الجهاز الظاهري الخاص بك. لمزيد من المعلومات، راجع كيفية استخدام SSH مع Linux على Azure. يتصل المثال التالي بجهاز ظاهري بعنوان IP العام 10.123.123.25 باسم المستخدم azureuser:

ssh azureuser@10.123.123.25

البحث عن القرص

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

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"

يتشابه الإخراج مع المثال التالي:

sda     0:0:0:0      30G
├─sda1             29.9G /
├─sda14               4M
└─sda15             106M /boot/efi
sdb     1:0:1:0      14G
└─sdb1               14G /mnt
sdc     3:0:0:0       4G

في هذا المثال، القرص الذي تمت إضافته هو sdc. إنه LUN 0 و4 غيغابايت.

للحصول على مثال أكثر تعقيدا، إليك ما تبدو عليه أقراص البيانات المتعددة في المدخل:

لقطة شاشة لأقراص متعددة معروضة في المدخل.

في الصورة، يمكنك أن ترى أن هناك ثلاثة أقراص بيانات: 4 غيغابايت على LUN 0 و16 غيغابايت في LUN 1 و32G في LUN 2.

من إخراج lsblk، يمكنك أن ترى أن القرص 4 غيغابايت في LUN 0 هو sdc، والقرص 16 غيغابايت في LUN 1 هو sdd، وقرص 32G في LUN 2 هو sde.

sda     0:0:0:0      30G
├─sda1             29.9G /
├─sda14               4M
└─sda15             106M /boot/efi
sdb     1:0:1:0      14G
└─sdb1               14G /mnt
sdc     3:0:0:0       4G
sdd     3:0:0:1      16G
sde     3:0:0:2      32G

إعداد قرص فارغ جديد

هام

إذا كنت تستخدم قرصا موجودا يحتوي على بيانات، فانتقل إلى تحميل القرص. تحذف الإرشادات التالية البيانات الموجودة على القرص.

إذا كنت تقوم بإرفاق قرص جديد، فستحتاج إلى تقسيم القرص.

parted يمكن استخدام الأداة المساعدة لتقسيم قرص بيانات وتنسيقه.

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

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

استخدم الأداة المساعدة partprobe للتأكد من أن النواة على دراية بالقسم ونظام الملفات الجديدين. يمكن أن يؤدي الفشل في الاستخدام partprobe إلى عدم إرجاع أوامر blkid أو lslbk إلى UUID لنظام الملفات الجديد على الفور.

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%
sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

تحميل القرص

إنشاء دليل لتحميل نظام الملفات باستخدام mkdir، ثم استخدم mount لتحميل نظام الملفات. بعد ذلك، أضف محرك الأقراص إلى ملف /etc/fstab للتأكد من إضافة محرك الأقراص تلقائيا بعد إعادة التشغيل.

تأكد من استخدام UUID (المعرف الفريد العالمي) في /etc/fstab للإشارة إلى محرك الأقراص بدلا من اسم الجهاز فقط (مثل/ dev/sdc1). إذا اكتشف نظام التشغيل خطأ في القرص أثناء التمهيد، فإن استخدام UUID يتجنب تركيب القرص غير الصحيح في موقع معين. سيتم بعد ذلك تعيين أقراص البيانات المتبقية لنفس معرفات الأجهزة. للعثور على UUID لمحرك الأقراص الجديد، استخدم blkid الأداة المساعدة.

sudo mkdir /datadrive
sudo mount /dev/sdc1 /datadrive
sudo blkid
/dev/sda1: LABEL="cloudimg-rootfs" UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4" PARTUUID="1a1b1c1d-11aa-1234-1a1a1a1a1a1a"
/dev/sda15: LABEL="UEFI" UUID="BCD7-96A6" TYPE="vfat" PARTUUID="1e1g1cg1h-11aa-1234-1u1u1a1a1u1u"
/dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4" TYPE="ext4" PARTUUID="1a2b3c4d-01"
/dev/sda14: PARTUUID="2e2g2cg2h-11aa-1234-1u1u1a1a1u1u"
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs" PARTLABEL="xfspart" PARTUUID="c1c2c3c4-1234-cdef-asdf3456ghjk"

تحرير ملف fstab

إشعار

قد يؤدي تحرير ملف /etc/fstab بشكل غير صحيح إلى نظام غير قابل للتشذيب. إذا لم تكن متأكدا، فراجع وثائق التوزيع للحصول على معلومات حول كيفية تحرير هذا الملف بشكل صحيح. يجب إنشاء نسخة احتياطية من ملف /etc/fstab قبل التحرير.

بعد ذلك، افتح ملف /etc/fstab في محرر نص. أضف سطرا إلى نهاية الملف، باستخدام قيمة /dev/sdc1 UUID للجهاز الذي تم إنشاؤه في الخطوات السابقة، ونقطة /datadriveتحميل . إذا استخدمت المثال من هذه المقالة، فسيبدو السطر الجديد مثل النموذج التالي.

عند الانتهاء من تحرير الملف، احفظ المحرر وأغلقه.

إشعار

قد تؤدي إزالة قرص بيانات لاحقاً دون تحرير fstab إلى فشل الجهاز الظاهري في التمهيد. توفر معظم التوزيعات إما خيارات nofail و/أو nobootwait fstab. تسمح هذه الخيارات للنظام بالتمهيد حتى إذا فشل القرص في التحميل في وقت التمهيد. راجع وثائق التوزيع الخاصة بك للحصول على مزيد من المعلومات حول هذه المعلمات.

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

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive   xfs   defaults,nofail   1   2

تحقق من القرص

يمكنك الآن استخدام lsblk مرة أخرى لرؤية القرص ونقطة التحميل. ثم يجب أن يبدو الإخراج شيئا مثل المثال.

في إخراج المثال التالي، يمكنك أن ترى أنه sdc تم تحميله الآن في /datadrive.

lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
sda     0:0:0:0      30G
├─sda1             29.9G /
├─sda14               4M
└─sda15             106M /boot/efi
sdb     1:0:1:0      14G
└─sdb1               14G /mnt
sdc     3:0:0:0       4G
└─sdc1                4G /datadrive

دعم TRIM/UNMAP لنظام Linux في Azure

تدعم بعض نوى Linux عمليات اقتطاع الأجزاء/UNMAP لتجاهل الكتل غير المستخدمة على القرص. هذه الميزة مفيدة بشكل أساسي لإعلام Azure بأن الصفحات المحذوفة لم تعد صالحة ويمكن تجاهلها. يمكن لهذه الميزة توفير المال على الأقراص التي تتم فوترتها استنادا إلى مقدار التخزين المستهلك، مثل الأقراص القياسية غير المدارة ولقطات القرص.

هناك طريقتان لتمكين دعم اقتطاع الأجزاء في جهاز Linux الظاهري الخاص بك. كالعادة، راجع التوزيع الخاص بك للنهج الموصى به:

  1. discard استخدم خيار التحميل في /etc/fstab، على سبيل المثال:

    ```config
    UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive   xfs   defaults,discard   1   2
    ```
    
  2. في بعض الحالات، قد يكون للخيار discard آثارًا على الأداء. بدلا من ذلك، يمكنك تشغيل الأمرfstrim يدويا من سطر الأوامر أو إضافته إلى crontab الخاص بك لتشغيله بانتظام:

    Ubuntu

    sudo apt-get install util-linux
    sudo fstrim /datadrive
    

    RHEL

    sudo yum install util-linux
    sudo fstrim /datadrive
    

    SUSE

    sudo zypper install util-linux
    sudo fstrim /datadrive