الجزء 1. حول وحدة المعالجة المركزيةالجزء 2. حول الذاكرةاليوم سوف نقوم بتحليل مقاييس النظام الفرعي للقرص في vSphere. مشكلة التخزين هي السبب الأكثر شيوعًا للجهاز الظاهري البطيء. في حالة حدوث مشكلات في وحدة المعالجة المركزية وذاكرة الوصول العشوائي (RAM) وذاكرة الوصول العشوائي (RAM) عند مستوى برنامج Hypervisor ، ثم مع مشاكل القرص ، فقد تضطر إلى التعامل مع شبكة البيانات وأنظمة التخزين.
سوف أقوم بتحليل الموضوع الخاص بمثال وصول الكتلة إلى التخزين ، على الرغم من أنه مع وصول الملفات ، تكون العدادات متماثلة تقريبًا.
قليلا من الناحية النظرية
عند الحديث عن أداء النظام الفرعي للقرص للأجهزة الافتراضية ، عادة ما تولي اهتماما لثلاثة معلمات ذات صلة:
- عدد عمليات الإدخال / الإخراج (عمليات الإدخال / الإخراج في الثانية ، IOPS) ؛
- عرض النطاق الترددي (الإنتاجية) ؛
- الكمون لعمليات الإدخال / الإخراج (الكمون).
عادة ما
يكون عدد IOPS مهمًا لأحمال العمل العشوائية: الوصول إلى الكتل على القرص الموجودة في أماكن مختلفة. يمكن أن تكون قواعد البيانات وتطبيقات الأعمال (ERP ، CRM) ، وما إلى ذلك ، مثالاً على مثل هذا الحمل.
تعتبر الإنتاجية مهمة بالنسبة للأحمال المتسلسلة: الوصول إلى الكتل الموجودة واحدة تلو الأخرى. على سبيل المثال ، يمكن لخوادم الملفات (ولكن ليس دائمًا) وأنظمة المراقبة بالفيديو إنشاء مثل هذا الحمل.
يرتبط الإنتاجية بعدد عمليات الإدخال / الإخراج كما يلي:
الإنتاجية = IOPS * حجم الكتلة ، حيث حجم الكتلة هو حجم الكتلة.
حجم الكتلة هو ميزة مهمة جدا. تتيح إصدارات ESXi الحديثة لبنات يصل حجمها إلى 32767 كيلوبايت. إذا كانت الكتلة أكبر ، يتم تقسيمها إلى عدة. لا يمكن أن تعمل جميع أنظمة التخزين بفعالية مع هذه الكتل الكبيرة ، لذا فإن الإعدادات المتقدمة ESXi بها المعلمة DiskMaxIOSize. باستخدامه ، يمكنك تقليل الحجم الأقصى للكتلة التي تم تخطيها بواسطة برنامج hypervisor (مزيد من التفاصيل
هنا ). أوصي بأن تستشير الشركة المصنعة لأنظمة التخزين قبل تغيير هذه المعلمة ، أو على الأقل اختبار التغييرات في مقعد المختبر.
يمكن أن تؤثر أحجام الكتل الكبيرة سلبًا على أداء التخزين. حتى إذا كان عدد IOPS والإنتاجية صغيرًا نسبيًا ، يمكن أن يحدث اختفاء كبير بحجم كتلة كبير. لذلك ، انتبه لهذه المعلمة.
الكمون هو معلمة الأداء الأكثر إثارة للاهتمام. الكمون لعمليات الإدخال / الإخراج لجهاز الظاهري هو مجموع:
- التأخيرات داخل برنامج Hypervisor (KAVG ، متوسط Kernel MilliSec / Read) ؛
- الكمون الذي قدمته شبكة البيانات والتخزين (DAVG ، متوسط سائق MilliSec / القيادة).
التأخير الكلي المرئي في نظام التشغيل الضيف (GAVG ، Average Guest MilliSec / Command) هو مجموع KAVG و DAVG.
يتم قياس GAVG و DAVG ، ويتم حساب KAVG: GAVG - DAVG.
مصدردعونا
نتطرق إلى
KAVG . في التشغيل العادي ، يجب أن تميل KAVG إلى الصفر ، أو على الأقل أصغر بكثير من DAVG. الحالة الوحيدة التي أعرفها عندما يُتوقع أن تكون KAVG عالية هي حد IOPS على قرص VM. في هذه الحالة ، عند محاولة تجاوز الحد ، ستزداد KAVG.
أهم عنصر في KAVG هو QAVG - الوقت في قائمة الانتظار للمعالجة داخل برنامج Hypervisor. المكونات المتبقية من KAVG لا تذكر.
قائمة الانتظار في برنامج تشغيل محول القرص وقائمة الانتظار القمر له حجم ثابت. بالنسبة للبيئات المحملة بشكل كبير ، قد يكون هذا الحجم مفيدًا في الزيادة. يصف كيفية زيادة قائمة الانتظار في برنامج تشغيل المحول (في نفس الوقت ستزيد قائمة الانتظار إلى الأقمار). يعمل هذا الإعداد عندما يعمل جهاز VM واحد فقط مع القمر ، وهو أمر نادر الحدوث. إذا كان هناك العديد من
VMs على القمر ، فيجب عليك أيضًا زيادة المعلمة
Disk.SchedNumReqOutstanding (التعليمات
هنا ). عن طريق زيادة قائمة الانتظار ، يمكنك تقليل QAVG و KAVG ، على التوالي.
لكن ، مرة أخرى ، اقرئي أولاً الوثائق من بائع HBA واختبر التغييرات في مقعد المختبر.
يمكن أن يتأثر حجم قائمة الانتظار إلى القمر بإدراج آلية التحكم في الإدخال / الإخراج في SIOC. يوفر وصولًا موحدًا إلى القمر من جميع الخوادم في الكتلة عن طريق تغيير قائمة الانتظار إلى القمر على الخوادم بشكل حيوي. بمعنى أنه إذا تم تشغيل VM على مضيف يتطلب قدراً غير متناسب من الأداء (جار صاخبة VM) ، فإن SIOC تقلل من طول قائمة الانتظار إلى القمر على هذا المضيف (DQLEN). مزيد من التفاصيل
هنا .
KAVG فرزها ، والآن قليلا عن
DAVG . كل شيء بسيط هنا: DAVG هو التأخير الذي توفره البيئة الخارجية (شبكة البيانات والتخزين). يحتوي أي نظام تخزين حديث وليس كذلك على عدادات أداء خاصة به. لتحليل المشكلات المتعلقة بـ DAVG ، من المنطقي النظر إليها. إذا كان كل شيء جيدًا على ESXi وجانب التخزين ، فتحقق من شبكة البيانات.
لتجنب مشاكل الأداء ، اختر سياسة تحديد المسار المناسبة (PSP) للتخزين. تدعم جميع أنظمة التخزين الحديثة تقريبًا PSP Round-Robin (مع أو بدون ALUA ، الوصول إلى الوحدة المنطقية غير المتماثلة). تتيح لك هذه السياسة استخدام جميع المسارات المتاحة للتخزين. في حالة ALUA ، يتم استخدام المسارات إلى وحدة التحكم التي تملك القمر فقط. لا تحتوي جميع أنظمة التخزين على ESXi على قواعد افتراضية تحدد سياسة Round-Robin. إذا لم تكن هناك قاعدة لنظام التخزين لديك ، فاستخدم المكوّن الإضافي من الشركة المصنعة للتخزين الذي سيُنشئ القاعدة المقابلة على جميع المضيفين في الكتلة ، أو أنشئ القاعدة بنفسك. التفاصيل
هنا .
أيضًا ، يوصي بعض بائعي التخزين بتغيير عدد IOPS لكل مسار من القيمة القياسية من 1000 إلى 1. في ممارستنا ، سمح لنا ذلك "بالضغط" على المزيد من الأداء من التخزين وتقليل الوقت اللازم للتوقف عن الفشل في حالة فشل أو تحديث وحدة التحكم. تحقق من توصيات البائع ، وإذا لم تكن هناك موانع ، فحاول تغيير هذه المعلمة. التفاصيل
هنا .
عدادات الأداء الأساسية للنظام الفرعي للقرص لجهاز ظاهري
يتم جمع عدادات أداء النظام الفرعي للقرص في vCenter في أقسام Datastore ، Disk ، Virtual Disk:

يحتوي قسم
Datastore على مقاييس لتخزينات أقراص vSphere (datastores) التي توجد عليها أقراص VM. ستجد هنا عدادات قياسية لـ:
- IOPS (متوسط طلبات القراءة / الكتابة في الثانية) ،
- عرض النطاق الترددي (معدل القراءة / الكتابة) ،
- التأخير (قراءة / كتابة / أعلى زمن انتقال).
من أسماء العدادات ، من حيث المبدأ ، كل شيء واضح. مرة أخرى ، سألفت الانتباه إلى أن الإحصائيات هنا ليست مخصصة لـ VM (أو قرص VM) ، ولكنها عامة لمخزن البيانات بأكمله. في رأيي ، من المريح النظر إلى هذه الإحصائيات في ESXTOP ، على الأقل على أساس أن الحد الأدنى لفترة القياس هو ثانيتين.
يحتوي قسم
القرص على مقاييس لأجهزة الكتلة المستخدمة بواسطة جهاز VM. هناك عدادات IOPS لنوع الجمع (عدد عمليات الإدخال / الإخراج لكل فترة قياس) وعدة عدادات تتعلق بمنع الوصول (أوامر تم إحباطها ، إعادة تعيين ناقل). في رأيي ، هذه المعلومات هي أيضا أكثر ملاءمة لمشاهدتها في ESXTOP.
يعتبر قسم
القرص الظاهري هو الأكثر فائدة من حيث استكشاف مشكلات أداء النظام الفرعي للقرص VM. هنا يمكنك رؤية الأداء لكل قرص افتراضي. هذه المعلومات ضرورية لفهم ما إذا كانت هناك مشكلة في جهاز ظاهري معين. بالإضافة إلى العدادات القياسية لعدد عمليات الإدخال / الإخراج وحجم القراءة / الكتابة والتأخير ، يحتوي هذا القسم على عدادات مفيدة تُظهر حجم الكتلة: حجم طلب القراءة / الكتابة.
في الصورة أدناه ، رسم بياني لأداء قرص VM ، حيث يمكنك رؤية عدد IOPS ، زمن الوصول وحجم الكتلة.

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

ESXTOP
لدى ESXTOP العديد من الشاشات التي تعرض معلومات حول النظام الفرعي للقرص المضيف ككل ، والأجهزة الظاهرية الفردية وأقراصها.
لنبدأ بالمعلومات حول الأجهزة الافتراضية. يتم استدعاء شاشة "Disk VM" بواسطة مفتاح "v":
NVDISK هو عدد أقراص VM. لعرض المعلومات على كل قرص ، اضغط على "e" وأدخل GID الخاص بـ VM الذي تهتم به.
معنى المعلمات المتبقية على هذه الشاشة واضح من أسمائها.
شاشة أخرى مفيدة لاستكشاف الأخطاء وإصلاحها هي محول القرص. يطلق عليه المفتاح "d" (في الصورة أدناه ، يتم اختيار الحقول A و B و C و D و E و G):
NPTH هو عدد مسارات
القمر المرئية من هذا المحول. للحصول على معلومات حول كل مسار على المحول ، اضغط على "e" وأدخل اسم المحول:
AQLEN - الحد الأقصى لحجم قائمة الانتظار على المحول.
يوجد أيضًا على هذه الشاشة عدادات التأخير التي تحدثت عنها أعلاه:
KAVG / cmd ، GAVG / cmd ، DAVG / cmd ، QAVG / cmd .
تعرض شاشة جهاز القرص ، والتي يطلق عليها المفتاح "u" ، معلومات حول أجهزة كتلة فردية - أقمار (في الصورة أدناه ، يتم تحديد الحقول A و B و F و G و I). هنا يمكنك رؤية حالة قائمة الانتظار إلى الأقمار.
DQLEN - حجم قائمة الانتظار لجهاز كتلة.
ACTV هو عدد أوامر الإدخال / الإخراج في ESXi الأساسية.
QUED - عدد أوامر الإدخال / الإخراج في قائمة الانتظار.
٪ USD - ACTV / DQLEN × 100٪.
تحميل - (ACTV + QUED) / DQLEN.
إذا كان٪ USD مرتفعًا ، فيجب أن تفكر في توسيع التشكيلة. كلما زاد عدد الفرق الموجودة في قائمة الانتظار ، ارتفعت QAVG وبالتالي KAVG.
يمكنك أيضًا معرفة ما إذا كانت VAAI (واجهة برمجة تطبيقات vStorage لـ Array Integration) تعمل على وحدة التخزين. للقيام بذلك ، حدد الحقلين A و O.
تتيح لك آلية VAAI نقل جزء من العمل من برنامج Hypervisor مباشرة إلى نظام التخزين ، على سبيل المثال ، التصفير أو نسخ الكتل أو الحظر.

كما ترون في الصورة أعلاه ، يعمل VAAI على نظام التخزين هذا: يتم استخدام Zero و ATS البدائي بنشاط.
ESXi نصائح القرص الأمثل
- إيلاء الاهتمام لحجم الكتلة.
- تعيين حجم قائمة الانتظار الأمثل على HBA.
- تذكر أن تقوم بتمكين SIOC على قواعد البيانات.
- اختر PSP وفقًا لتوصيات الشركة المصنعة.
- تأكد من أن VAAI تعمل.