تحديث نظام الملفات العنقودية LizardFS 3.13.0-rc2

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

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

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

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

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

تحديث نظام الملفات العنقودية LizardFS 3.13.0-rc2

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

تأسس مشروع LizardFS في عام 2013 على شكل شوكة موسفس، ويختلف بشكل أساسي في وجود وضع النسخ المتماثل استنادًا إلى أكواد تصحيح الأخطاء Reed-Solomon (المشابهة لـ RaidzN)، ودعم ACL الموسع، ووجود عميل لمنصة Windows، وتحسينات إضافية (على سبيل المثال، عند دمج العميل و خادم تخزين، ويتم إرسال الكتل، إن أمكن، مع العقدة الحالية، ويتم تخزين البيانات التعريفية مؤقتًا في الذاكرة)، ونظام تكوين أكثر مرونة، ودعم قراءة البيانات مسبقًا، وحصص الدليل وإعادة العمل الداخلي.

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

تغييرات أخرى: عميل جديد يعتمد على النظام الفرعي FUSE3، يحل مشاكل تصحيح الأخطاء، تمت إعادة كتابة البرنامج المساعد nfs-ganesha بلغة C. يعمل التحديث 3.13.0-rc2 على إصلاح العديد من الأخطاء الحرجة التي جعلت إصدارات الاختبار السابقة للفرع 3.13 غير قابلة للاستخدام (لم يتم نشر إصلاحات الفرع 3.12 بعد، ولا يزال التحديث من 3.12 إلى 3.13 يؤدي إلى فقدان البيانات بالكامل).

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

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

المصدر: opennet.ru

إضافة تعليق