تطبيق التخزين المؤقت SSD في التخزين QSAN XCubeSAN

منذ فترة طويلة اخترع تقنيات تعزيز الأداء القائمة على SSD التي تستخدم على نطاق واسع في أنظمة التخزين. بادئ ذي بدء ، هذا هو استخدام محركات الأقراص الصلبة كمساحة تخزين ، والتي هي 100 ٪ كفاءة ولكنها مكلفة. لذلك ، يتم استخدام تقنيات النظير والتخزين المؤقت ، حيث يتم استخدام SSDs فقط للبيانات الأكثر شيوعًا ("الساخنة"). التمزق مفيد لسيناريوهات الاستخدام طويل المدى (أيام - أسابيع) للبيانات "الساخنة". والتخزين المؤقت ، على العكس من ذلك ، للاستخدام على المدى القصير (دقائق-ساعات). يتم تطبيق كلا هذين الخيارين في تخزين QSAN XCubeSAN . في هذه المقالة ، سننظر في تنفيذ الخوارزمية الثانية - التخزين المؤقت SSD .




جوهر تكنولوجيا التخزين المؤقت SSD هو استخدام محركات أقراص الحالة الصلبة كذاكرة تخزين مؤقت وسيطة بين الأقراص الصلبة وذاكرة وحدة التحكم. أداء محركات أقراص الحالة الصلبة ، بالطبع ، أقل من أداء ذاكرة التخزين المؤقت لوحدة التحكم ، ولكن مستوى الصوت أعلى من حيث الحجم. لذلك ، نحصل على حل وسط بين السرعة والحجم.


مؤشرات لاستخدام SSD قراءة ذاكرة التخزين المؤقت:


  • غلبة عمليات القراءة على عمليات الكتابة (غالبًا ما تكون مميزة لقواعد البيانات وتطبيقات الويب) ؛
  • وجود عنق الزجاجة في شكل أداء مجموعة من الأقراص الصلبة ؛
  • حجم البيانات المطلوبة أقل من حجم ذاكرة التخزين المؤقت SSD.

مؤشرات استخدام ذاكرة التخزين المؤقت للقراءة / الكتابة SSD هي نفس الأسباب ، باستثناء طبيعة العمليات - نوع مختلط (على سبيل المثال ، خادم الملفات).


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


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


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



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



عند استخدام وظيفة التخزين المؤقت SSD في XCubeSAN ، هناك عدد من المتطلبات لسعة التخزين لوحدات التحكم في التخزين: كلما زاد عدد ذاكرة النظام ، زاد حجم ذاكرة التخزين المؤقت المتوفرة.



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


  • حجم الكتلة (حجم كتلة ذاكرة التخزين المؤقت) - 1/2/4 ميغابايت
  • عدد طلبات قراءة كتلة بحيث يتم نسخها إلى ذاكرة التخزين المؤقت (عتبة Populate-on-Read) هو 1..4
  • عدد طلبات كتابة كتلة بحيث يتم نسخها إلى ذاكرة التخزين المؤقت (عتبة Populate-on-Write) هو 0..4


يمكن تغيير الملفات الشخصية أثناء الطيران ، ولكن ، بالطبع ، مع صفر محتويات ذاكرة التخزين المؤقت و "الاحماء" الجديد.


النظر في مبدأ تشغيل ذاكرة التخزين المؤقت SSD ، يمكننا التمييز بين العمليات الرئيسية عند العمل معها:







قراءة البيانات عندما لا تكون في ذاكرة التخزين المؤقت


  1. يذهب الطلب من المضيف إلى وحدة التحكم؛
  2. لأن تلك المطلوبة ليست في ذاكرة التخزين المؤقت SSD ، يتم قراءتها من محركات الأقراص الصلبة.
  3. يتم إرسال بيانات القراءة إلى المضيف. في الوقت نفسه ، يتم إجراء فحص لمعرفة ما إذا كانت هذه الكتل "ساخنة" ؛
  4. إذا كان الأمر كذلك ، يتم نسخها إلى ذاكرة التخزين المؤقت SSD للرجوع إليها في المستقبل.





قراءة البيانات عندما تكون موجودة في ذاكرة التخزين المؤقت


  1. يذهب الطلب من المضيف إلى وحدة التحكم؛
  2. نظرًا لأن البيانات المطلوبة موجودة في ذاكرة التخزين المؤقت SSD ، تتم قراءتها من هناك ؛
  3. يتم إرسال بيانات القراءة إلى المضيف.





اكتب البيانات عند استخدام ذاكرة التخزين المؤقت للقراءة


  1. يذهب طلب الكتابة من المضيف إلى وحدة التحكم؛
  2. تتم كتابة البيانات على محركات الأقراص الصلبة.
  3. إرجاع المضيف استجابة حول التسجيل الناجح؛
  4. في الوقت نفسه ، يتم التحقق مما إذا كانت الكتلة "ساخنة" (تتم مقارنة المعلمة Populate-on-Write Threshold). إذا كان الأمر كذلك ، يتم نسخها إلى ذاكرة التخزين المؤقت SSD للاستخدام في المستقبل.





كتابة البيانات عند استخدام ذاكرة التخزين المؤقت للقراءة / الكتابة


  1. يذهب طلب الكتابة من المضيف إلى وحدة التحكم؛
  2. تتم كتابة البيانات إلى ذاكرة التخزين المؤقت SSD.
  3. إرجاع المضيف استجابة حول التسجيل الناجح؛
  4. تتم كتابة البيانات من ذاكرة التخزين المؤقت SSD في الخلفية على محركات الأقراص الصلبة ؛



التحقق في العمل


موقف اختبار

يتم توصيل خادمين (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) من خلال منفذين عبر القناة الليفية 16G مباشرة إلى نظام التخزين XCubeSAN XS5224D (ذاكرة وصول عشوائي / تحكم 16GB).


يستخدم 16 x Seagate Constellation ES و ST500NM0001 و 500 GB و SAS 6 جيجابت / ثانية ، مجتمعة في RAID5 (15 + 1) ، لمجموعة البيانات و 8 x HGST Ultrastar SSD800MH.B ، HUSMH8010BSS200 ، 100GB ، SAS 12GB / s كذاكرة تخزين مؤقت


تم إنشاء مجلدين: واحد لكل خادم.



اختبار 1. SSD ذاكرة التخزين المؤقت للقراءة فقط مع 1-8 SSD


SSD ذاكرة التخزين المؤقت


  • I / O النوع: التخصيص
  • حجم كتلة ذاكرة التخزين المؤقت: 4 ميغابايت
  • ملء عتبة القراءة: 1
  • تعبئة عتبة الكتابة: 0

أنا / س نمط


  • الأداة: IOmeter V1.1.0
  • العمال: 1
  • المعلقة (عمق قائمة الانتظار): 128
  • مواصفات الوصول: 4 كيلو بايت ، 100٪ قراءة ، 100٪ عشوائي



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


اختبار 2. SSD ذاكرة التخزين المؤقت في وضع القراءة والكتابة مع 2-8 SSD


SSD ذاكرة التخزين المؤقت


  • I / O النوع: التخصيص
  • حجم كتلة ذاكرة التخزين المؤقت: 4 ميغابايت
  • ملء عتبة القراءة: 1
  • تعبئة على عتبة الكتابة: 1

أنا / س نمط


  • الأداة: IOmeter V1.1.0
  • العمال: 1
  • المعلقة (عمق قائمة الانتظار): 128
  • مواصفات الوصول: 4KB ، 100 ٪ الكتابة ، 100 ٪ عشوائية



النتيجة نفسها: نمو الأداء المتفجر وتوسيع نطاقه مع زيادة عدد محركات أقراص الحالة الصلبة.


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


الآن ، دعنا نعود من السماء إلى الأرض ونتحقق من موقف أكثر حيوية عندما يكون حجم البيانات أكبر من حجم ذاكرة التخزين المؤقت. من أجل أن يمر الاختبار في وقت عاقل (مصطلح "الاحماء" تزداد ذاكرة التخزين المؤقت بشكل كبير مع زيادة حجم الصوت) ، فنحن نقصر أنفسنا على حجم الصوت البالغ 120 جيجابايت.


اختبار 3. مضاهاة قاعدة البيانات


SSD ذاكرة التخزين المؤقت


  • I / O النوع: قاعدة البيانات
  • حجم كتلة ذاكرة التخزين المؤقت: 1 ميغابايت
  • ملء عتبة القراءة: 2
  • تعبئة على عتبة الكتابة: 1

أنا / س نمط


  • الأداة: IOmeter V1.1.0
  • العمال: 1
  • المعلقة (عمق قائمة الانتظار): 128
  • مواصفات الوصول: 8KB ، قراءة 67 ٪ ، 100 ٪ عشوائية


الحكم


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

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


All Articles