بدأت تظهر المزيد والمزيد من الحلول التي تبتعد عن نهج التخزين التقليدي الموحد. هذه هي مخازن متخصصة مصممة لمهام منطقة تجارية معينة. تحدثت سابقًا عن نظام Infinidat InfiniBox F2230. اليوم في مركز مراجعة SolidFire.
"Who f * cking storage hate storage" @ Dave Heats ، مؤسس NetAppفي نهاية عام 2015 ، أعلن NetApp عن شراء شركة SolidFire الناشئة ، التي تأسست في عام 2010. يرجع الاهتمام بهذه الأنظمة إلى نهجها المختلف في إدارة مستودعات البيانات والأداء المتوقع.
استكملت حلول SolidFire مجموعة منتجات NetApp ، والتي تضمنت كل Flash FAS (AFF) و EF و E Series. كما سمح أيضًا لمدة عام ونصف بإطلاق منتج جديد - NetApp HCI (Hyper Converged Infrastructure) ، والذي يستخدم SolidFire كنظام فرعي للتخزين.
"نحن بصدد تطوير نظام تخزين جديد مصمم لمراكز بيانات الحوسبة السحابية الكبيرة جدًا. تتمثل الفكرة في الأساس في أن العديد من الشركات تنقل الحوسبة من مكاتبها أو مراكز البيانات الخاصة بها إلى مراكز البيانات السحابية الحوسبة الضخمة هذه ، حيث لديها عشرات الآلاف من العملاء مع جميع معلوماتهم في مكان واحد. لذلك ، نقوم بإنشاء نظام تخزين جديد مصمم لخدمة مراكز البيانات الكبيرة هذه. "
ديف رايت ، الرئيس التنفيذي لشركة SolidFire ، 2012
في الآونة الأخيرة ، هناك المزيد والمزيد من الحلول التي تبتعد عن النهج التقليدي للمخازن الموحدة التي يمكن أن تحل أي مشاكل ، إلى المخازن المتخصصة المصممة لحل مشاكل منطقة تجارية معينة.
منذ وقت ليس ببعيد ،
تحدثت بالفعل عن نظام Infinidat InfiniBox F2230 ، وهو مثالي لمهام مزودي الخدمة. يمكن أيضًا أن يُنسب مشارك اليوم في مراجعة SolidFire إلى هذه الفئة من الأجهزة. يأتي مؤسس SolidFire Dave Wright وفريقه من RackSpace ، حيث كانوا يطورون نظام تخزين فعال يوفر أداء خطيًا في بيئة مع العديد من المستخدمين ، بينما كان بسيطًا وقابلًا للتطوير بسهولة ولديه إمكانات أتمتة مرنة. في محاولة لحل هذه المشكلة ، ولدت SolidFire.
حتى الآن ، تتكون تشكيلة SolidFire من أربعة نماذج بنسب مختلفة من IOPS / TB.
تُستخدم 10 محركات أقراص صلبة (MLC) لتخزين البيانات ، و Radian RMS-200 كـ NVRAM. صحيح ، هناك بالفعل خطط للانتقال إلى وحدات
NVDIMM .
من المهم هنا كيفية استرداد SolidFire للبيانات وتخزينها. نحن نعلم جميعًا عن الموارد المحدودة لمحركات أقراص SSD ، وبالتالي فمن المنطقي أن يتم الحفاظ عليها بشكل أفضل ، والضغط وإلغاء البيانات المكررة ، قبل التسجيل على SSD. عندما يتلقى SolidFire البيانات من المضيف ، فإنه يكسرها إلى كتل 4K ، وبعد ذلك يتم ضغط هذه الكتلة وتخزينها في NVRAM. ثم يحدث النسخ المتزامن لهذه الكتلة في NVRAM إلى العقدة "المجاورة" للكتلة. بعد ذلك ، يتلقى SolidFire تجزئة هذه الكتلة المضغوطة ويبحث عن قيمة التجزئة هذه في فهرس البيانات المخزنة داخل المجموعة بالكامل. في حالة وجود كتلة بها مثل هذا التجزئة بالفعل ، تقوم SolidFire بتحديث بياناتها الوصفية فقط برابط إلى هذه الكتلة ، إذا كانت الكتلة تحتوي على بيانات فريدة ، يتم كتابتها إلى SSD ، كما يتم كتابة البيانات الوصفية لها. هذه الآلية لتخزين البيانات والبيانات الوصفية تشبه إلى حد كبير آلية تشغيل تخزين الكائن.
مجموعة الاختبار لدينا من أربع عقدلقد ظهرت بالفعل شائعات بأن هذا الخط سيتم تحديثه قريبًا. تجدر الإشارة إلى شيء واحد مهم للغاية - أن مجموعة SolidFire قادرة على العمل مع العقد ذات "كثافة IOPs / TB" المختلفة ، ودمج العقد من أجيال مختلفة داخل مجموعة واحدة. أولاً ، هذا يجعل استخدام هذا النظام أكثر قابلية للتنبؤ به من حيث دعم الأجهزة ، ويسهل أيضًا الانتقال من العقد القديمة إلى العقد الجديدة ، عندما تقوم ببساطة بإضافة العقد الجديدة وحذف العقد القديمة من الكتلة في الوقت الحقيقي (في انتظار إعادة بناء المجموعة فقط) دون توقف ، لأن هناك دعم لكل من Scale Out و Scale Back.
يمكن تقديم SolidFire في ثلاثة حلول:
- SolidFire كمنتج مستقل يعتمد على خوادم Dell / EMC ،
- كجزء من FlexPod SF على خوادم Cisco ،
- كجزء من NetApp HCI على منصتها.
كما ترى من جدول الخصائص ، تدعم العقد اتصال iSCSI فقط ، وللاتصال FC هناك نوع منفصل من العقدة - ربط النسيج ، والذي بدوره يحتوي على أربعة منافذ لبيانات FC وأربعة منافذ iSCSI للاتصال بالعقد ، وكذلك 64 غيغابايت من ذاكرة النظام الأصلية / قراءة ذاكرة التخزين المؤقت.
يوضح جدول الخصائص أيضًا أداء كل عقد. هذه واحدة من تلك الحالات عندما تعرف أداء نظام التخزين الخاص بك في مرحلة الشراء. هذا الأداء مضمون (مع ملف تعريف تحميل 4Kb ، 80/20) لكل عقدة.
وفقًا لذلك ، عند شراء مجموعة من العقد X أو توسيع الحل الحالي ، فأنت تفهم مقدار الحجم ونوع الأداء الذي ستحصل عليه في النهاية. بالطبع ، يمكنك الحصول على المزيد من الأداء من كل عقدة تحت ظروف معينة ، ولكن هذا ليس ما تم تصميم هذا الحل له. إذا كنت ترغب في الحصول على الملايين من IOPS في 2U على وحدة تخزين واحدة ، فمن الأفضل أن تلفت انتباهك إلى المنتجات الأخرى ، مثل AFF. يمكن الحصول على أفضل أداء على SolidFire مع عدد كبير من المجلدات والجلسات.
واجهة المنزلإدارة التخزين بسيطة للغاية. في الواقع ، لدينا مجموعتان من الموارد: الحجم و IOPS. من خلال تحديد أحد أنواع الموارد ومعرفة عددها النهائي ، نفهم بوضوح القدرات الأخرى لنظامنا. هذا مرة أخرى يجعل توسيع النظام مهمة سهلة للغاية. هل تحتاج إلى المزيد من الأداء؟ ضع في اعتبارك SF4805 أو SF19210 بنسبة IOPS / TB "الأقل كثافة". هل تحتاج إلى حجم؟ نتطلع إلى SF9605 و SF38410 ، اللتين توفران عددًا أقل من IOPS على Gb.
من وجهة نظر مدير التخزين ، يبدو النظام مملًا للغاية. أشياء مثل إلغاء البيانات المكررة والضغط تعمل بشكل افتراضي.
النسخ المتماثل واللقطات متاحة أيضًا ، ويمكن تنظيم النسخ المتماثل لمجموعة كاملة من منتجات NetApp (باستثناء السلسلة E). هذه البساطة ، في رأيي ، هي التي تم الكشف عنها وراء الاقتباس من ديف هيتس من عنوان المقال. بالنظر إلى أن هذا النظام ينطوي على التكامل مع أنظمة مختلفة للتخصيص الديناميكي للموارد ، دون مشاركة المسؤول وبدون تكاليف عمل إضافية ، ستنسى قريبًا بشكل عام كيف تبدو واجهة SolidFire. لكننا سنتحدث أكثر عن التكامل.
أجرينا في
Onlanta اختبار الإجهاد للتأكد من أن IOPS الموعود به 200 ألف. لا يعني ذلك أننا لا نصدق البائع ، ولكننا معتادون على تجربة كل شيء بمفردنا. لم نحدد لأنفسنا هدف طرد النظام أكثر مما ذكر. تمكنا أيضًا من التحقق من تجربتنا الخاصة أن النظام يعطي نتيجة جيدة على وجه التحديد مع عدد كبير من التدفقات. للقيام بذلك ، قمنا بتنظيم 10 مجلدات من 1 تيرابايت على SolidFire ، وضعنا عليها جهازًا افتراضيًا واحدًا. بالفعل في مرحلة إعداد بيئة الاختبار ، فوجئنا بعمل إزالة البيانات المكررة. على الرغم من حقيقة أن مخطط عملها قياسي إلى حد ما ، فقد تبين أن جودة العمل داخل المجموعة فعالة للغاية. تمت تعبئة الأقراص قبل الاختبارات ببيانات عشوائية.
لجعله أسرع ، أنشأنا كتلة 10 ميغابايت ، ثم ملأوها. علاوة على ذلك ، على كل جهاز افتراضي ، تم إنشاء هذه الكتلة بشكل منفصل ، أي يختلف النمط في جميع السيارات. من بين 10 تيرابايت مليئة بالبيانات - كانت المساحة المشغولة الفعلية على الصفيف 4 تيرابايت. كفاءة إلغاء البيانات المكررة هي 1: 2.5 ، في FAS مع هذا النهج ، تميل كفاءة إلغاء البيانات المكررة إلى 0. تمكنا من الحصول على 190 ألف IOPS باستجابة ~ 1 مللي ثانية على منضدة الاختبار الخاصة بنا.
أود أن أشير إلى أن الميزات المعمارية للحل لا تسمح بالحصول على مستوى عال من الأداء على عدد صغير من الخيوط. لن يتمكن قمر صغير أو آلة افتراضية اختبار واحدة فقط من إظهار نتائج عالية. تمكنا من الحصول على هذا المبلغ من IOPS باستخدام السعة الكاملة للنظام ومع الزيادة التدريجية في عدد الأجهزة الافتراضية التي تنشئ حملًا باستخدام fio. قمنا بزيادة عددهم حتى لا تتجاوز التأخيرات 1.5 مللي ثانية ، ثم توقفنا وأزلنا مؤشرات الأداء.
يؤثر امتلاء النظام الفرعي للقرص أيضًا على الأداء. كما قلت سابقًا ، قبل تشغيل الاختبارات ، قمنا بملء الأقراص ببيانات عشوائية. إذا قمت بإجراء الاختبار دون ملء الأقراص أولاً ، فسيكون الأداء أعلى بكثير بنفس مستوى التأخير.
أجرينا أيضًا اختبار التسامح مع الخطأ المفضل لدينا عن طريق إيقاف تشغيل إحدى العقد. للحصول على أفضل تأثير ، تم تحديد عقدة رئيسية للتعطيل. نظرًا لحقيقة أن كل خادم عميل يؤسس جلسته الخاصة مع عقدة نظام المجموعة ، وليس من خلال نقطة واحدة ، عند فصل إحدى العقد ، لا تتدهور جميع الأجهزة الافتراضية ، ولكن فقط تلك التي عملت مع هذه العقدة. وفقًا لذلك ، من جانب التخزين ، لا نرى سوى انخفاض جزئي في الأداء.
بالطبع ، من جانب مضيفات المحاكاة الافتراضية ، في بعض متاجر البيانات ، كان انخفاض الأداء يصل إلى 0. ولكن في غضون 30 ثانية ، تمت استعادة الأداء دون خسارة في الأداء (يجب أن يوضع في الاعتبار أن الحمل في وقت الهبوط كان في 120 كيلو بايت iops ، والتي يمكن أن تنتج ثلاثة من أصل أربع عقد ، على التوالي ، لم يكن يجب أن نشهد خسارة في الأداء).
على جانب SolidFire ، بدأت إعادة بناء الصفيف. المؤقت يكذب قليلاً ، واستغرقت العملية حوالي 55 دقيقة ، والتي تناسب الساعة التي وعد بها البائع. في الوقت نفسه ، لم يقم أحد بإزالة الحمل من نظام التخزين ، وبقي عند نفس المستوى البالغ 120 ألف IOPS.يتم توفير التسامح مع الخطأ ليس فقط على مستوى القرص ، ولكن أيضًا على مستوى العقدة. يدعم نظام المجموعة الفشل المتزامن لعقدة واحدة ، وبعد ذلك تبدأ عملية إعادة بناء نظام المجموعة. بالنظر إلى استخدام SSD وأن جميع العقد متورطة في إعادة البناء ، يستغرق استرداد الكتلة حوالي ساعة (إعادة البناء في حالة فشل القرص تستغرق حوالي 10 دقائق). يجب أن يوضع في الاعتبار أنه عندما تفشل العقدة ، ستفقد في الأداء وفي مقدار المساحة القابلة للاستخدام. وفقًا لذلك ، تحتاج دائمًا إلى وجود مساحة خالية في مقدار عقدة واحدة. الحد الأدنى لحجم الكتلة هو أربع عقد. سيسمح لك هذا التكوين بتجنب المشاكل إذا فشلت إحدى العقد قبل انتظار وصول الاستبدال.
كما هو الحال مع معظم أنظمة التخزين ، يتم عرض مراقبة الأداء هنا فقط في الوقت الفعلي. من أجل الوصول إلى البيانات التاريخية ، تحتاج إلى نشر ما يسمى عقدة الإدارة ، والتي تلتزم بأخذ بيانات API من SolidFire وتحميلها إلى Active IQ. إذا كنت قد عملت بالفعل مع أنظمة NetApp ، فربما تكون قد صادفت بالفعل هذه البوابة. لديك الفرصة للعمل مع البيانات المتعلقة بالإنتاجية والكفاءة ، بما في ذلك توقعات النمو. في ما يمكنك الوصول إلى هذه البيانات حتى من جهازك المحمول ، في أي مكان في العالم.
بما أنني ذكرت عمل إلغاء البيانات المكررة ، فسأقول أيضًا عن كفاءة التخزين بشكل عام. كما هو الحال مع سلسلة AFF ، يوفر NetApp نسبة كفاءة تخزين مضمونة بناءً على نوع البيانات المخزنة.
كما ترى ، تختلف أنواع البيانات والمعاملات المضمونة قليلاً. على سبيل المثال ، لدى SolidFire حالتنا بالضبط - البنية التحتية الافتراضية بمعامل 4: 1. وهذا لا يأخذ في الاعتبار استخدام اللقطات.
تعتمد بنية الحل على جودة الخدمة (QoS) ، والتي تضمن في الواقع أداءً مضمونًا لكل وحدة تخزين.
QoS هي واحدة من الوظائف الهامة لمقدمي الخدمات والمؤسسات الأخرى التي تحتاج إلى توفير مستوى مضمون من أداء التخزين. سيقول أحدهم أن QoS ليس شيئًا جديدًا ويتم تنفيذه من قبل العديد من البائعين الآخرين. سؤال آخر هو كيف يعمل. إذا كان التخزين في التخزين التقليدي أكثر ميلًا لتحديد الأولويات والحد من السرعة ، فإن SolidFire ، بدوره ، يستخدم نهجًا متكاملًا لتحقيق أداء مضمون.
- يسمح لك استخدام محرك الأقراص ذي الحالة الثابتة بالكامل بتحقيق وقت استجابة منخفض للإدخال / الإخراج.
- يتنبأ التوسع بسهولة بمقاييس الأداء.
- عدم وجود RAID الكلاسيكي - أداء متوقع مع
- فشل الأجهزة
- توزيع الحمل المتوازن يزيل الاختناقات في النظام.
- تساعد جودة الخدمة على تجنب "الجيران الصاخبين".
بالإضافة إلى القدرة على تعيين الحد الأقصى والأدنى للأداء ، من الممكن توفير هذا الأداء بعد الحد الأقصى (Burst). يحتوي كل مجلد على نظام مشروط معين للقروض. عندما تكون إنتاجيته أقل من الحد الأقصى للعلامة ، يُنسب إليه هذه القروض ، وبفضله ، لفترة معينة من الوقت ، يمكنه التغلب على الحد الأقصى لعلامة الإنتاجية. يسمح لك هذا النهج بوضع عدد كبير من التطبيقات التي تتطلب أداءً عاليًا في التخزين ، وفي نفس الوقت تحميها من التأثيرات السلبية على بعضها البعض. الشيء الأكثر إثارة للاهتمام هو أن QoS مدعوم ليس فقط على مستوى حجم المصفوفة ، ولكن أيضًا على مستوى VMware VVs ، والذي يسمح بتخصيص دقيق للموارد لكل جهاز افتراضي. يوفر الدعم الكامل لـ VAAI وواجهة برمجة تطبيقات VASA تكاملًا صارمًا مع المصفوفة.
بالحديث عن التكامل ، فإن الحل من VMware لم ينته بعد.
ربما يمكن أن يُطلق على SolidFire نظام التخزين الأوتوماتيكي الذي يمكنه الاندماج مع أي أنظمة حديثة ، أنظمة المحاكاة / الحاويات ، يدعم أنظمة إدارة التكوين ، SDK متاح للغات مختلفة.
أنا ، كما هو الحال دائمًا ، أنظر إلى أول شيء تقوم به SDK لـ Python والذي أتمت به سير العمل الخاص بي. ولذا نحتاج إلى إنشاء 15 مجلدًا بسعة 1 تيرابايت والحصول على iqn عند الإخراج ، والذي سنمرره إلى مسؤولي VMware لإضافة مخازن البيانات. لدينا بالفعل مجموعات وصول تم إنشاؤها مسبقًا يتم فيها تسجيل مضيفي VMware وسياسات جودة الخدمة التي تم إنشاؤها مسبقًا.
أو إليك مقطع فيديو Python SDK Demo أكثر تفصيلاً من SolidFire نفسها:
هذا النهج للأتمتة يجعل SolidFire مناسبًا ليس فقط لمزودي الخدمات السحابية والمهام المماثلة ، ولكن وفقًا لمفهوم التكامل المستمر والتسليم (CI / CD) يسمح لك بتحسين عملية التطوير.
كما ذكرت - يعمل WebUI من خلال API ، ويمكنك رؤية جميع الطلبات والاستجابات من خلال سجل API.إذا كنت مهتمًا بمعرفة المزيد عن SolidFire ، ومقارنتها مع المنافسين ، والعمل مع النظام ، وما إلى ذلك ، فأنا أوصي بقناتهم على
YouTube ، التي تحتوي على عدد كبير إلى حد ما من مقاطع الفيديو المفيدة ، من المفيد. على سبيل المثال ، دورة "مقارنة البنيات الحديثة لجميع الفلاش".
من بين الميزات الرائعة في النظام هي الآلية المضمنة لنسخ اللقطات احتياطيًا إلى وحدة تخزين خارجية متوافقة مع S3. يسمح لك هذا باستخدام اللقطات كنسخ احتياطية وتخزينها في مستودعات خارجية سواء على موقعك أو على موارد خارجية ، على سبيل المثال ، في أمازون. بالطبع ، لا يمكن أن يسمى هذا النهج بالمرونة ، من وجهة نظر استعادة البيانات ، ولكن في بعض الحالات يمكن أن يكون هذا الحل مفيدًا وقابلاً للتطبيق تمامًا. هناك نقطة أخرى مثيرة للاهتمام - يمكنك تحميل البيانات إلى تخزين S3 بطريقتين:
- أصلية - في هذه الحالة ، سيتم سكب البيانات المكررة بالفعل ، ولكن في نفس الوقت ، يمكن استعادة هذا الحجم فقط إلى نفس النظام الذي تم سكبها عليه.
- غير مضغوط - تم سكب مجموعة كاملة من الكتل هنا بالفعل ، مما يسمح لك باستعادة هذا القمر على أي مجموعة SolidFire أخرى.
بشكل عام ، كنا أكثر من راضين عن اتصالاتنا مع SolidFire. لقد حصلنا على الأداء الموعود ، وأصبح عمل إلغاء البيانات المضمن يتجاوز الثناء ، كما تركت قدرات التكامل والأتمتة انطباعًا إيجابيًا للغاية. إن تأثير فشل العقد ، أو بالأحرى تأثيره الأدنى على أداء النظام ككل ، وتوزيع الحمولة وغياب نقطة واحدة من الفشل ، والتي يمكن أن تؤثر بشكل كبير على الأداء ، يجعل هذا النظام جذابًا للغاية. على الرغم من حقيقة أن الكتلة يمكن أن تعمل فقط على iSCSI ، فإن وجود عقدة النقل FC يجعل هذا النظام أكثر عالمية.
أود أن أعرب عن امتنان خاص في الاختبار لـ Yevgeny Krasikov من NetApp و Arthur Alikulov من Merlion. بالمناسبة ، آرثر ، لديه
قناة Telegram رائعة لكل من يريد مواكبة الأخبار من اتجاه التخزين و NetApp على وجه الخصوص. يمكنك العثور على كمية كبيرة من المواد المفيدة فيه ، وأي شخص يحتاج فقط إلى القراءة ، ولكنه يريد أيضًا التحدث ، هناك أيضًا
نقاشات حول الدردشة .
إذا كان لا يزال لديك أسئلة أو إذا ظهرت أسئلة جديدة فجأة ، فأنا أدعوك لزيارة NetApp الاتجاهات 2018 ، التي ستعقد في 17 يوليو 2018 في حياة ريجنسي بتروفسكي بارك ، حيث سنتحدث أنا وأرثر عن SolidFire في إحدى الجلسات.
التسجيل للحدث وجميع التفاصيل.