تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

الجزء 1. حول وحدة المعالجة المركزية
الجزء 2. حول الذاكرة

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

سأناقش الموضوع باستخدام مثال حظر الوصول إلى أنظمة التخزين، على الرغم من أن عدادات الوصول إلى الملفات هي نفسها تقريبًا.

بعض نظرية

عند الحديث عن أداء النظام الفرعي للقرص للأجهزة الافتراضية، عادة ما ينتبه الناس إلى ثلاث معلمات مترابطة:

  • عدد عمليات الإدخال/الإخراج (عمليات الإدخال/الإخراج في الثانية، IOPS)؛
  • الإنتاجية؛
  • تأخير عمليات الإدخال / الإخراج (الكمون).

عدد عمليات IOPS عادةً ما يكون هذا مهمًا لأحمال العمل العشوائية: الوصول إلى كتل القرص الموجودة في أماكن مختلفة. مثال على هذا الحمل يمكن أن يكون قواعد البيانات، وتطبيقات الأعمال (ERP، CRM)، وما إلى ذلك.

قدرة مهم للأحمال المتسلسلة: الوصول إلى الكتل الموجودة واحدة تلو الأخرى. على سبيل المثال، يمكن لخوادم الملفات (ولكن ليس دائمًا) وأنظمة المراقبة بالفيديو أن تولد مثل هذا الحمل.

وترتبط الإنتاجية بعدد عمليات الإدخال/الإخراج كما يلي:

الإنتاجية = IOPS * حجم الكتلة، حيث حجم الكتلة هو حجم الكتلة.

حجم الكتلة هو سمة مهمة إلى حد ما. تسمح الإصدارات الحديثة من ESXi بكتل يصل حجمها إلى 32 كيلو بايت. إذا كانت الكتلة أكبر، يتم تقسيمها إلى عدة. لا يمكن لجميع أنظمة التخزين العمل بكفاءة مع مثل هذه الكتل الكبيرة، لذلك توجد معلمة DiskMaxIOSize في إعدادات ESXi المتقدمة. باستخدامه، يمكنك تقليل الحد الأقصى لحجم الكتلة الذي يتخطاه برنامج Hypervisor (مزيد من التفاصيل هنا). قبل تغيير هذه المعلمة، أوصي باستشارة الشركة المصنعة لنظام التخزين أو على الأقل اختبار التغييرات على طاولة المختبر. 

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

كمون - معلمة الأداء الأكثر إثارة للاهتمام. يتكون زمن انتقال الإدخال/الإخراج للجهاز الظاهري من:

  • التأخير داخل برنامج Hypervisor (KAVG، Average Kernel MilliSec/Read)؛
  • التأخير الذي توفره شبكة البيانات ونظام التخزين (DAVG، برنامج التشغيل المتوسط ​​MilliSec/Command).

إجمالي زمن الوصول الذي يظهر في نظام التشغيل الضيف (GAVG، متوسط ​​الضيف MilliSec/Command) هو مجموع KAVG وDAVG.

يتم قياس GAVG وDAVG ويتم حساب KAVG: GAVG–DAVG.

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين
مصدر

دعونا نلقي نظرة فاحصة على كافج. أثناء التشغيل العادي، يجب أن يميل KAVG إلى الصفر أو على الأقل يكون أقل بكثير من DAVG. الحالة الوحيدة التي أعرفها عن ارتفاع KAVG المتوقع هي حد IOPS على قرص VM. في هذه الحالة، عند محاولة تجاوز الحد، سيزيد KAVG.

العنصر الأكثر أهمية في KAVG هو QAVG - وقت انتظار المعالجة داخل برنامج Hypervisor. المكونات المتبقية من KAVG لا تذكر.

قائمة الانتظار في برنامج تشغيل محول القرص وقائمة الانتظار للأقمار لها حجم ثابت. بالنسبة للبيئات المحملة بشكل كبير، قد يكون من المفيد زيادة هذا الحجم. ومن يصف كيفية زيادة قوائم الانتظار في برنامج تشغيل المحول (في نفس الوقت ستزداد قائمة الانتظار للأقمار). يعمل هذا الإعداد عندما يعمل جهاز افتراضي واحد فقط مع القمر، وهو أمر نادر. إذا كان هناك العديد من الأجهزة الافتراضية على القمر، فيجب عليك أيضًا زيادة المعلمة Disk.SchedNumReqOutstanding (تعليمات  هنا). من خلال زيادة قائمة الانتظار، يمكنك تقليل QAVG وKAVG على التوالي.

ولكن مرة أخرى، قم أولاً بقراءة الوثائق من بائع HBA واختبر التغييرات على طاولة المختبر.

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

لقد قمنا بفرز KAVG، والآن القليل عنه دافج. كل شيء بسيط هنا: DAVG هو التأخير الذي تسببه البيئة الخارجية (شبكة البيانات ونظام التخزين). يحتوي كل نظام تخزين حديث وغير حديث على عدادات أداء خاصة به. لتحليل مشاكل DAVG، فمن المنطقي أن ننظر إليها. إذا كان كل شيء على ما يرام فيما يتعلق بـ ESXi وجانب التخزين، فتحقق من شبكة البيانات.

لتجنب مشكلات الأداء، اختر سياسة تحديد المسار (PSP) الصحيحة لنظام التخزين الخاص بك. تدعم جميع أنظمة التخزين الحديثة تقريبًا PSP Round-Robin (مع أو بدون ALUA، الوصول إلى الوحدة المنطقية غير المتماثلة). تتيح لك هذه السياسة استخدام جميع المسارات المتاحة لنظام التخزين. في حالة ALUA، يتم استخدام المسارات إلى وحدة التحكم التي تمتلك القمر فقط. لا تحتوي جميع أنظمة التخزين في ESXi على قواعد افتراضية تحدد سياسة Round-Robin. إذا لم تكن هناك قاعدة لنظام التخزين الخاص بك، فاستخدم مكونًا إضافيًا من الشركة المصنعة لنظام التخزين، والذي سيقوم بإنشاء قاعدة مقابلة على جميع المضيفين في المجموعة، أو قم بإنشاء قاعدة بنفسك. تفاصيل هنا

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

عدادات أداء النظام الفرعي لقرص الجهاز الظاهري الأساسي

يتم جمع عدادات أداء النظام الفرعي للقرص في vCenter في أقسام البيانات، والقرص، والقرص الظاهري:

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

في القسم مخزن البيانات توجد مقاييس لمخازن أقراص vSphere (مخازن البيانات) التي توجد عليها أقراص VM. ستجد هنا عدادات قياسية لـ:

  • IOPS (متوسط ​​طلبات القراءة/الكتابة في الثانية) 
  • الإنتاجية (معدل القراءة/الكتابة)، 
  • التأخير (القراءة/الكتابة/أعلى الكمون).

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

في القسم أسطوانة توجد مقاييس على أجهزة الحظر التي يستخدمها الجهاز الافتراضي. هناك عدادات لـ IOPS من النوع الجمعي (عدد عمليات الإدخال/الإخراج خلال فترة القياس) والعديد من العدادات المتعلقة بالوصول إلى الكتلة (تم إحباط الأوامر، إعادة تعيين الناقل). في رأيي، من الملائم أيضًا عرض هذه المعلومات في ESXTOP.

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

يوجد في الصورة أدناه رسم بياني لأداء قرص VM، حيث يمكنك رؤية عدد عمليات IOPS وزمن الوصول وحجم الكتلة. 

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

يمكنك أيضًا عرض مقاييس الأداء لمخزن البيانات بالكامل إذا تم تمكين SIOC. فيما يلي معلومات أساسية عن متوسط ​​زمن الوصول وIOPS. افتراضيًا، لا يمكن عرض هذه المعلومات إلا في الوقت الفعلي.

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

إسكتوب

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

لنبدأ بمعلومات عن الأجهزة الافتراضية. يتم استدعاء شاشة "Disk VM" باستخدام المفتاح "v":

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

نفدسك هو عدد أقراص VM. لعرض المعلومات الخاصة بكل قرص، اضغط على "e" وأدخل معرف GID الخاص بالجهاز الافتراضي محل الاهتمام.

معنى المعلمات المتبقية على هذه الشاشة واضح من أسمائها.

شاشة أخرى مفيدة عند استكشاف الأخطاء وإصلاحها هي محول القرص. يتم استدعاؤها بواسطة المفتاح "d" (تم تحديد الحقول A وB وC وD وE وG في الصورة أدناه):

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

NPTH – عدد المسارات إلى الأقمار التي يمكن رؤيتها من هذا المحول. للحصول على معلومات لكل مسار على المحول، اضغط على "e" وأدخل اسم المحول:

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

عقلن - الحد الأقصى لحجم قائمة الانتظار على المحول.

يوجد أيضًا على هذه الشاشة عدادات التأخير التي تحدثت عنها أعلاه: كافج/cmd، جافج/cmd، دافج/cmd، QAVG/cmd.

توفر شاشة جهاز القرص، التي يتم استدعاؤها بالضغط على مفتاح "u"، معلومات عن أجهزة الكتلة الفردية - الأقمار (الحقول A، B، F، G، I محددة في الصورة أدناه). هنا يمكنك رؤية حالة قائمة الانتظار للأقمار.

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

دقلن - حجم قائمة الانتظار لجهاز الكتلة.
ACTV – عدد أوامر الإدخال/الإخراج في نواة ESXi.
QUED – عدد أوامر الإدخال/الإخراج في قائمة الانتظار.
٪دولار أمريكي – أكتف / دقلن × 100%.
حمل - (ACTV + QUED) / DQLEN.

إذا كانت نسبة %USD مرتفعة، فيجب أن تفكر في زيادة قائمة الانتظار. كلما زاد عدد الأوامر في قائمة الانتظار، ارتفع QAVG، وبالتالي KAVG.

يمكنك أيضًا أن ترى على شاشة جهاز القرص ما إذا كان VAAI (vStorage API for Array Integration) يعمل على نظام التخزين. للقيام بذلك، حدد الحقول A وO.

تتيح لك آلية VAAI نقل جزء من العمل من برنامج Hypervisor مباشرة إلى نظام التخزين، على سبيل المثال، التصفير أو نسخ الكتل أو الحظر.

تحليل أداء VM في برنامج VMware vSphere. الجزء 3: التخزين

كما ترون في الصورة أعلاه، يعمل VAAI على نظام التخزين هذا: يتم استخدام العناصر الأولية Zero وATS بشكل فعال.

نصائح لتحسين العمل مع النظام الفرعي للقرص على ESXi

  • انتبه إلى حجم الكتلة.
  • قم بتعيين حجم قائمة الانتظار الأمثل على HBA.
  • لا تنس تمكين SIOC في مخازن البيانات.
  • اختر PSP وفقًا لتوصيات الشركة المصنعة لنظام التخزين.
  • تأكد من أن VAAI يعمل.

مقالات مفيدة حول الموضوع:http://www.yellow-bricks.com/2011/06/23/disk-schednumreqoutstanding-the-story/
http://www.yellow-bricks.com/2009/09/29/whats-that-alua-exactly/
http://www.yellow-bricks.com/2019/03/05/dqlen-changes-what-is-going-on/
https://www.codyhosterman.com/2017/02/understanding-vmware-esxi-queuing-and-the-flasharray/
https://www.codyhosterman.com/2018/03/what-is-the-latency-stat-qavg/
https://kb.vmware.com/s/article/1267
https://kb.vmware.com/s/article/1268
https://kb.vmware.com/s/article/1027901
https://kb.vmware.com/s/article/2069356
https://kb.vmware.com/s/article/2053628
https://kb.vmware.com/s/article/1003469
https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/performance/vsphere-esxi-vcenter-server-67-performance-best-practices.pdf

المصدر: www.habr.com

إضافة تعليق