تحسين الأداء على الأجهزة الظاهرية (VM) التي تعمل بنظام التشغيل Linux من سلسلة Lsv3 وLasv3 وLsv2

تنبيه

تشير هذه المقالة إلى CentOS، وهو توزيع Linux يقترب من حالة نهاية العمر الافتراضي (EOL). يرجى مراعاة استخدامك والتخطيط وفقا لذلك. لمزيد من المعلومات، راجع إرشادات نهاية العمر الافتراضي CentOS.

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

تدعم Azure Virtual Machines (Azure VMs) من سلسلة Lsv3 وLasv3 وLsv2 أحمال العمل المختلفة التي تحتاج إلى إدخال/إخراج عالٍ وكذلك معدل نقل على التخزين المحلي عبر نطاق واسع من التطبيقات والصناعات. تعتبر سلسلة L مثالية للبيانات الكبيرة، وقواعد بيانات SQL، وNoSQL، وتخزين البيانات وقواعد بيانات العمليات الكبيرة، بما في ذلك Cassandra وMongoDB وCloudera وRedis.

تتوفر العديد من الإصدارات على Azure Marketplace بسبب العمل مع الشركاء في Linux. تم تحسين هذه الإصدارات لأداء من سلسلة Lsv3 وLasv3 وLsv2. تتضمن الإصدارات المتوفرة الإصدارات التالية والإصدارات الأحدث من:

  • Ubuntu 16.04
  • RHEL 8.0 والنُسخ، بما في ذلك CentOS وRocky Linux وAlma Linux
  • Debian 9
  • SUSE Linux 15
  • Oracle Linux 8.0

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

بنية مجموعة شرائح AMD EPYC™

تستخدم الأجهزة الظاهرية من سلسلة Lasv3 وLsv2 معالجات خادم AMD EPYC™‎ استنادًا إلى بنية Zen الصغيرة. قامت AMD بتطوير Infinity Fabric (IF) لـ EYPC™ كاتصال بيني قابل للتطوير لنموذج NUMA خاصتها والذي يمكن استخدامه في الاتصالات الموجودة في نفس الشريحة على الحزمة ومتعددة الحزم. مقارنةً بـ QPI (الاتصال المتداخل سريع المسار) وUPI (الاتصال المتداخل فائق المسار) المستخدم في معالجات القوالب المتجانسة الحديثة من Intel، يمكن أن توفر بنية NUMA ذات القوالب الصغيرة المتعددة من AMD كلاً من مزايا الأداء والتحديات. قد تختلف التأثيرات الفعلية للنطاق الترددي للذاكرة وقيود زمن الانتقال تبعًا لنوع أحمال العمل قيد التشغيل.

تلميحات لتحقيق أقصى قدر من الأداء

  • إذا كنت تقوم بتحميل Linux GuestOS مخصص لحمل العمل الخاص بك، فإنه يتم إيقاف تشغيل الشبكة المسرعة افتراضيًا. إذا كنت تنوي تمكين الشبكة المسرعة، فقم بتمكينها في وقت إنشاء الأجهزة الظاهرية للحصول على أفضل أداء.
  • للحصول على أقصى أداء، قم بتشغيل مهام متعددة بعمق قائمة انتظار عميقة لكل جهاز.
  • تجنب خلط أوامر مسؤول NVMe (على سبيل المثال، استعلام معلومات NVMe SMART، وما إلى ذلك) مع أوامر الإدخال/الإخراج لـ NVMe أثناء أحمال العمل النشطة. أجهزة Lsv3 وLasv3 وLsv2 NVMe مدعومة بتقنية Hyper-V NVMe Direct، والتي تتحول إلى "الوضع البطيء" عندما تكون أي أوامر مسؤول NVMe معلقة. قد يرى مستخدمو Lsv3 وLasv3 وLsv2 انخفاضًا كبيرًا في الأداء من حيث أداء إدخال/إخراج NVMe إذا حدث ذلك.
  • لا يُنصح مستخدمو Lsv2 بالاعتماد على معلومات NUMA الخاصة بالجهاز (جميعها 0) التي تم الإبلاغ عنها من داخل الجهاز الظاهري لمحركات أقراص البيانات لتحديد ترابط NUMA لتطبيقاتهم. الطريقة المُوصى بها للحصول على أداء أفضل هي توزيع أحمال العمل عبر وحدات المعالجة المركزية إن أمكن.
  • الحد الأقصى لعمق قائمة الانتظار المدعوم لكل زوج قائمة انتظار إدخال/إخراج لجهاز Lsv3 وLasv3 وLsv2 VM NVMe هو 1024. يوصى مستخدمو Lsv3 وLasv3 وLsv2 بالحد من أحمال عملهم المعيارية (التركيبية) في قائمة الانتظار بعمق 1024 أو أقل لتجنب تشغيل الظروف الكاملة لقائمة الانتظار، والتي يمكن أن تقلل الأداء.
  • يتم الحصول على أفضل أداء عندما يتم الإدخال/الإخراج مباشرة إلى كل جهاز من أجهزة NVMe الخام بدون تقسيم أو عدم وجود أنظمة ملفات أو تكوين RAID وغير ذلك. قبل بدء جلسة اختبار، تأكد من أن التكوين في حالة جديدة/نظيفة معروفة من خلال تشغيل blkdiscard على كل من أجهزة NVMe. للحصول على الأداء الأكثر اتساقا أثناء قياس الأداء، يوصى بشرط أجهزة NVMe قبل الاختبار عن طريق إصدار عمليات كتابة عشوائية لجميع LBAs للأجهزة مرتين كما هو محدد في مواصفات اختبار أداء SNIA Solid State Storage Enterprise.

استخدام تخزين NVMe المحلي

التخزين المحلي على قرص NVMe سعة 1.92 تيرابايت على جميع الأجهزة الظاهرية Lsv3 وLasv3 وLsv2 المؤقتة. أثناء إعادة التشغيل القياسي الناجحة للجهاز الظاهري، تستمر البيانات الموجودة على قرص NVMe المحلي. لا تستمر البيانات في NVMe إذا تمت إعادة توزيع الجهاز الظاهري أو إلغاء تخصيصه أو حذفه. لا تستمر البيانات إذا تسببت مشكلة أخرى في أن يصبح الجهاز الظاهري أو الجهاز الذي يعمل عليه غير صحي. عندما يحدث السيناريو، يتم مسح أي بيانات على المضيف القديم بأمان.

هناك أيضًا حالات يحتاج فيها الجهاز الظاهري إلى النقل إلى جهاز مضيف مختلف؛ على سبيل المثال، أثناء عملية الصيانة المخطط لها. يمكن توقع عمليات الصيانة المخطط لها وبعض أعطال الأجهزة من خلال الأحداث المجدولة. استخدم الأحداث المجدولة للبقاء على اطلاع دائم بأي عمليات صيانة واسترداد متوقعة.

في حالة حدث الصيانة المخطط لها سيتطلب إعادة إنشاء الجهاز الظاهري على مضيف جديد بأقراص محلية فارغة، ويجب إعادة مزامنة البيانات (مرة أخرى، مع محو أي بيانات على المضيف القديم بأمان). يحدث هذا السيناريو لأن سلسلة الأجهزة الظاهرية Lsv3 وLasv3 وLsv2 لا تدعم حالياً الترحيل المباشر على قرص NVMe المحلي.

ثمة طريقتان للصيانة المخطط لها.

الصيانة القياسية التي يتحكم فيها العملاء للجهاز الظاهري

  • يتم نقل الجهاز الظاهري إلى مضيف محدث خلال نافذة مدتها 30 يوماً.
  • قد يتم فقد بيانات التخزين المحلي Lsv3 وLasv3 وLsv2، لذلك يوصى بإجراء نسخ احتياطي للبيانات قبل الحدث.

الصيانة التلقائية

  • يحدث إذا لم ينفذ العميل الصيانة التي يسيطر عليها العميل، أو بسبب إجراءات الطوارئ، مثل الحدث اليومي غير الآمن.
  • يهدف إلى الحفاظ على بيانات العملاء، ولكن يوجد خطر صغير يتمثل في تجميد الجهاز الظاهري أو إعادة تشغيله.
  • قد يتم فقد بيانات التخزين المحلي Lsv3 وLasv3 وLsv2، لذلك يوصى بإجراء نسخ احتياطي للبيانات قبل الحدث.

بالنسبة لأي أحداث خدمة قادمة، استخدم عملية الصيانة التي يتم التحكم فيها لتحديد الوقت الأكثر ملاءمة لك من أجل التحديث. قبل الحدث، انسخ بياناتك احتياطيًا في مساحة تخزين متميزة. بعد اكتمال حدث الصيانة، يمكنك إعادة بياناتك إلى وحدة تخزين NVMe المحلية للأجهزة الظاهرية Lsv3 وLasv3 وLsv2 التي تم تحديثها.

تتضمن السيناريوهات التي تحتفظ بالبيانات الموجودة على أقراص NVMe المحلية ما يلي:

  • جهاز ظاهري يعمل وآمن.
  • يتم إعادة تشغيل الجهاز الظاهري في مكانه (بواسطتك أو بواسطة Azure).
  • تم إيقاف الجهاز الظاهري مؤقتاً (تم إيقافه دون إلغاء تخصيص).
  • معظم عمليات خدمة الصيانة المخطط لها.

تتضمن السيناريوهات التي تمحو البيانات بأمان لحماية العميل ما يلي:

  • يتم إعادة نشر الجهاز الظاهري أو إيقافه (إلغاء تخصيصه) أو حذفه (من قبلك).
  • يصبح الجهاز الظاهري غير سليم ويجب أن يقدم الإصلاح إلى عقدة أخرى بسبب مشكلة في الأجهزة.
  • عدد قليل من عمليات خدمة الصيانة المخطط لها التي تتطلب إعادة تخصيص الجهاز الظاهري إلى مضيف آخر للخدمة.

الأسئلة المتداولة

فيما يلي الأسئلة المتداولة حول هذه السلسلة.

كيف أبدأ في توزيع الأجهزة الظاهرية للسلسلة L؟

مثل أي جهاز ظاهري آخر، استخدم المدخل أو Azure CLI أو PowerShell لإنشاء جهاز ظاهري.

هل يتسبب فشل قرص NVMe واحد في فشل جميع الأجهزة الظاهرية الموجودة على المضيف؟

إذا تم الكشف عن فشل القرص على عُقدة الجهاز، يكون الجهاز في حالة فشل. عند حدوث هذه المشكلة، يتم إلغاء تخصيص جميع الأجهزة الظاهرية الموجودة على العقدة تلقائياً ونقلها إلى عقدة صحية. بالنسبة للأجهزة الظاهرية من سلسلة Lsv3 وLasv3 وLsv2، تعني هذه المشكلة أن بيانات العميل الموجودة على العقدة الفاشلة يتم محوها أيضًا بشكل آمن. يحتاج العميل إلى إعادة إنشاء البيانات على العقدة الجديدة.

هل أحتاج إلى تغيير إعدادات blk_mq؟

يستخدم RHEL/CentOS 7.x تلقائياً blk-mq لأجهزة NVMe. لا يلزم إجراء أي تغييرات أو إعدادات في التكوين.

الخطوات التالية

راجع المواصفات لجميع الأجهزة الظاهرية المُحسَّنة لأداء التخزين على Azure