تخزين بيانات المنطقة


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

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

في هذه المقالة سنناقش:

  • ما هي أجهزة التخزين المنطقية ولماذا يتم تطبيق هذه التكنولوجيا
  • محركات الأقراص الصلبة SMR ومحركات أقراص الحالة الصلبة ZNS
  • البنية التحتية للبيانات - ما هو مطلوب لتنفيذ تخزين بيانات المنطقة

ما هي أجهزة تخزين المنطقة؟


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


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

تم توحيد مفهوم أجهزة تخزين المناطق:

  • بالنسبة للأجهزة ذات واجهة SAS ، يتم وصف العمل مع المناطق في معيار T10 ZBC
  • كما تم توحيد SATA تحت T13 ZAC
  • بالنسبة لـ NVMe SSDs ، هناك اقتراح تقني قيد التطوير يسمى ZNS

لماذا تخزين المنطقة؟


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

بدأ كل شيء مع SMR


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


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

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

SMR المُدار بواسطة المضيف هو شرط إلزامي تقريبًا لأنظمة تخزين البيانات الكبيرة وهو الخيار المفضل لمراكز البيانات.

يتم التحكم في التحكم في SMR المضيف في INCITS T10 / T13 كجزء من معايير جهاز Zone Block (ZBC) و Zone ATA (ZAC) لـ SAS و SATA ، على التوالي.

NVMe ومساحات أسماء المنطقة في محركات الأقراص ذات الحالة الصلبة


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

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

ومع ذلك ، فإن التحكم المحلي داخل SSD بعيد عن المثالية من حيث الكفاءة. على وجه الخصوص ، هناك عوامل مثل:

  • تضخيم الكتابة: للتعامل مع قيود عدم الكتابة فوق البيانات ، يجب على SSD نقل البيانات من تلقاء نفسها لمسح مناطق التخزين غير المستخدمة المسماة Garbage Collection (GC). تؤدي عملية جمع البيانات المهملة ، عندما "تقوم FTL" بتشغيل العلامة "مع كتل البيانات ، إلى تسجيلات متعددة لنفس المعلومات (ومن ثم مصطلح" التسجيل الزائد ") ، مما يؤدي إلى زيادة التآكل على ذاكرة الفلاش ويقصر من عمر محرك الأقراص ذي الحالة الصلبة. يوضح معامل WA عدد عمليات الكتابة التي يجب إجراؤها داخل محرك الأقراص لعملية كتابة واحدة يتم تلقيها من المضيف.



  • (overprovisioning — OP): ( 28% ) .
  • DRAM : FTL - DRAM. , DRAM . — 1 SSD. , SSD 15.36 — 16 «» . , !
  • QoS, . FTL , , , .

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

ولكن بمرور الوقت ، انتقلت الصناعة إلى إنشاء واجهات أكثر كفاءة ومجموعات برمجيات يمكنها الاستفادة من الكمون المنخفض وعرض النطاق الترددي الفلاش الأعلى. على وجه الخصوص ، تم إنشاء مواصفات واجهة NVMe (Non-Volatile Memory Express) وتم تطوير حزمة البرامج منخفضة التكلفة المقابلة.

إن الوضع الحالي للصناعة هو أن التحسينات المحلية التي حدثت في FTL SSD تضر الآن بنشر البنية التحتية للبيانات. على وجه الخصوص ، يرغب العديد من العملاء في إنشاء عبء عمل تسلسلي مدفوع بالمضيف يتطابق مع حجم كتل الفلاش NAND. ورداً على ذلك ، يقوم NVMe بتوحيد مساحات أسماء المنطقة (ZNSs) ، والتي تسمح للمضيف بتوجيه الإدخال / الإخراج لمشاركة أحمال العمل ، مع تحسين وقت الاستجابة وعرض النطاق الترددي وفعالية التكلفة من خلال نقل عنصر التحكم الرئيسي إلى المضيف.

إذا تحدثنا عن الكفاءة الاقتصادية ، فإن الانتقال إلى ZNS SSD سيقلل من تكلفة محرك الأقراص باستخدام كمية أقل من NAND (تقليل التكرار) ، وإمكانية استخدام QLC في محركات أقراص الخادم ، وتقليل كمية DRAM في وحدات تحكم SSD.

البنية التحتية للبيانات - تنفيذ مستودع بيانات المناطق


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

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

بالإضافة إلى دعم Linux kernel ، هناك عدد من الأدوات المساعدة والتطبيقات التي تدعم أجهزة Zone Block ، مثل fio و Blktests و util-linux.

أجهزة Linux Kernel و Zone Block


بدأ العمل على دعم تخزين المنطقة في Linux kernel في عام 2014 مع أقل قدر من الدعم المدمج في 3.18 kernel. كان أول إصدار kernel مع دعم وظيفي لأوامر ZBC / ZAC هو 4.10 kernel في أوائل عام 2017. يستمر الدعم في التحسن ، وتحظى أحدث النواة بدعم لعرض أجهزة المنطقة في شكل block / dev / sd ، بالإضافة إلى دعم بعض أنظمة الملفات (f2fs ، btrfs).

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


كما هو موضح في الشكل ، هناك العديد من الطرق التي يمكن من خلالها نشر البنية التحتية للبيانات استخدام أجهزة كتلة المنطقة. على سبيل المثال (1) استخدام نظام الملفات القديم أعلى وحدة تخزين LVM dm-zoned ، و (2) استخدام نظام الملفات الممكن بواسطة ZBC ، و (3) استخدام التطبيقات التي تدعم ZBD التي تتفاعل مباشرةً مع أجهزة الحظر من خلال مكتبات المستخدم مثل libzbc ، و إلخ

مبادرة تخزين المنطقة - تعزيز الدعم والتطبيق الأوسع للتقنيات التطبيقية


على الرغم من النجاحات التي حققها مجتمع المصادر المفتوحة للمطورين في دعم Zone Block Devices ، فإن مهندسي تكنولوجيا المعلومات ومطوري التطبيقات لا يزالون يبذلون جهودًا لاستخدام هذه التكنولوجيا ، على سبيل المثال ، معرفة مستوى الدعم الموجود في كل إصدار من نواة Linux ، أي إصدارات التطبيقات لديها الدعم اللازم وأي إصدار من النواة ضروري لعملهم.

تم إطلاق مبادرة تخزين المناطق جزئياً لمعالجة هذه المشكلة ولتعزيز دعم التطبيقات على نطاق أوسع لتقنيات تخزين المناطق. يمكنك زيارة موقع ZonedStorage.ioلمعرفة المزيد حول تقنيات تخزين المناطق واستخدام ZNS SSDs و ZBC / ZAC SMRs. ستجد هناك معلومات حول المشكلات التالية:

  • أجهزة كتلة المنطقة
  • دليل البدء
  • دعم وميزات نواة لينكس
  • التطبيقات والمكتبات
  • مضاهاة جهاز المنطقة بشكل منتظم
  • اختبار أداء
  • اختبارات توافق النظام

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

هل أنت جاهز


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

All Articles