التخزين الموزع الروسي. كيف يعمل



في هذا الربيع ، أعد فريق Reydiks وأصدر الإصدار الأول من البرنامج لإنشاء أنظمة تخزين كتلة موزعة تعمل على منصات خادم Elbrus-4.4 استنادًا إلى معالجات Elbrus-4C.

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

ومع ذلك ، لا تقتصر إمكانات نظام التشغيل المطور على أنظمة الخادم الروسية. في الوقت الحالي ، يتم اختبار واختبار التوافق مع خوادم x86-64 القياسية ، التي يتم توزيعها على نطاق واسع في السوق. بالإضافة إلى ذلك ، تم "إنهاء" المنتج إلى الوظيفة المطلوبة ، والتي ستسمح بتطبيقه خارج السوق الروسية.

أدناه سوف نقدم مناقشة صغيرة حول كيفية ترتيب حل البرنامج (يسمى RAIDIX RAIN) ، والذي يسمح بدمج وسائط الخادم المحلية في كتلة تخزين واحدة تتحمل الأخطاء مع إدارة مركزية وقدرات التحجيم الأفقي والرأسي.

ميزات التخزين الموزعة


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

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

يدعم RAIDIX RAIN قياس الكتلة الأفقي ، على النقيض من الحلول التقليدية ، تؤدي زيادة العقد (كتل الخادم) للنظام إلى زيادة خطية ليس فقط في السعة ، ولكن أيضًا في أداء النظام. هذا ممكن لأن كل عقدة RAIDIX RAIN لا تشمل الوسائط فحسب ، بل تتضمن أيضًا موارد الحوسبة لإدخال / إخراج ومعالجة البيانات.

سيناريوهات التطبيق


يتضمن RAIDIX RAIN تنفيذ جميع سيناريوهات التطبيق الرئيسية لتخزين الكتل الموزعة: البنية التحتية للتخزين السحابي ، وقواعد البيانات المحملة للغاية وتخزين تحليلات البيانات الضخمة. يمكن لـ RAIDIX RAIN أيضًا أن تتنافس مع أنظمة التخزين التقليدية بكميات بيانات عالية بما يكفي وقدرات مالية مقابلة للعميل.

غيوم عامة وخاصة


يوفر الحل قابلية التوسع المرنة اللازمة لنشر البنية التحتية السحابية: الأداء ، الإنتاجية وزيادة سعة التخزين مع إضافة كل عقدة إلى النظام.

قواعد البيانات


تعتبر مجموعة RAIDIX RAIN في تكوين الفلاش حلاً فعالاً لخدمة قواعد البيانات المحملة للغاية. سيكون الحل بديلاً ميسور التكلفة لمنتجات Oracle Exadata لـ Oracle RAC.

تحليلات البيانات الضخمة


جنبًا إلى جنب مع البرامج الإضافية ، من الممكن استخدام حل لإجراء تحليلات للبيانات الضخمة. يوفر RAIDIX RAIN مستويات أعلى بكثير من الأداء وسهولة الصيانة مقارنة بمجموعة HDFS.

هندسة الحلول


يدعم RAIDIX RAIN خيارين للنشر: مخصص (خارجي أو متقارب) ومتقارب للغاية (HCI ، بنية تحتية شديدة التقارب).

خيار النشر المخصص


في الإصدار المحدد ، تعد مجموعة RAIDIX RAIN مخزنًا برمجيًا كلاسيكيًا. يتم نشر الحل على العدد المطلوب من عقد الخادم المخصصة (على الأقل 3 ، الرقم غير محدود عمليا من أعلاه) ، والتي يتم استخدام مواردها بالكامل لمهام التخزين.

التين. 1. خيار نشر مخصص

يتم تثبيت برنامج RAIDIX RAIN مباشرة على المعدن العاري. يتم استضافة التطبيقات والخدمات وموارد الحوسبة التي تستخدم RAIN لتخزين المعلومات على المضيفين الخارجيين ويتم توصيلها بها عبر شبكة تخزين (بنية مركز البيانات الكلاسيكية).

خيار النشر المتقارب


يتضمن الخيار المفرط التقارب التنسيب المشترك لقوة الحوسبة (برنامج مراقبة الأجهزة الافتراضية وأجهزة الإنتاج) وموارد التخزين (تخزين البرامج) لمركز البيانات على مجموعة واحدة من العقد ، وهذا ينطبق بشكل أساسي على البنية التحتية الافتراضية. باستخدام هذا النهج ، يتم تثبيت برنامج RAIN على كل مضيف (عقدة) للبنية التحتية (HCI) في شكل جهاز افتراضي.

التين. 2. خيار النشر المتقارب

يتم تنفيذ تفاعل عقد RAIN العنقودية مع بعضها البعض ومع المستخدمين النهائيين لموارد التخزين (الخوادم والتطبيقات) عبر بروتوكولات iSCSI (IP ، IPoIB) ، iSER (RoCE ، RDMA) أو NVMeOF.

يوفر خيار النشر المتقارب للغاية المزايا التالية:

  • دمج موارد الحوسبة والتخزين (لا داعي لتنفيذ وصيانة وحدة تخزين خارجية مخصصة).
  • قياس الكتلة الأفقية المشتركة لموارد الحوسبة وموارد التخزين.
  • سهولة التنفيذ والصيانة.
  • إدارة مركزية.
  • وفر سعة الحامل واستهلاك الطاقة.

فيما يتعلق بالوسائط المستخدمة ، يدعم RAIDIX RAIN 3 تكوينات:

  • كل الفلاش - يتم توفير عقد الكتلة فقط مع وسائط الفلاش (NVMe ، SSD) ؛
  • HDD - يتم توفير عقد الكتلة فقط مع حاملات الأقراص الصلبة ؛
  • مختلط - مستويان تخزين مستقلان على محركات الأقراص الثابتة ومحركات الأقراص الثابتة.


المرونة الإنتاجية


القيمة الأساسية لـ RAIDIX RAIN هي التوازن الأمثل للأداء ، وتحمل الأخطاء ، والاستخدام الفعال لسعة التخزين.

كجزء من البنية التحتية لتكنولوجيا المعلومات الخاصة بالعميل ، فإن RAIDIX RAIN جذابة أيضًا حيث لدينا وصول كتلة "صادق" عند المخرجات ، والذي يميز الحل عن معظم نظائر السوق.

حاليًا ، تُظهر معظم المنتجات التنافسية أداءً عاليًا ، فقط عند استخدام النسخ المتطابق. في نفس الوقت ، يتم تقليل سعة التخزين المفيدة مرتين أو أكثر: تكرار البيانات الفردية (النسخ المتطابق) - تكرار 50٪ ، تكرار البيانات المزدوج (النسخ المزدوج) - تكرار 66.6٪.

يؤدي استخدام تقنيات تحسين التخزين مثل EC (Erasure Coding - Noiseless coding) وإلغاء البيانات المكررة والضغط التي يتم تنفيذها في أنظمة التخزين الموزعة إلى تدهور كبير في أداء التخزين ، وهو أمر غير مقبول للتطبيقات الحساسة للتأخير.

لذلك ، من الناحية العملية ، عادة ما تضطر مثل هذه الحلول للعمل دون استخدام هذه التقنيات ، أو لإدراجها فقط للبيانات "الباردة".

متطلبات تجاوز الفشل


في البداية ، تم تصميم RAIDIX RAIN مع مجموعة واضحة من المتطلبات الأولية لمرونة النظام وتوافره:

  • يجب أن تتغلب الكتلة على فشل عقدتين على الأقل ، مع وجود عدد أكبر من العقد بدقة 4. بالنسبة للعقد الثالث والرابع ، يتم ضمان فشل عقدة واحدة.
  • يجب أن تنجو العقدة من فشل قرصين على الأقل في كل عقدة إذا كانت هناك 5 أقراص على الأقل في العقدة.
  • يجب ألا يتجاوز مستوى التكرار لمحركات الأقراص في مجموعة نموذجية (من 16 عقدًا) 30٪
  • يجب أن يكون مستوى توفر البيانات 99.999٪ على الأقل

وقد أثر ذلك بشكل كبير على بنية المنتج الحالية.

إمكانات تشفير المحو في التخزين الموزع


إن نهج RAIDIX RAIN الأساسي للتسامح مع الخطأ هو استخدام تقنيات التشفير الفريدة. يتم استخدام شركات EC المعروفة بمنتجها الرئيسي أيضًا في التخزين الموزع ، مما يسمح بأداء مماثل للتكوينات المتطابقة. هذا ينطبق على كل من الأحمال العشوائية والمتسلسلة. في الوقت نفسه ، يتم ضمان مستوى محدد مسبقًا لتحمل الخطأ وزيادة السعة المفيدة بشكل كبير ، ولا تشكل النفقات العامة أكثر من 30 ٪ من سعة التخزين الخام.

مطلوب ذكر منفصل عن EC RAIDIX عالي الأداء في العمليات المتسلسلة ، خاصة عند استخدام أقراص SATA ذات السعة الكبيرة.

بشكل عام ، يوفر RAIDIX RAIN 3 خيارات ترميز تصحيح الخطأ:

  • بالنسبة لـ 3 عقد ، فإن استخدام RAID 1 هو الأمثل ؛
  • لأربع عقد ، الاستخدام الأمثل لـ RAID 5 ؛
  • بالنسبة لمجموعة التخزين الفرعية من 5 إلى 20 عقدة ، فإن الطريقة المثلى هي استخدام شبكة RAID 6.


التين. 3. خيارات لتشفير تصحيح الأخطاء

تفترض جميع الخيارات توزيعًا موحدًا للبيانات عبر جميع عُقد المجموعة مع إضافة التكرار في شكل المجموع الاختباري (أو رموز التصحيح). وهذا يسمح لنا برسم أوجه التشابه مع رموز Reed-Solomon المستخدمة في صفائف RAID القياسية (RAID-6) والسماح بتجاوز الفشل لما يصل إلى حاملتين. تعمل شبكة RAID-6 بشكل مشابه للواجهة المستندة إلى القرص ، ومع ذلك ، فإنها توزع البيانات بين عقد الكتلة وتسمح بتجاوز الفشل للعقدتين.

في RAID 6 ، عندما تفشل 1-2 حاملات شبكة داخل عقدة واحدة ، تتم استعادتها محليًا دون استخدام المجموع الاختباري الموزع ، مما يقلل من كمية البيانات التي يتم استردادها ، وتحميل الشبكة والتدهور العام للنظام.

مجالات الفشل


تدعم RAIN مفهوم مجالات الخطأ أو مجالات التوفر. هذا يسمح لك بالعمل على فشل العقد الفردية ، ولكن أيضًا رفوف أو سلال الخادم بأكملها ، والتي يتم تجميع العقد بشكل منطقي في مجالات الفشل. يتم تحقيق هذه الإمكانية من خلال توزيع البيانات لضمان عدم تحملها للخطأ ليس على مستوى العقد الفردية ، ولكن على مستوى المجال ، مما سيسمح بالنجاة من فشل جميع العقد المجمعة فيه (على سبيل المثال ، حامل خادم بالكامل). في هذا النهج ، يتم تقسيم الكتلة إلى مجموعات فرعية مستقلة (مجموعات فرعية). لا يتجاوز عدد العقد في مجموعة فرعية واحدة 20 ، مما يوفر متطلبات التسامح مع الخطأ وتوافره. علاوة على ذلك ، فإن عدد المجموعات الفرعية غير محدود.

التين. 4. مجالات الفشل

يتم تنفيذ أي فشل (أقراص أو عقد أو شبكة) تلقائيًا ، دون إيقاف النظام.

بالإضافة إلى ذلك ، تتم حماية جميع أجهزة مجموعة RAIDIX RAIN من انقطاع التيار الكهربائي عن طريق التوصيل بمصادر طاقة غير منقطعة (UPS). تسمى الأجهزة المتصلة بنفس UPS مجموعة فشل الطاقة.

الميزات والوظائف


فكر في الميزات الوظيفية الرئيسية لـ RAIDIX RAIN.
الجدول 1. ميزات RAIDIX RAIN الأساسية
الخصائص التشغيليةالقيمة
أنواع العقدة المدعومةمنصات الخادم المحلي القائمة على معالجات Elbrus-4C
خوادم x86-64 القياسية (منظور)
أنواع الوسائط المدعومةSATA و SAS HDD و SATA و SAS SSD و NVMe
سعة التخزين القصوى16 EB
أقصى حجم للكتلة1024 عقدة
الوظائف الأساسيةتوسيع الحجم الساخن
إضافة عقد ساخنة إلى الكتلة
إعادة توازن الكتلة
الفشل دون توقف
تقنيات المرونةفشل العقد أو الوسائط أو الشبكة.
تشفير المحو الموزع عبر عقد المجموعة: شبكة RAID 0/1/5/6.
أكواد التصحيح على مستوى الموجات الحاملة المحلية (RAID 6 المحلي)
مجالات الفشل

باعتبارها ميزة وظيفية مهمة في RAIDIX RAIN ، تجدر الإشارة إلى أن خدمات مثل التهيئة وإعادة الإعمار وإعادة التوزيع (التحجيم) تذهب في الخلفية ويمكن تعيينها إلى معلمة ذات أولوية .

يسمح إعداد الأولوية للمستخدم بتعديل الحمل في النظام بشكل مستقل ، مما يؤدي إلى تسريع أو إبطاء عمل هذه الخدمات. على سبيل المثال ، تعني الأولوية 0 أن الخدمات تعمل فقط عندما لا يكون هناك تحميل من تطبيقات العميل.

خيارات التحجيم


عملية توسيع مجموعة RAIDIX RAIN بسيطة وأتمتة قدر الإمكان ، يقوم النظام بإعادة توزيع البيانات بشكل مستقل في عملية الخلفية مع مراعاة سعة العقد الجديدة ، ويصبح الحمل متوازنًا وموحدًا ، ويتم زيادة الأداء العام وسعة التخزين بشكل متناسب. تمر عملية التحجيم الأفقي "ساخنة" بدون توقف ، ولا تتطلب إيقاف التطبيقات والخدمات.

التين. 5. تخطيطي لعملية التحجيم

مرونة العمارة


RAIDIX RAIN هو منتج برمجي ولا يقتصر على منصة أجهزة معينة - يقترح مفهومه القدرة على التثبيت على أي جهاز خادم متوافق.

بناءً على تفاصيل البنية التحتية والتطبيقات الخاصة بهم ، يختار كل عميل أفضل خيار نشر: مخصص أو متقارب للغاية.

يسمح لك دعم أنواع مختلفة من الوسائط بالبناء على أساس الميزانية والمهام التي سيتم إنشاؤها على أساس RAIDIX RAIN:
1. وزعت تخزين الفلاش بأداء عال غير مسبوق وكمون منخفض مضمون ؛
2. الأنظمة الاقتصادية الهجينة التي ترضي معظم أنواع الأحمال الأساسية.

مؤشرات الأداء


في الختام ، سنعرض بعض الأرقام التي تم الحصول عليها نتيجة اختبار RAIDIX RAIN على تكوين مجموعة NVMe من 6 عقدة. مرة أخرى ، نلاحظ أنه في مثل هذا التجميع (مع خوادم x86-64) ، لا يزال المنتج قيد الإنهاء ، وهذه الأرقام ليست نهائية.

بيئة الاختبار


  • 6 عقدة على قرصين NVMe HGST SN100
  • عائلة بطاقة IB Mellanox MT27700 [ConnectX-4]
  • Linux Kernel 4.11.6-1.el7.elrepo.x86_64
  • MLNX_OFED_LINUX-4.3-1.0.1.0-rhel7.4-x86_64
  • غارة محلية - غارة 0
  • غارة خارجية - غارة 6
  • المعيار لاختبار FIO 3.1


UPD: تم تنفيذ الحمل في كتل 4K ، متسلسلة - 1M ، عمق قائمة الانتظار 32. تم إطلاق الحمل على جميع عقد المجموعة في نفس الوقت ويظهر الجدول النتيجة الإجمالية. لا تتجاوز التأخيرات 1 مللي ثانية (99.9 بالمائة).

الجدول 2. نتائج الاختبار
نوع التحميلالقيمة
قراءة عشوائية 100٪4،098،000 IOps
كتابة عشوائية 100٪517000 IOps
قراءة متسلسلة 100٪33.8 جيجابايت / ثانية
الكتابة التسلسلية 100٪12 جيجابايت / ثانية
قراءة عشوائية 70٪ / كتابة عشوائية 30٪1،000،000 IOps / 530،000 IOps
قراءة عشوائية 50٪ / كتابة عشوائية 50٪530،000 IOps / 530،000 IOps
قراءة عشوائية 30٪ / كتابة عشوائية 70٪187،000 IOps / 438،000 IOps

Source: https://habr.com/ru/post/ar415961/


All Articles