نظرة عامة على تقنية تخزين إنفينيات

InfiniBox هو نظام تخزين حديث سقط مباشرة في الجانب الأيمن من المربع السحري. ما هو تفرده؟

نبذة مختصرة

ما هو InfiniBox؟ هذا هو نظام تخزين Infinidat. ما هي إنفينيات؟ تم إنشاء هذه الشركة بواسطة Moshe Yanay (منشئ Symmetrix و XIV) لتنفيذ مشروع تخزين مثالي على مستوى المؤسسة.

تم إنشاء الشركة كمطور برامج ، والذي تم وضعه على معدات مثبتة ، أي أنها SDS ، ولكنها تأتي كمجموعة واحدة متجانسة.

المقدمة

في هذه المقالة سنلقي نظرة على نظام التخزين InfiniBox ، وبنيته ، وكيفية عمله ، وكيف يتم تحقيق الموثوقية العالية (99.99999٪) ، والأداء ، والقدرة بسعر منخفض نسبيًا. نظرًا لأن أساس نظام التخزين هو برمجياته ، وبالنسبة لهذا النظام على وجه الخصوص ، سيكون التركيز الرئيسي على البرامج ، فلن تكون هناك غدد صور جميلة.

لماذا تحتاج إلى نظام تخزين آخر في السوق؟

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

العنونة

كيف يمكنني تخزين كميات غير محدودة من البيانات؟ من خلال توفير مساحة عنوان غير محدودة. للقيام بذلك ، يستخدم InfiniBox مساحة عنوان المستخدم الظاهري - VUA. يتم تضمين جميع الكائنات التي تم إنشاؤها على InfiniBox والتي يمكن للمستخدم الوصول إليها (وحدات التخزين ، واللقطات ، وأنظمة الملفات) في VUA ، والحجم الإجمالي لهذه الكائنات هو الحجم الحالي لـ VUA. العنوان رقيق ولا يرتبط بالأقراص: أي أن حجم VUA يمكن أن يكون أكبر بكثير من سعة القرص المتاحة وهو في الواقع غير محدود.



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



تنقسم مساحة العنوان بالكامل إلى 6 أجزاء - VU (وحدة افتراضية - قطعة افتراضية). يتم توزيع مساحة العنوان لكل كائن ، مثل وحدة التخزين ، بالتساوي بين هذه الأجزاء. ينتقل التسجيل إلى كتل بسعة 64 كيلوبايت ، وفي هذه العملية ، يمكنك أن تفهم بشكل سريع وسريع بشكل لا يصدق أي عنوان VU ينتمي إليه عنوان وحدة التخزين هذا (يتم تنفيذ الجزء المتبقي من قسم LBA / 64 كيلوبايت ، وظيفة modulo ، بسرعة كبيرة للحد الأدنى من دورات وحدة المعالجة المركزية).

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



في حالة فشل وحدة تحكم واحدة ، يتولى الاثنان الآخران مهمتها - العمل مع VU.



عنونة ، لقطات ، تخزين مؤقت



VUA هي مساحة عنوان افتراضية متاحة للمستخدم وغير محدودة تقريبًا. VDA (عنوان القرص الظاهري) هو مساحة تخزين داخلية افتراضية. يتم تحديد حجمها مسبقًا بدقة من خلال عدد وسعة محركات الأقراص الثابتة (باستثناء التماثل والبيانات الوصفية والمساحة لاستبدال محركات الأقراص الفاشلة). يتم تنظيم الاتصال بين VUA و VDA من خلال شجرة trie (شجرة البادئة). كل إدخال في الشجرة هو مؤشر من مساحة المستخدم (VUA) إلى المساحة الداخلية (VDA). يتيح لك العنوان في شكل شجرة بادئة معالجة الكتل بأي حجم. أي أنه عند إضافة عنصر من أي حجم (ملف ، دفق بيانات تسلسلي ، كائن) إلى الأقراص ، يمكن معالجته بسجل واحد في الشجرة وتبقى الشجرة مضغوطة.

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

ما يمكن أن يقال عن العلاقة بين VUA و VDA:

  1. يمكن أن يتجاوز حجم VUA حجم VDA
  2. لا علاقة لـ VUA بـ VDA حتى تتم كتابة عملية توفير بسيطة هناك
  3. يمكن أن تشير أكثر من VUA إلى VDA واحد (لقطات / استنساخ)

وبالتالي ، فإن تنظيم VUA و VDA ، والروابط بينهما وعناوين هذه الاتصالات تسمح لك بتنفيذ لقطات سريعة للغاية والتزويد الدقيق. نظرًا لأن إنشاء لقطة هو مجرد تحديث البيانات الوصفية في الذاكرة وهي عملية تحدث باستمرار أثناء العمل ، في الواقع لا تستغرق هذه العملية أي وقت. عادةً ، عند إنشاء لقطات ، تتوقف أنظمة التخزين الكلاسيكية عن تحديث البيانات الوصفية و / أو الإدخال / الإخراج لضمان تكامل المعاملات. هذا يؤدي إلى الكمون I / O متفاوتة. يعمل النظام المعني بشكل مختلف: لا شيء يتوقف ، ويتم استخدام الطابع الزمني من بيانات تعريف الكتلة (64 + 4KB) لتحديد ما إذا كانت العملية في اللقطة. وبالتالي ، يمكن للنظام التقاط مئات الآلاف من اللقطات دون إبطاء العمل ،ولا يختلف أداء وحدة التخزين التي تحتوي على مئات اللقطات ومجلد بدون لقطات. نظرًا لأن كل شيء يتم في الذاكرة وهذه عمليات منتظمة ، يمكن أخذ عشرات اللقطات في الثانية في مجموعات الحجم. يتيح لك هذا تنفيذ النسخ المتماثل غير المتزامن على اللقطات مع اختلاف بين النسخ في ثوانٍ أو حتى أقل وبدون التأثير على الأداء ، وهو أمر مهم أيضًا.

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

بعد ذلك ، يتم تقسيم الدفق إلى أقسام من 64 كيلوبايت + 4 كيلوبايت. ما هي هذه 4KBs الإضافية؟ هذه حماية ضد الأخطاء الصامتة ، وتحتوي على المجموع الاختباري والوقت ومعلومات إضافية حول العملية ، والتي يتم استخدامها لتصنيف هذه العملية وتستخدم لتحسين التخزين المؤقت والقراءة إلى الأمام.



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

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



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

حرق على الأقراص

يتم تجميع 14 قسمًا في شريط للتخلص منها. يتم ذلك عن طريق عملية خاصة تحدد الأقسام لمثل هذا الشريط.



بعد ذلك ، يتم النظر في قسمين للتكافؤ - الشريط جاهز للكتابة على الأقراص. يتم حساب التماثل من خلال عدة عمليات تستند إلى XOR ، وهو أسرع مرتين من استنادًا إلى رمز Reed-Solomon. يتم تعيين شريط إضافي (14 + 2 أقسام) لمجموعة RAID (RG). مجموعة RAID هي مجرد كائن لتخزين عدة شرائط ، لا أكثر. يتم تجميع الشرائط كما هو موضح أدناه ، واحد فوق الآخر ، ويسمى العمود الرأسي عضوًا في مجموعة RAID. VDS (مساحة القرص الظاهرية) هي مساحة القرص المتاحة لبيانات المستخدم ، و VDA هو العنوان الموجود فيها.



تتم كتابة عمود أو عضو في مجموعة RAID على قرص واحد (PD - محرك فعلي) في رف واحد (وحدة القرص). يُسمى المكان الذي تتم كتابة عضو مجموعة RAID باسم قسم القرص (DP - قسم محرك الأقراص). عدد DP على القرص ثابت ومساوي 264 ، ويعتمد الحجم على حجم القرص. يتيح لك هذا التصميم تحميل جميع الأقراص بالتساوي. في نفس الوقت ، تقوم الخوارزمية بتوزيع أعمدة من مجموعة RAID واحدة قدر الإمكان عن بعضها البعض ، على أقراص ورفوف مختلفة. هذا يؤدي إلى حقيقة أنه عندما يفشل قرصان ، يكون عدد الشرائط الشائعة عليها ضئيلًا في نفس الوقت ، ويتحول النظام من حالة الحماية N إلى N + 1 في دقائق ، وإعادة بناء تلك الشرائط حيث يكون هناك عمودين مفقودين على الفور (الموثوقية هي سبعة تسع. )



ونتيجة لذلك ، يبدو التصميم المنطقي للنظام ككل بسيطًا للغاية ويتم تقديمه في الرسم البياني أدناه.



التنفيذ المادي

يتم صنع النظام بحيث تتم حماية جميع مكوناته وفقًا لمخطط N + 2 أو 2N ، بما في ذلك قنوات الطاقة والبيانات داخل الصفيف. هنا هو مخطط تنفيذ امدادات الطاقة.

ATS (مفتاح التحويل التلقائي) - ATS ، مفتاح الطور
BBU (وحدة النسخ الاحتياطي للبطارية) - UPS ،
عقدة إمداد الطاقة غير المنقطعة - جهاز التحكم



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

هنا رسم تخطيطي لقنوات البيانات داخل النظام.



يتم توصيل وحدات التحكم عبر Infiniband ، وهي متصلة بمحركات الأقراص عبر SAS. يمكن لكل وحدة تحكم الوصول إلى كل قرص في النظام. علاوة على ذلك ، إذا لم يعمل الاتصال بين وحدة التحكم والقرص ، فيمكن لوحدة التحكم طلب البيانات من خلال وحدة تحكم أخرى تعمل كوكيل من خلال Infiniband. تحتوي الأرفف على مفاتيح SAS للوصول المتزامن إلى الأقراص. يحتوي كل رف على 60 قرصًا ، ويمكن أن يكون الرفوف اثنين أو أربعة أو ثمانية ، بإجمالي يصل إلى 480 قرصًا من 3 أو 4 أو 6 أو 8 أو 12 تيرابايت. السعة الإجمالية المتاحة للمستخدم أكثر من 4.1PB بدون ضغط. بالحديث عن الضغط ، من أجل تنفيذ الضغط دون فقدان الأداء ، لا يتم ضغط الذاكرة ، ونتيجة لذلك ، يعمل النظام في بعض الأحيان مع الضغط قيد التشغيل بشكل أسرع - عند القراءة ، تحتاج إلى قراءة أقل ، وهناك طاقة كافية للمعالج بهامش ،وعند التسجيل ، ينتقل الجواب مباشرة من الذاكرة ويتم الضغط بشكل غير متزامن أثناء التسجيل المباشر على الأقراص.

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

ملخّص

، تحدثنا عن نظام تخزين مثير جدًا للاهتمام ، يتميز ببنية حديثة ويوفر سعة عالية وموثوقية عالية وأداءً ممتازًا وتكلفة مناسبة.



المصادر
1 https://techfieldday.com/video/infinidat-solution-deep-dive/
2 https://support.infinidat.com/hc/en-us

All Articles