FAST VP on Unity storage: كيف يعمل

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

FAST VP on Unity storage: كيف يعمل

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

طبقات التخزين. أهداف وغايات FAST VP

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

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

الآن دعونا نلقي نظرة على ميزات تنفيذ طبقات التخزين في Unity. الوحدة لها 3 مستويات، أو الطبقة:

  • الأداء الفائق (محركات أقراص SSD)
  • الأداء (محرك الأقراص الصلبة SAS بسرعة 10 كيلو/15 كيلو دورة في الدقيقة)
  • السعة (محرك الأقراص الصلبة NL-SAS بسرعة 7200 دورة في الدقيقة)

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

يتم دمج وسائط التخزين من نفس المستوى ونفس الحجم في مصفوفة RAID، مما يشكل مجموعة RAID (مجموعة RAID، والتي يتم اختصارها بـ RG)؛ يمكنك القراءة عن مستويات RAID المتاحة والموصى بها في الوثائق الرسمية. يتم تشكيل مجمعات التخزين من مجموعات RAID من مستوى واحد أو أكثر، ومن ثم يتم توزيع المساحة الحرة منها. ومن مساحة التجمع يتم تخصيصها لأنظمة الملفات وشبكات LUN.

FAST VP on Unity storage: كيف يعمل

لماذا أحتاج إلى التايرينغ؟

باختصار وبشكل تجريدي: لتحقيق نتائج أكبر باستخدام الحد الأدنى من الموارد. وبشكل أكثر تحديدًا، عادةً ما يتم فهم النتيجة على أنها مجموعة من خصائص نظام التخزين - السرعة ووقت الوصول وتكلفة التخزين وغيرها. الحد الأدنى من الموارد يعني أقل الإنفاق: المال، والطاقة، وما إلى ذلك. ينفذ FAST VP آليات لإعادة توزيع البيانات عبر مستويات مختلفة في أنظمة تخزين Unity/Unity XT. إذا كنت تصدقني، فيمكنك تخطي الفقرة التالية. بالنسبة للباقي، سأخبرك أكثر من ذلك بقليل.

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

  • يتطلب الوقت والاهتمام من المسؤول؛
  • ليس من الممكن دائمًا "إعادة رسم" موارد التخزين لتتناسب مع الظروف المتغيرة؛
  • تختفي ميزة مهمة: الوصول الموحد إلى الموارد الموجودة في مستويات تخزين مختلفة.

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

FAST VP on Unity storage: كيف يعمل

بالنظر إلى المستقبل، سأقول أن FAST VP ينقل البيانات فقط داخل تجمع واحد، وليس بين عدة تجمعات.

تم حل المشاكل بواسطة FAST VP

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

  • توزيع البيانات عبر أنواع مختلفة من الأقراص والمستويات
  • توزيع البيانات بين الأقراص من نفس النوع
  • توزيع البيانات عند توسيع المجمع

قبل أن ننظر إلى كيفية حل هذه المهام، نحتاج إلى معرفة بعض الحقائق الضرورية حول كيفية عمل FAST VP. يعمل FAST VP مع كتل ذات حجم معين - 256 ميغابايت. هذه هي أصغر "قطعة" متجاورة من البيانات التي يمكن نقلها. في الوثائق هذا ما يسمونه: شريحة. من وجهة نظر FAST VP، تتكون جميع مجموعات RAID من مجموعة من هذه "القطع". وبناءً على ذلك، يتم تجميع كافة إحصائيات الإدخال/الإخراج لكتل ​​البيانات هذه. لماذا تم اختيار حجم الكتلة هذا وهل سيتم تقليله؟ الكتلة كبيرة جدًا، ولكن هذا يمثل حلاً وسطًا بين دقة البيانات (حجم الكتلة الأصغر يعني توزيعًا أكثر دقة) وموارد الحوسبة المتاحة: نظرًا للقيود الصارمة الحالية على ذاكرة الوصول العشوائي وعدد كبير من الكتل، قد تشغل البيانات الإحصائية أكثر من اللازم، وسوف يزيد عدد الحسابات بشكل متناسب.

كيف يقوم FAST VP بتخصيص البيانات إلى التجمع. سياسة

للتحكم في وضع البيانات في تجمع مع تمكين FAST VP، توجد السياسات التالية:

  • أعلى مستوى متاح
  • الطبقة التلقائية
  • البدء بالمستوى العالي ثم المستوى التلقائي (افتراضي)
  • أدنى مستوى متاح

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

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

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

المعايير التي يستخدمها Fast VP في عمله

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

تتميز وظيفة حساب درجة الحرارة بالخصائص التالية:

  • في غياب الإدخال/الإخراج، "تبرد" البيانات بمرور الوقت.
  • في ظل حمل متساوي إلى حد ما مع مرور الوقت، تزيد درجة الحرارة أولاً ثم تستقر في نطاق معين.

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

FAST VP on Unity storage: كيف يعمل

ولكن دعونا نعود إلى المهام. لذلك، يمكننا البدء في تحليل ما يتم فعله لحل مشكلات FAST VP.

أ. توزيع البيانات عبر أنواع مختلفة من الأقراص والمستويات

في الواقع، هذه هي المهمة الرئيسية لـ FAST VP. والباقي، بمعنى ما، مشتق منه. اعتمادًا على السياسة المحددة، سيتم توزيع البيانات عبر مستويات تخزين مختلفة. أولاً، يتم أخذ سياسة التنسيب بعين الاعتبار، ثم درجة حرارة الكتلة وحجم/سرعة مجموعات RAID.

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

FAST VP on Unity storage: كيف يعمل

ب. توزيع البيانات بين الأقراص من نفس النوع

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

FAST VP on Unity storage: كيف يعمل

ب. توزيع البيانات عند توسيع المجمع

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

تسوية تآكل SSD

باستخدام تسوية التآكل، يمكن لـ FAST VP إطالة عمر SSD، على الرغم من أن هذه الميزة لا ترتبط مباشرة بطبقة التخزين. نظرا لأن بيانات درجة الحرارة متاحة بالفعل، يتم أخذ عدد عمليات الكتابة في الاعتبار أيضا، ونحن نعرف كيفية نقل كتل البيانات، سيكون من المنطقي أن يحل FAST VP هذه المشكلة.

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

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

وهناك بعض النصائح

  1. لا تهمل قراءة الوثائق. هناك أفضل الممارسات، وهي تعمل بشكل جيد. إذا اتبعتهم، كقاعدة عامة، لا تنشأ مشاكل خطيرة. بقية النصائح تكررها أو تكملها بشكل أساسي.
  2. إذا قمت بتكوين FAST VP وتمكينه، فمن الأفضل تركه ممكّنًا. دعها تقوم بتوزيع البيانات في الوقت المخصص لها وشيئاً فشيئاً أكثر من مرة واحدة في السنة ويكون لها تأثير خطير على أداء المهام الأخرى. في مثل هذه الحالات، قد تستغرق إعادة توزيع البيانات وقتًا طويلاً.
  3. كن حذرًا عند اختيار نافذة النقل. على الرغم من أن هذا أمر واضح، حاول اختيار الوقت الأقل تحميلًا على Unity وتخصيص فترة زمنية كافية.
  4. خطط لتوسيع نظام التخزين الخاص بك، وقم بذلك في الوقت المحدد. هذه توصية عامة مهمة لـ FAST VP أيضًا. إذا كانت المساحة الحرة صغيرة جدًا، فسوف تتباطأ حركة البيانات أو تصبح مستحيلة. خاصة إذا أهملت النقطة 2.
  5. عند توسيع تجمع مع تمكين FAST VP، يجب ألا تبدأ بالأقراص الأبطأ. وهذا يعني أننا إما نضيف جميع مجموعات RAID المخططة مرة واحدة، أو نضيف الأقراص الأسرع أولاً. في هذه الحالة، ستؤدي إعادة توزيع البيانات إلى أقراص "سريعة" جديدة إلى زيادة السرعة الإجمالية للتجمّع. خلاف ذلك، فإن البدء بالأقراص "البطيئة" يمكن أن يؤدي إلى موقف مزعج للغاية. أولا، سيتم نقل البيانات إلى أقراص جديدة بطيئة نسبيا، وبعد ذلك، عند إضافة أسرع، في الاتجاه المعاكس. هناك فروق دقيقة هنا تتعلق بسياسات FAST VP المختلفة، ولكن بشكل عام، من الممكن حدوث موقف مماثل.

إذا كنت تبحث عن هذا المنتج، فيمكنك تجربة Unity مجانًا عن طريق تنزيل جهاز Unity VSA الظاهري.

FAST VP on Unity storage: كيف يعمل

في نهاية المادة، أشارك عدة روابط مفيدة:

اختتام

أود أن أكتب عن الكثير، لكنني أفهم أنه لن تكون كل التفاصيل مثيرة للاهتمام للقارئ. على سبيل المثال، يمكنك التحدث بمزيد من التفاصيل حول المعايير التي يتخذ FAST VP من خلالها قرارات بشأن نقل البيانات، وحول عمليات تحليل إحصائيات الإدخال/الإخراج. وأيضا موضوع التفاعل مع حمامات ديناميكية، وهذا يستحق مقالة منفصلة. يمكنك حتى أن تتخيل تطور هذه التكنولوجيا. آمل ألا يكون الأمر مملاً ولم أزعجك. نراكم مرة أخرى!

المصدر: www.habr.com

إضافة تعليق