قررنا محاولة تطبيق اتجاه جديد في مجتمع تكنولوجيا المعلومات ، وهو التخزين المحدد بالبرامج.
سألنا موردينا الرائعين عن أرض اختبار.تكوين الحامل:- 3 خوادم SuperMicro X9SCL / X9SCM للتكوين التالي:
- معالج Intel E3-1220V2: 4 نواة × 3.1 جيجاهرتز
- رام - 16 جيجابايت
- محول Adaptec 6405E RAID: محرك أقراص مزود بذاكرة مصنوعة من مكونات صلبة سعة 2x300 جيجابايت SAS 10K و SSD 1x180 جيجابايت - يجب تهيئة جميع محركات الأقراص في وضع JBOD
- 2x500GB SATA 7.4K متصلة بالموصلات الموجودة على الحصيرة. لوحة دائرة كهربائية
- 2 × 1 جيجابايت NIC
في الواقع ، هناك الكثير من حلول SAN الافتراضية الآن ، سقطت Starwind VSAN بسبب القيود الكبيرة على الإصدار المجاني ، والتي قتلت جميع الميزات المثيرة للاهتمام ، سقطت VMWARE VSAN بسبب متطلبات الأجهزة والتكلفة العالية للملكية ، والتي ليست مثالية للميزانيات الإقليمية الصغيرة ، وكذلك لحقيقة أن هؤلاء. لا يوصي متخصصو VMWARE على الهامش باستخدام VSAN الخاص بهم للتطبيقات الهامة للأعمال. نتيجة لذلك ، اخترنا حلاً من Nutanix و EMC ScaleIO.ScaleIO هو برنامج SAN محدد من EMC، يمكن أن يعمل في الوضع الحر مع عدم وجود قيود تقريبًا (مكتوبة في الترخيص للاستخدام غير الإنتاجي!) - ناقص خطير الوحيد هو أن هذا النظام ليس لديه آليات مدمجة للتمزيق التلقائي للبيانات أو التخزين المؤقت ، أنا استخدم أقراص SSD. (على عكس المنافسين الذين تمنحهم SSD ميزة خطيرة في سرعة الأجهزة الافتراضية). من الناحية المعمارية ، يشبه بشدة نظام التخزين IBM XIV للمؤسسات عالي الجودة - حتى حجم الكتلة هو نفسه - 1 ميجابايت.قرأت الحد الأدنى من المتطلبات المتناقضة في مصادر مختلفة:- هذه هي متطلبات النظام الدنيا لتطبيق ScaleIO 1.31 و 1.32:
- يتم دعم حل ScaleIO 1.31 و 1.32 فقط على ESXi 5.5 GA.
- ثلاثة خوادم ESXi بسعة 100 جيجابايت مجانية لكل خادم
- شبكة 1 جيجابت / ثانية
- أربعة 7200 دورة في الدقيقة من أقراص SATA لكل عقدة
ومع ذلك ، في الممارسة العملية ، بالنسبة للإصدار 1.32 ، لم يتم الوفاء بهذه القيود.نظرًا لأننا في الإنتاج نستخدم برنامج VMWARE الصحيح عنصريًا ولا نحب برنامج Hyper-V غير الأرثوذكسي ، فقد اخترنا الإصدار التجريبي من VMWARE ESXi 6.0 للنشر كمراقب. من أجل العدالة ، تجدر الإشارة إلى أن ScaleIO يعمل بشكل جيد على أجهزة مراقبة الأجهزة XEN و ESXi و Hyper-V التالية ؛ في الأخير ، بمساعدة Windows 2012 r2 ، تجاوز الحرفيون نقص التخزين المؤقت لمجموعة صفيف SSD باستخدام الأدوات المدمجة في 2012 R2 ، والتي كان لها بالطبع تأثير إيجابي على أداء النظام. (هناك تقنية على الإنترنت)تحتاج أولاً إلى تثبيت برنامج مراقبة الأجهزة ESXi على جميع الأجهزة المضيفة وتثبيت الجهاز VCENTER لإدارة مجموعة VMWARE. كانت الحادثة الأولى في انتظارنا هناك - لم ترغب ESXi أبدًا في رؤية وحدة تحكم Adaptec 6405E ، على الرغم من وجودها في VMWARE HCL.نقوم بتنزيل برامج التشغيل (Offline-Bundles و VIB) من موقع Adaptec على الويب لـ VMWARE ومن خلال VMWARE powercli باستخدام هذه الأداة ، نقوم بإعداد صورة مخصصة لبرنامج Hypervisor مع برامج تشغيل مدمجة - وبعد ذلك ، أصبح كل شيء على ما يرام.بعد ذلك ، يتم نشر الوضع الظاهري لجهاز VCENTER ، ومرة أخرى ، من خلال برنامج vmware powercli ، يتم تسجيل المكونات الإضافية ScaleIO ويتم نسخ قوالب الجهاز الظاهري ScaleIO بتنسيق .ova إلى مخزن البيانات (وفقًا لإرشادات تثبيت ScaleIO).بعد إعادة تشغيل جميع الأجهزة المضيفة ، يكون النظام جاهزًا للعمل على تثبيت ScaleIO.أوصي بشدة بقراءة إرشادات النشر ، وإلا لن تكون العديد من النقاط غير مفهومة:- على سبيل المثال ، تحتاج إلى فهم أشياء مثل مجال الحماية وكيفية ارتباطها بمخازن التخزين- - ما هي توصيات إنشاء تجمعات التخزين (التي لا ينبغي أن تتداخل مع محركات الأقراص الثابتة ومحركات الأقراص الثابتة ، على الرغم من أن هذا ممكن)- لفهم ما هو FaultSets ، على الرغم من أننا لم نستخدمه. فهم ما هي سياسة ZeroPadding وسياسة ذاكرة التخزين المؤقت RAM وخياراتها وسياسة الغيار. لا تدعم ScaleIO العديد منالفروق الدقيقة القدرة على استخدام محركات أقراص SSD كذاكرة تخزين مؤقت لمجموعة مصفوفة بيانات! هذه ميزة غير سارة. يمكن جمع برك من SSD ، لكنها ستكون مجرد مسبح فلاش فقط - لا شيء أكثر!
نوصي باستخدام محول قراءة / كتابة ذاكرة التخزين المؤقت RAID كعنصر ذاكرة تخزين مؤقت إذا كان مزودًا ببطارية ، وهناك أيضًا وظيفة ذاكرة التخزين المؤقت RAM عند إنشاء مجال حماية يستخدم جزءًا من ذاكرة الوصول العشوائي لمضيف الظاهرية كذاكرة تخزين مؤقت للصفيف! (على ذاكرة وصول عشوائي سعتها 16 غيغابايت ، تمكنا من تخصيص 1.3 غيغابايت كذاكرة تخزين مؤقت في الإعدادات ، وقراءة الوثائق).كما أنك بحاجة إلى شبكتين VLAN افتراضيتين : الإدارة والبيانات ، ستحتاج إلى إصدار كل من 4 (في الحد الأدنى للتكوين) إدارة SVM (SVM - ScaleIO Virtual Machine) IP و DATA IP مع إشارة إلى البوابة والأقنعة. (يُنصح بشدة بإعداد خطة عنونة مقدمًا حتى لا تملأ جميع الحقول المطلوبة 10 مرات).بشكل عام ، في الوضع الأدنى ، يُنشئ التثبيت 4 SVMs على مضيفينا الثلاثة (SVM - ScaleIO Virtual Machine) ، ويأخذ 8 وحدة معالجة مركزية على الإطلاق (2 على المضيف: جهازان افتراضيان على المضيف الأول ، وبالتالي 4 vcpu) ، ويستهلك 12 جيجابايت من الذاكرة على الإطلاق.SVM على العقدة 1 - mdm الأساسي ، sds ، sdc SVM على العقدة 2 -mdm الثانوي ، sds ،sdc SVM على العقدة 3 - قواطع التعادل ، sdcSVM على أي عقدة - بوابة - (التحديث المركزي ، المراقبة ، الصيانة)mdm - إدارة بيانات التعريف - يدير جداول تخصيص جهازsds - خادم بيانات ScaleIO - يتحكم في توصيل محركات الأقراص الفعلية عبر أقراص RDM في VMWARE (تعيين القرص الخام)sdc - عميل بيانات ScaleIO - في حالة برنامج VMWARE يتم إضافته. وحدات kernel المدمجة أثناء مرحلة نشر ScaleIO وتسمح لك بتحقيق أداء أكبر مما كانت عليه عندما تعمل على الجهاز الظاهري SVM نفسه.أيضا ، ميزة كبيرة جدا لوجود SDC في النواة هو أن أحجام البيانات التي تم إنشاؤها على ScaleIO يتم تقديمها في VMWARE مباشرة مثل LUNs لإنشاء مخزن بيانات ، دون استخدام طبقة إضافية من المحاكاة الافتراضية وعرض المجلدات من خلال آلية iSCSI.
لم تتم عملية النشر بسلاسة ، حيث لم يكن لدينا شبكات VLAN وعناوين IP اللازمة لتجهيز SVM. بعد تحضير البيانات وإعادة تشغيل معالج التثبيت في الخطوة الأخيرة ، بدأت هذه الأخطاء في الظهور منا:فشل: إضافة جهاز SDS ScaleIO-4c1885e7 إلى أقراص التخزين الثابتة (ScaleIO - Timeout)مع ما تم توصيله لا أستطيع أن أقول. جلسنا ، فكرنا - حاولنا الضغط. اختفت الأخطاء السابقة ، ولكن ظهرت أخطاء أخرى على أحد SVMs على host2:فشل: إضافة جهاز SDS ScaleIO-4c1885eb إلى أقراص التخزين الثابتة (ScaleIO - تم إرفاق SDS بالفعل إلى MDM)جلسنا وفكرنا ... اكتشفنا على أحد أجهزة SVM حيث تم وضع mdm الثانوي ، لسبب ما أثناء تثبيت تعيينات RDM على الأقراص المادية ، وبالتالي لم ترتفع خدمة SDS. وهكذا ، واحدة من العقد التي لم نبدأ.قاموا بالنقر فوق الزر "نشر scaleio بيئة" مرة أخرى ، وها ، تم العثور على المضيف والجهاز الظاهري الفارغ على أنه غير مستخدم ، وأدخلوا البيانات حول شبكات VLAN وعناوين IP مرة أخرى ، وبدأ المضيف بشكل طبيعي دون أخطاء.بعد ذلك ، كانت لحظة مثيرة للاهتمام تنتظر في مرحلة إنشاء الحجم الذي سنضع البيانات عليه. لم أجد هذا العنصر في واجهة المستخدم الرسومية: لا في لوحة معلومات واجهة المستخدم الرسومية المثبتة على النوافذ ، ولا في واجهة المستخدم الرسومية لبرنامج VMWARE ، ولا في واجهة الويب الخاصة بالبوابة. الكثير من التعليمات للإنشاء من cli - وجدت بالصدفة في بعض المدونات.أعطي لقطة شاشة - حيث يوجد زر عزيز لإنشاء وحدة التخزين في VMWARE GUI.
مرحبا ، وجدت! لكن "الهتاف" لم يمض وقت طويل. وفقًا للشاشة الموجودة على مجموعة التخزين باسم محركات الأقراص الثابتة (حيث قمت بدمج جميع أقراص SAS الستة من جميع العقد الثلاث) ، لدينا حد إجمالي للسعة يبلغ 1.6 تيرابايت (والذي يتوافق بشكل عام مع 6x300 جيجابايت) ، ولكن لم يتم إنشاء وحدة تخزين بمثل هذا الحجم ... وليس من الواضح ما الحجم المتاح للمستخدم. قرأت تعليمات من الإنترنت حول كيفية استخدام CLI لمعرفة الحجم المتاح. ذهبنا عبر SSH إلى أحد أجهزة MDM SVMs - أعطي الأمر:ScaleIO-10-1-4-203:~ # scli --query_storage_pool --protection_domain_name pd2 --storage_pool_name hdds
Error: MDM failed command. Status: Invalid session. Please login and try again.
ماذا؟أحاول على MDM الثاني: الخطأ هو شيء مثل لا يمكن ربط مضيف محلي: 6611على البوابة قال بشكل عام أنه لا توجد مثل هذه الأوامر. كل شيء مذهول! ليس من الواضح كيفية استخدام CLI.نحن ندرس بعناية دليل المستخدم على ScaleIO خاصةً حول أساسيات CLI ، وتقول في النهاية أنك بحاجة إلى تسجيل الدخول إلى CLI وتاريخ الرابط ، وكيفية القيام بذلك ، ولكن عليك القيام بذلك على النحو التالي:ScaleIO-10-1-4-203:~
Enter password:
وبعد ذلك ، بدأت جميع فرق CLI العمل بشكل رائع.scli --query_storage_pool --protection_domain_name pd2 --storage_pool_name hdds
Storage Pool hdds (Id: 574711eb00000000) has 0 volumes and
544.0 GB (557056 MB) available for volume allocation
Background device scanner: Disabled
Zero padding is disabled
Spare policy: 34% out of total
Uses RAM Read Cache
RAM Read Cache write handling mode is 'cached'
1.6 TB (1667 GB) total capacity
1.1 TB (1100 GB) unused capacity
567.1 GB (580708 MB) spare capacity
انتظر ماذا؟ الحجم المتاح في حالتنا 544 جيجابايت ؟! كيف؟ لماذا ا؟ مطلوب شرح لبنية التخزين هنا (انظر الصورة): على
سبيل المثال إجمالي حجم مجموعة التخزين الخام المسمى HDDs: 1.6 تيرابايت ناقص 567.1 جيجا بايت سعة احتياطية = 1.1 تيرابايت سعة غير مستخدمة. يتم تحديد Spare Capacity بواسطة معلمة Spare Policy في الإعدادات. وفقًا للتوصيات الواردة في الوثائق ، للحماية الكاملة ضد فشل عقدة واحدة ، من الضروري أن تكون سعة التخزين 1 \ N على الأقل من إجمالي حجم جميع الأقراص المادية لجميع العقد المدرجة في تجمع التخزين ، حيث N هو عدد العقد الموجودة في التجمع (أي e إذا كان لدينا 3 عقد مع أقراص في مجموعة التخزين هذه ، فإن السعة الاحتياطية في حالتنا هي 1 \ 3 من 1.6 تيرابايت (من الإجمالي) ، على التوالي 567.1 غيغابايت (580708 ميغابايت).لذا ، نحصل على 1.1 تيرابايت من المساحة غير المستخدمة في مجموعة التخزين لإنشاء وحدة تخزين. ومع ذلك ، لأغراض التوافر العالي والموثوقية ، يقوم ScaleIO بتخزين نسختين من كل كتلة بيانات على جميع محركات الأقراص الفعلية ، على التوالي ، نقسم حجم 1.1 تيرابايت على مرتين ، ونتيجة لذلك نحصل على الحجم المتاح لإنشاء وحدة تخزين 544.0 جيجابايت.خلال التشغيل التجريبي للنظام ، تمكنا من تحقيق المؤشرات التالية (كانت السرعة 85-130 ميجابايت / ثانية ، ولكن عليك أن تفهم أن هذا هو مجرد تحميل جهاز افتراضي واحد ، عند توسيع الصفيف عن طريق إضافة العقد مع الأقراص ، أعتقد أنه سيكون جميعًا متناسبًا مع النمو مع IOPS):
Nutanix إصدار Comminity 4.5 - مجانًا للاستخدام غير التجاريبشكل عام ، وثائق Nutanix ، الغريب ، صغيرة جدًا ... تم توضيح بعض النقاط أثناء عملية التثبيت. يجمع Nutanix بين كل من برنامج إدارة المجموعات الافتراضية ونظام إدارة المجموعات الافتراضية (ala VMWARE Vcenter) في "شخص" واحد ، بالإضافة إلى نظام التخزين الموزع المقدم عبر NFS مع وظائف التوفر العالي.لسوء الحظ ، لم نتمكن من الحصول على الإصدار مع ESXi hypervisor. لذلك ، بدأوا في اختبار إصدار Community Edition ، ولديه العديد من القيود:- الحد الأقصى 4 عقد- 4 أقراص كحد أقصى لكل عقدة (بما في ذلك SSDs ، لذا فإن السعة القصوى لكل مضيف هي 18 تيرابايت (3 × 6 تيرابايت الأقراص الصلبة))- معالج Intel مع دعم VT-x 4 نوى كحد أدنى- وحدات تحكم واجهة تحكم المضيف المتقدمة المدمجة (AHCI) SATA- وحدات تحكم LSI في وضع تكنولوجيا المعلومات (يُظهر اختبار Nutanix أداء أفضل من IR)- يوصى بشدة بذاكرة 16 جيجا بايت على الأقل لكل مضيف (32 جيجا بايت أو أكثر لإلغاء البيانات المكررة - لا يتم تشغيلها لـ 16)- الحد الأدنى SSD لكل مضيف 200 جيجا بايت- الحد الأدنى حجم SSD لكل مضيف لدعم إلغاء البيانات المكررة 300 جيجابايت (يفضل أكثر من 400.480)لم يحدد Nutanix وحدة تحكم ADAPTEC 6405E SAS ، لذلك لم نتمكن من استخدام أقراص SAS (استخدمنا أقراص SATA و SSD المتصلة بالموصلات على اللوحة الأم).يتطلب التثبيت وجود وسائط على كل مضيف: لم نضع الصورة النهائية على الأقراص المحلية للخادم - نضع محرك أقراص فلاش 8 جيجا بايت على كل مضيف (الحد الأدنى من المتطلبات هو محرك أقراص فلاش 8 جيجا بايت ، أفضل 16 ، Hypervisor KVM (Acropolis) و CVM - يتم وضع الجهاز الظاهري للتحكم هناك - وما إلى ذلك لكل مضيف!) ، العدد الإجمالي لأجهزة CVM الافتراضية حسب عدد المضيفين.في حالتنا ، تم الحصول على التكوين التالي:- 16 غيغابايت من الذاكرة لكل مضيف- لكل مضيفين محركي أقراص صلبة HDD SATA 500 جيجابايت- لكل مضيف محرك أقراص ثابتة SSD 500 جيجابايت- لإلغاء البيانات المكررة ، تحتاج إلى 24 جيجابايت على الأقل من الذاكرة لكل مضيف + 300 جيجابايت SSD على الأقل لكل مضيف ، لذلك لم تثير لنا.في حالة عدم الامتثال للحد الأدنى من المتطلبات ، لم يتم تثبيت النظام ...لا يمكنك تغيير برنامج Hypervisor في Community Edition - يتم تثبيت KVM فقط بشكل افتراضي - وهذا يعد ناقصًا كبيرًا ، لأننا معتادون على استخدام برنامج VMWARE ESXi.بعد التثبيت ، يظهر جهاز افتراضي للخدمة (CVM - جهاز افتراضي للتحكم) على كل مضيف يشغل نوى معالج ويحتفظ بـ 12 غيغابايت من ذاكرة الوصول العشوائي على كل مضيف - ضع هذا في الاعتبار عند التخطيط.بعد التثبيت على جميع عقد المجموعة ، نقوم بإنشاء وحدات تخزين لتخزين البيانات: عند إنشاء StorageContainer ، إذا كان عامل النسخ المتماثل 2 ، فإن المساحة الخالية لتخزين القرص أقل بنسبة 50٪ (يتم تكرار جميع كتل البيانات على أقراص أخرى ، على سبيل المثال ، لدينا 3 مضيفين ، على كل قرصين SATA 500 جيجا بايت ، ما مجموعه 6 محركات أقراص + محركات أقراص SSD على كل مضيف فقط 2.88 تيرابايت الحجم الإجمالي منها 1.44 تيرابايت متاح للمستخدم للتخزين).بعد الإنشاء ، يمكن الوصول إلى صفيف القرص وتسليمه عبر NFS: على سبيل المثال ، تم توصيله بشكل مثالي بمجموعة VMWARE 5.5 كمخزن بيانات ، على التوالي ، يعمل vmotion للتخزين أيضًا ، على الرغم من أن السرعة أبطأ بكثير من FC 4Gb \ sec (يمكن فهمه باتصال جيجابت - كان من المثير للاهتمام ستقود على 10G أو infiniband).تم نقل جهاز مباشر سعة 60 جيجابايت من مجموعة VMWARE لمدة 24 دقيقة تقريبًا إلى وحدة تخزين Nutanix. انتقلت 13 دقيقة إلى تخزين FC مستوى المؤسسة.كتابة ملف iso من خادم windows إلى الجهاز الظاهري vmware الموجود على تخزين nutanix عبر nfs (1Gb / s) - 34 ميجابايت / ثانية.لا توجد أداة تفاعلية لإدارة مجموعات المنافذ و vswitch - كل شيء يتم من cli.نقطة غير واضحة حول الشبكات لتشغيل الأجهزة الافتراضية: أنصحك بقراءة الوثائق بعناية. بالنسبة للأجهزة الافتراضية الموجودة في Nutanix ، استخدمنا شبكات VLAN التي تستخدمها جميع أنظمة المحاكاة الافتراضية الأخرى لدينا للوصول إلى الشبكة. في مرحلة إعداد الشبكات الافتراضية ، يُشار ببساطة إلى رقم VLAN للشبكة الافتراضية - لا توجد إعدادات أخرى ، وفي خصائص الجهاز الظاهري تم تكوين محول الشبكة الافتراضية ليتناسب مع رقم الشبكة - وهذا كل شيء ، لا توجد إعدادات أخرى في واجهة المستخدم الرسومية! لكن كل شيء يعمل.لتثبيت الأجهزة الافتراضية الخاصة بضيوف Windows ، يجب توصيل قرص مضغوط افتراضي ثاني مع برامج تشغيل VirtIO (على سبيل المثال ، يمكنك أخذه من هنا (أولاً ضع ملف ISO على المستودع): fedoraproject.org/wiki/Windows_Virtio_Drivers#Direct_download )كان وقت تثبيت ضيف vm على windows 2012 R2 7 دقائق فقط من البداية إلى التحميل الكامل لنظام العمل ، وتعمل الآلة الافتراضية بشكل مرئي أيضًا بسرعة - من الواضح أن SSD يساعد.يمكنك وضع جهاز افتراضي على نوع IDE cortroler للقرص الظاهري (بدون توصيل برامج تشغيل VirtIO) ، لكن هذا ليس تكوينًا موصى به - سيكون الأداء أقل بكثير.أثناء فشل طاقة الاختبار لأحد المضيفين في المجموعة ، عمل HA ، ولم يتم تعليق النظام ، ويمكن الوصول إلى موارد القرص على الشبكة وعلى المستوى المحلي ، وأعيد تشغيل الأجهزة الافتراضية التي كانت على المضيف غير المتصل على المضيفين الآخرين (إذا كانت هناك ذاكرة كافية) ،ومع ذلك ، بعد تشغيل قوة المضيف الثالث ، كانت الحقيقة غير السارة هي أن حالة النظام تم الاحتفاظ بها في Critial لفترة طويلة جدًا - لا أعرف ما الذي يجذبه هذا ، ولكن ليس هناك الكثير من الأشياء الجيدة. (من ساعة إلى ساعتين). على سبيل المثال ، تحدد نفس مجموعة VMWARE بعد توصيل المضيف بسرعة حالتها وتتصل مرة أخرى بالكتلة.بشكل عام ، تجدر الإشارة إلى أن واجهة Prism لإدارة مجموعة من Nutanix CE لديها واجهة ضعيفة إلى حد ما (وإن كانت لطيفة). تتوفر الإعدادات الأساسية فقط ، ولكن بشكل عام تكون كافية للوهلة الأولى ، هناك نوع من التحليلات الرسومية القابلة للتخصيص ، على الرغم من أنها بالطبع أضعف بكثير من VCENTER.لا يزال من غير الواضح كيفية إجراء النسخ الاحتياطي: بعد كل شيء ، لا تدعم منتجات Symantec أو Veeam المحاكاة الافتراضية لـ KVM ... من الواضح ، من خلال اللقطات ، ولكن ماذا عن استعادة البيانات الدقيقة في هذه الحالة (ملف تلو الآخر).بصريا ، كان Nutanix أسرع بكثير ، أنه في مرحلة نسخ الصور إلى نظام التخزين الخاص به ، أنه في مرحلة تثبيت نظام التشغيل على جهاز افتراضي جديد من الصورة ، في مرحلة إعادة التمهيد: كل شيء تقريبًا على الفور). هناك رغبة في تجربة Nutanix على تكوين أكثر قوة وتأكد من استخدام برنامج VMWARE EXSi.بالطبع ، لا يمكنني تقديم أي بيانات أداء محددة لكلا النظامين ، ولكن يمكنك الحصول على بعض المعلومات حول "أشعل النار" في مرحلة الإعداد. إذا كنت أعتذر - الملاحظة الأولى على حبري.