العناصر الأساسية لنظام Flash Virtualization Platform (FVP) ، الجزء 2. استخدام النظام الأساسي أو نظام الملفات الخاص بك | A-أنظمة

العناصر الأساسية لنظام Flash Virtualization Platform (FVP) ، الجزء 2. استخدام النظام الأساسي أو نظام الملفات الخاص بك

أحد الموضوعات التي ناقشتها مع Satyam و Murali Vilayannur هو نظام الملفات المستخدم لتخزين البيانات على أجهزة الفلاش. يجب مراعاة الحقائق الجديرة بالملاحظة التالية: Satyam ابتكرت VMFS3 ، كان مورالي هو المطور الرئيسي لـ VMFS5. من وجهة النظر هذه ، يبدو استخدام VMFS واضحًا. ومع ذلك ، كانت المفاجأة الكبرى بالنسبة لي هي حقيقة أننا لا نستخدم VMFS لأجهزة الفلاش ، وكانت المفاجأة الأكبر هي أننا لا نستخدم نظام الملفات على الإطلاق.

لماذا لا VMFS؟
توفر أنظمة الملفات ميزات غير مطلوبة وأحيانًا تتعارض مع متطلبات النظام الأساسي التي تعالج I / O النشطة على أجهزة الفلاش. واحدة من أكبر المشكلات في استخدام نظام ملفات مشابه لنظام VMFS على جهاز فلاش هو أنه محسّن لأنظمة تخزين SAN ونماذج إدارة البيانات الخاصة بها ؛ كتب ساتيام مقالًا عن هذا لـ ACM أثناء العمل في VMware. لسوء الحظ ، هذا يجعل نظام الملفات أداة غير مناسبة لمهام FVP.

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

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

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

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

ارتداء الإدارة
ملاحظة ، من أجل البساطة ، قررت عرض 9 صفحات في كتلة واحدة بدلاً من 128 صفحة لكل كتلة.

لنبدأ بعملية إدارة التآكل. في هذا المثال ، قام التطبيق بالفعل بإنشاء البيانات وتسجيلها في الصفحات A و B و C في الكتلة 1 (الخطوة 1). وصول البيانات الجديدة (الخطوة 2) ، والتي تتم كتابتها إلى الصفحات D و E و F. يقوم التطبيق بتحديث البيانات السابقة (AC) وبدلاً من استخدام الصفحات السابقة ، يستمر جهاز الفلاش في استخدام الصفحات الجديدة. هذه البيانات الجديدة تحمل علامات A-1 و B-1 و C-1. يسمى توزيع السجلات بالتساوي قدر الإمكان "إدارة التآكل". تم وضع علامة على الصفحات القديمة منتهية الصلاحية.

تم وضع علامة على الصفحات القديمة منتهية الصلاحية

جمع القمامة ودخول متعددة
في هذا المثال ، تكون الكتلة A ممتلئة ، ماذا يحدث إذا نفدت المساحة المتاحة للمستخدم للتسجيل ووصلت بيانات جديدة؟

جمع القمامة ودخول متعددة   في هذا المثال ، تكون الكتلة A ممتلئة ، ماذا يحدث إذا نفدت المساحة المتاحة للمستخدم للتسجيل ووصلت بيانات جديدة؟

سيقوم Flash بنسخ البيانات الحالية إلى خلايا فارغة. تتم قراءة البيانات الفعلية في الكتلة وكتابتها إلى كتلة أخرى. ستبقى البيانات المتأخرة في صفحاتها وسيتم محوها مع بقية صفحات الكتلة. وتسمى هذه العملية "جمع القمامة".

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

للقيام بذلك في موقف حقيقي (عند استخدام نظام الملفات) ، تحتاج إلى تخصيص مساحة زائدة محفوظة بواسطة فلاش وحدة التحكم

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

إعادة النظر في إدارة البيانات على أجهزة الفلاش
قام مهندسو PernixData بتطوير تنسيق جديد لإدارة البيانات على أجهزة الفلاش من أجل FVP. سيتم الكشف عن التفاصيل في المقالات التالية ، والآن بضع نقاط أساسية.

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

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

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

أقتبس من مدير منتجنا Bala: "أناقة المنتج ، في رأيي ، هي أنه يؤدي مهام أساسية ، لا يتطلب أي إجراءات جديدة أو غير عادية من المستخدم."

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

المقال الأصلي .

منذ عام 2016 ، سحبت FVP من البيع.