في هذه المقالة، أود أن أتحدث عن ميزات جميع مصفوفات Flash AccelStor التي تعمل مع إحدى منصات المحاكاة الافتراضية الأكثر شيوعًا - VMware vSphere. على وجه الخصوص، ركز على تلك المعلمات التي ستساعدك في الحصول على أقصى تأثير من استخدام أداة قوية مثل All Flash.
AccelStor NeoSapphire™ جميع صفائف الفلاش موجودة
يمكن تقسيم عملية النشر بأكملها والتكوين اللاحق للتشغيل المشترك لمصفوفة AccelStor ونظام المحاكاة الافتراضية VMware vSphere إلى عدة مراحل:
- تنفيذ طوبولوجيا الاتصال وتكوين شبكة SAN؛
- إعداد جميع مصفوفات الفلاش؛
- تكوين مضيفي ESXi؛
- إعداد الأجهزة الافتراضية.
تم استخدام مصفوفات القنوات الليفية AccelStor NeoSapphire™ ومصفوفات iSCSI كنماذج للأجهزة. البرنامج الأساسي هو VMware vSphere 6.7U1.
قبل نشر الأنظمة الموضحة في هذه المقالة، يوصى بشدة بقراءة الوثائق من VMware فيما يتعلق بمشكلات الأداء (
طوبولوجيا الاتصال وتكوين شبكة SAN
المكونات الرئيسية لشبكة SAN هي HBAs في مضيفي ESXi ومفاتيح SAN وعقد الصفيف. قد تبدو الطوبولوجيا النموذجية لمثل هذه الشبكة كما يلي:
يشير مصطلح Switch هنا إلى كل من المحول الفعلي المنفصل أو مجموعة المحولات (القماش)، وجهاز مشترك بين خدمات مختلفة (VSAN في حالة القنوات الليفية وVLAN في حالة iSCSI). سيؤدي استخدام مفتاحين/نسيجين مستقلين إلى القضاء على نقطة الفشل المحتملة.
لا يُنصح بشدة بالاتصال المباشر للمضيفين بالمصفوفة، على الرغم من دعمه. أداء جميع مصفوفات الفلاش مرتفع جدًا. وللحصول على أقصى سرعة، يجب استخدام جميع منافذ المصفوفة. ولذلك، فإن وجود مفتاح واحد على الأقل بين المضيفين وNeoSapphire™ يعد أمرًا إلزاميًا.
يعد وجود منفذين على المضيف HBA أيضًا متطلبًا إلزاميًا لتحقيق أقصى قدر من الأداء وضمان تحمل الأخطاء.
عند استخدام واجهة قناة ليفية، يجب تكوين تقسيم المناطق للتخلص من التصادمات المحتملة بين البادئين والأهداف. يتم إنشاء المناطق على مبدأ "منفذ بادئ واحد - منفذ صفيف واحد أو أكثر".
إذا كنت تستخدم اتصالاً عبر iSCSI في حالة استخدام محول مشترك مع خدمات أخرى، فمن الضروري عزل حركة مرور iSCSI داخل شبكة VLAN منفصلة. يوصى أيضًا بشدة بتمكين دعم إطارات Jumbo Frames (MTU = 9000) لزيادة حجم الحزم على الشبكة وبالتالي تقليل كمية المعلومات العامة أثناء الإرسال. ومع ذلك، تجدر الإشارة إلى أنه من أجل التشغيل الصحيح، من الضروري تغيير معلمة MTU على جميع مكونات الشبكة على طول سلسلة "initiator-switch-target".
إعداد كل مجموعة فلاش
يتم تسليم المصفوفة للعملاء الذين لديهم مجموعات تم تشكيلها بالفعل
للراحة، هناك وظيفة لإنشاء دفعة واحدة من عدة مجلدات بحجم معين. افتراضيًا، يتم إنشاء مجلدات رفيعة، حيث يسمح ذلك باستخدام أكثر كفاءة لمساحة التخزين المتاحة (بما في ذلك دعم استعادة المساحة). ومن حيث الأداء، فإن الفرق بين الأحجام "الرفيعة" و"السميكة" لا يتجاوز 1%. ومع ذلك، إذا كنت تريد "استخلاص كل العصير" من المصفوفة، فيمكنك دائمًا تحويل أي حجم "رفيع" إلى حجم "سميك". ولكن يجب أن نتذكر أن مثل هذه العملية لا رجعة فيها.
بعد ذلك، يبقى "نشر" وحدات التخزين التي تم إنشاؤها وتعيين حقوق الوصول إليها من المضيفين باستخدام قوائم ACL (عناوين IP لـ iSCSI وWWPN لـ FC) والفصل الفعلي عن طريق منافذ المصفوفة. بالنسبة لنماذج iSCSI، يتم ذلك عن طريق إنشاء هدف.
بالنسبة لنماذج FC، يتم النشر من خلال إنشاء رقم LUN لكل منفذ من الصفيف.
لتسريع عملية الإعداد، يمكن دمج المضيفين في مجموعات. علاوة على ذلك، إذا كان المضيف يستخدم FC HBA متعدد المنافذ (وهو ما يحدث غالبًا في الممارسة العملية)، فسيحدد النظام تلقائيًا أن منافذ HBA هذه تنتمي إلى مضيف واحد بفضل شبكات WWPN التي تختلف باختلاف واحد. يتم أيضًا دعم إنشاء دفعة من Target/LUN لكلا الواجهتين.
ملاحظة مهمة عند استخدام واجهة iSCSI هي إنشاء أهداف متعددة لوحدات التخزين مرة واحدة لزيادة الأداء، حيث لا يمكن تغيير قائمة الانتظار على الهدف وستكون بمثابة عنق الزجاجة بشكل فعال.
تكوين مضيفي ESXi
على الجانب المضيف ESXi، يتم إجراء التكوين الأساسي وفقًا للسيناريو المتوقع تمامًا. إجراءات اتصال iSCSI:
- إضافة محول iSCSI للبرنامج (غير مطلوب إذا تمت إضافته بالفعل، أو إذا كنت تستخدم محول iSCSI للأجهزة)؛
- إنشاء vSwitch الذي تمر من خلاله حركة مرور iSCSI، وإضافة وصلة صاعدة فعلية وVMkernal إليه؛
- إضافة عناوين المصفوفة إلى الاكتشاف الديناميكي؛
- إنشاء مخزن البيانات
بعض الملاحظات الهامة:
- في الحالة العامة، بالطبع، يمكنك استخدام vSwitch موجود، ولكن في حالة vSwitch المنفصل، ستكون إدارة إعدادات المضيف أسهل بكثير.
- من الضروري فصل الإدارة وحركة مرور iSCSI على روابط فعلية و/أو شبكات VLAN منفصلة لتجنب مشاكل الأداء.
- يجب أن تكون عناوين IP الخاصة بـ VMkernal والمنافذ المقابلة لمصفوفة All Flash ضمن نفس الشبكة الفرعية، وذلك مرة أخرى بسبب مشكلات في الأداء.
- لضمان تحمل الأخطاء وفقًا لقواعد VMware، يجب أن يحتوي vSwitch على وصلتين فعليتين على الأقل
- إذا تم استخدام إطارات ضخمة، فستحتاج إلى تغيير وحدة الإرسال الكبرى لكل من vSwitch وVMkernal
- سيكون من المفيد تذكيرك أنه وفقًا لتوصيات VMware الخاصة بالمحولات الفعلية التي سيتم استخدامها للعمل مع حركة مرور iSCSI، فمن الضروري تكوين Teaming وFailover. على وجه الخصوص، يجب أن يعمل كل VMkernal من خلال رابط صاعد واحد فقط، ويجب تحويل الوصلة الصاعدة الثانية إلى الوضع غير المستخدم. للتسامح مع الخطأ، تحتاج إلى إضافة اثنين من VMkernals، كل منهما سيعمل من خلال الوصلة الصاعدة الخاصة به.
محول VMkernel (vmk#)
محول الشبكة الفعلي (vmnic#)
vmk1 (التخزين01)
المحولات النشطة
vmnic2
محولات غير مستخدمة
vmnic3
vmk2 (التخزين02)
المحولات النشطة
vmnic3
محولات غير مستخدمة
vmnic2
لا توجد خطوات أولية مطلوبة للاتصال عبر القناة الليفية. يمكنك إنشاء مخزن بيانات على الفور.
بعد إنشاء مخزن البيانات، يتعين عليك التأكد من استخدام سياسة Round Robin للمسارات إلى Target/LUN باعتبارها الأكثر أداءً.
افتراضيًا، توفر إعدادات VMware إمكانية استخدام هذه السياسة وفقًا للمخطط: 1000 طلب عبر المسار الأول، و1000 طلب التالي عبر المسار الثاني، وما إلى ذلك. سيكون مثل هذا التفاعل بين المضيف ومصفوفة التحكم اثنين غير متوازن. لذلك، نوصي بتعيين معلمة سياسة Round Robin = 1 عبر Esxcli/PowerCLI.
المعلمات
بالنسبة لإسكسكلي:
- قائمة LUNs المتاحة
قائمة أجهزة تخزين esxcli nmp
- انسخ اسم الجهاز
- تغيير سياسة جولة روبن
مجموعة تخزين esxcli nmp psp roundrobin Deviceconfig - النوع = ios - iops = 1 - الجهاز = "Device_ID"
تم تصميم معظم التطبيقات الحديثة لتبادل حزم البيانات الكبيرة من أجل زيادة استخدام عرض النطاق الترددي وتقليل حمل وحدة المعالجة المركزية. ولذلك، يقوم ESXi افتراضيًا بإصدار طلبات الإدخال/الإخراج إلى جهاز التخزين في أجزاء يصل حجمها إلى 32767 كيلو بايت. ومع ذلك، في بعض السيناريوهات، سيكون تبادل أجزاء أصغر أكثر إنتاجية. بالنسبة لمصفوفات AccelStor، إليك السيناريوهات التالية:
- يستخدم الجهاز الظاهري UEFI بدلاً من Legacy BIOS
- يستخدم النسخ المتماثل vSphere
بالنسبة لمثل هذه السيناريوهات، يوصى بتغيير قيمة المعلمة Disk.DiskMaxIOSize إلى 4096.
بالنسبة لاتصالات iSCSI، يوصى بتغيير معلمة مهلة تسجيل الدخول إلى 30 (الافتراضي 5) لزيادة استقرار الاتصال وتعطيل تأخير DelayedAck لتأكيدات الحزم المعاد توجيهها. يتوفر كلا الخيارين في عميل vSphere: المضيف → التكوين → التخزين → محولات التخزين → الخيارات المتقدمة لمحول iSCSI
النقطة الدقيقة إلى حد ما هي عدد وحدات التخزين المستخدمة لمخزن البيانات. من الواضح أنه لسهولة الإدارة، هناك رغبة في إنشاء وحدة تخزين كبيرة واحدة لحجم المصفوفة بأكمله. ومع ذلك، فإن وجود العديد من وحدات التخزين، وبالتالي مخزن البيانات، له تأثير مفيد على الأداء العام (المزيد حول قوائم الانتظار أدناه). ولذلك، نوصي بإنشاء مجلدين على الأقل.
حتى وقت قريب نسبيًا، نصحت شركة VMware بالحد من عدد الأجهزة الافتراضية في مخزن بيانات واحد، مرة أخرى من أجل الحصول على أعلى أداء ممكن. ومع ذلك، الآن، خاصة مع انتشار VDI، لم تعد هذه المشكلة حادة للغاية. لكن هذا لا يلغي القاعدة القديمة - وهي توزيع الأجهزة الافتراضية التي تتطلب عمليات إدخال/إخراج مكثفة عبر مخازن بيانات مختلفة. لتحديد العدد الأمثل من الأجهزة الافتراضية لكل وحدة تخزين، لا يوجد شيء أفضل من
إعداد الأجهزة الافتراضية
لا توجد متطلبات خاصة عند إعداد الأجهزة الافتراضية، أو بالأحرى أنها عادية تمامًا:
- استخدام أعلى إصدار ممكن من VM (التوافق)
- يكون ضبط حجم ذاكرة الوصول العشوائي (RAM) أكثر حرصًا عند وضع الأجهزة الافتراضية بكثافة، على سبيل المثال، في VDI (حيث يتم إنشاء ملف صفحة بحجم يتناسب مع ذاكرة الوصول العشوائي (RAM) افتراضيًا عند بدء التشغيل، مما يستهلك سعة مفيدة ويكون له تأثير على الأداء النهائي)
- استخدم إصدارات المحول الأكثر إنتاجية من حيث الإدخال/الإخراج: نوع الشبكة VMXNET 3 ونوع SCSI PVSCSI
- استخدم نوع القرص السميك Eager Zeroed للحصول على أقصى قدر من الأداء والتوفير الرفيع لتحقيق أقصى استفادة من مساحة التخزين
- إذا أمكن، قم بتقييد تشغيل الأجهزة المهمة التي لا تحتاج إلى إدخال/إخراج باستخدام Virtual Disk Limit
- تأكد من تثبيت أدوات VMware
ملاحظات على قوائم الانتظار
قائمة الانتظار (أو عمليات الإدخال/الإخراج المعلقة) هي عدد طلبات الإدخال/الإخراج (أوامر SCSI) التي تنتظر المعالجة في أي وقت لجهاز/تطبيق معين. في حالة تجاوز قائمة الانتظار، يتم إصدار أخطاء QFULL، مما يؤدي في النهاية إلى زيادة في معلمة زمن الوصول. عند استخدام أنظمة تخزين القرص (المغزل)، من الناحية النظرية، كلما زادت قائمة الانتظار، زاد أدائها. ومع ذلك، لا ينبغي عليك إساءة استخدامه، لأنه من السهل الوقوع في QFULL. في حالة جميع أنظمة Flash، من ناحية، كل شيء أبسط إلى حد ما: بعد كل شيء، تحتوي المصفوفة على فترات استجابة أقل من حيث الحجم، وبالتالي، في أغلب الأحيان، ليست هناك حاجة لتنظيم حجم قوائم الانتظار بشكل منفصل. ولكن من ناحية أخرى، في بعض سيناريوهات الاستخدام (انحراف قوي في متطلبات الإدخال/الإخراج لأجهزة افتراضية محددة، واختبارات الحد الأقصى للأداء، وما إلى ذلك) من الضروري، إن لم يكن تغيير معلمات قوائم الانتظار، على الأقل فهم المؤشرات التي يمكن تحقيقه، والشيء الرئيسي هو ما هي الطرق.
في مجموعة AccelStor All Flash نفسها، لا توجد حدود فيما يتعلق بوحدات التخزين أو منافذ الإدخال/الإخراج. إذا لزم الأمر، حتى وحدة تخزين واحدة يمكن أن تتلقى جميع موارد المصفوفة. القيد الوحيد على قائمة الانتظار هو لأهداف iSCSI. ولهذا السبب تمت الإشارة أعلاه إلى الحاجة إلى إنشاء عدة أهداف (من الأفضل أن تصل إلى 8 قطع) لكل مجلد للتغلب على هذا الحد. دعونا نكرر أيضًا أن صفائف AccelStor هي حلول مثمرة للغاية. ولذلك، يجب عليك استخدام جميع منافذ واجهة النظام لتحقيق أقصى سرعة.
على الجانب المضيف ESXi، الوضع مختلف تمامًا. يطبق المضيف نفسه ممارسة الوصول المتساوي إلى الموارد لجميع المشاركين. ولذلك، توجد قوائم انتظار منفصلة للإدخال/الإخراج لنظام التشغيل الضيف وHBA. يتم دمج قوائم الانتظار لنظام التشغيل الضيف من قوائم الانتظار إلى محول SCSI الظاهري والقرص الظاهري:
تعتمد قائمة الانتظار إلى HBA على النوع/المورد المحدد:
سيتم تحديد الأداء النهائي للجهاز الظاهري من خلال الحد الأدنى لعمق قائمة الانتظار بين المكونات المضيفة.
بفضل هذه القيم، يمكننا تقييم مؤشرات الأداء التي يمكننا الحصول عليها في تكوين معين. على سبيل المثال، نريد معرفة الأداء النظري لجهاز افتراضي (بدون ربط الكتلة) بزمن وصول قدره 0.5 مللي ثانية. ثم IOPS = (1,000/زمن الوصول) * عمليات الإدخال/الإخراج المعلقة (حد عمق قائمة الانتظار)
أمثلة
مثال 1
- محول FC Emulex HBA
- جهاز افتراضي واحد لكل مخزن بيانات
- محول VMware Paravirtual SCSI
هنا يتم تحديد حد عمق قائمة الانتظار بواسطة Emulex HBA. وبالتالي فإن IOPS = (1000/0.5)*32 = 64 كيلو بايت
مثال 2
- محول برنامج VMware iSCSI
- جهاز افتراضي واحد لكل مخزن بيانات
- محول VMware Paravirtual SCSI
هنا يتم تحديد حد عمق قائمة الانتظار بالفعل بواسطة محول Paravirtual SCSI. وبالتالي فإن IOPS = (1000/0.5)*64 = 128 كيلو بايت
أفضل الموديلات لجميع صفائف Flash AccelStor (على سبيل المثال،
ونتيجة لذلك، مع التكوين الصحيح لجميع المكونات الموصوفة لمركز البيانات الافتراضي، يمكنك الحصول على نتائج مبهرة للغاية من حيث الأداء.
4K عشوائي، 70% قراءة/ 30% كتابة
في الواقع، العالم الحقيقي أكثر تعقيدًا بكثير مما يمكن وصفه بصيغة بسيطة. يستضيف مضيف واحد دائمًا أجهزة افتراضية متعددة بتكوينات ومتطلبات إدخال/إخراج مختلفة. ويتم التعامل مع معالجة الإدخال/الإخراج بواسطة المعالج المضيف، الذي لا تكون قوته لانهائية. لذلك، لفتح الإمكانات الكاملة للنفس
المصدر: www.habr.com