الخلاصة

  • طور Weil مشروع Ceph ضمن برنامج بحث جماعي في UC Santa Cruz وأكمل الدكتوراه عام 2007، بعد نشر أوراق Ceph وCRUSH الأساسية عام 2006.
  • يحسب CRUSH الموضع من الخرائط والأوزان والطوبولوجيا والقواعد؛ ويوزع RADOS الكائنات والنسخ واكتشاف الأعطال والتعافي بين monitors وOSDs.
  • يقدم Ceph block عبر RBD والكيان عبر RGW وfilesystem بنمط POSIX عبر CephFS فوق الأساس نفسه، لكن بمسارات تشغيل مختلفة.
  • شارك Weil في تأسيس Inktank عام 2012، وأعلنت Red Hat في 30 أبريل 2014 شراءها بنحو 175 مليون دولار.
  • ابتعد Weil عن العمل اليومي في Ceph ويقود Civic Media. السلطة الحالية لدى maintainers وهياكل الحوكمة المعاصرة، لا المؤسس التاريخي.

مصفوفة التخزين التي أصبحت خوارزمية

أزال Ceph جدول مواضع مركزي من مسار البيانات المعتاد. يحسب CRUSH الأجهزة من خريطة وقاعدة، وتخزن OSDs في RADOS وتتبادل الحالة وتنسخ وتتعافى تحت خرائط موثوقة تحتفظ بها monitors. يتوزع العمل ولا تختفي السلطة.

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

مجموعة بحث لا مخترع منفرد

ولد Ceph في Storage Systems Research Center بجامعة UC Santa Cruz. كان Weil مصمماً وبانياً محورياً، لكن المشرفين والمؤلفين المشاركين والطلاب والتمويل وبيئات الاختبار شكلوا المشروع. تحمل أوراق 2006 أسماء متعددة، منها Scott Brandt وEthan Miller وCarlos Maltzahn وDarrell Long بحسب الورقة.

لا يقلل الإسناد الجماعي من دور Weil؛ بل يفسر كيف صارت أطروحة بنية تحتية. كان لا بد أن يفهم الآخرون النظام وينقدوه ويحافظوا عليه كي يعيش بعد منشئه.

CRUSH: حساب المكان الذي تنتمي إليه البيانات

يستخدم CRUSH buckets هرمية وأوزاناً وقواعد لاختيار قائمة أجهزة مرتبة. يمكن للقاعدة فرض نسخ في رفوف مختلفة أو اختيار فئة وسائط. وعندما يتغير العنقود، يعاد تعيين جزء من الكائنات بدلاً من جدول مركزي لكل كائن.

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

RADOS وقرار توزيع الإصلاح

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

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

مخزن كائنات واحد وثلاث واجهات تخزين

يوفر RBD volumes للblock، ويقدم RGW APIs للكائنات، ويبني CephFS filesystem بنمط POSIX مع metadata servers. تشترك الواجهات في RADOS وآليات الموضع والتعافي.

لكن الاختناقات تختلف. يضيف RGW الهوية والبوابات، ويضيف CephFS مستوى metadata، ويعتمد RBD على clients وcaches. لا يثبت نجاح نمط واحد ملاءمة النمط الآخر.

placement groups والتعافي وثمن العطل

تجمع placement groups الكائنات كي يصبح الموضع وpeering والتعافي قابلاً للإدارة. يحدد توزيعها التوازن والعمل بعد العطل. وعند فقد OSD يعيد العنقود التعيين والبناء وفق السياسة.

يطيل نقص المساحة الحرة أو خطأ الطوبولوجيا حالة التدهور. يجب مراقبة unclean الكيانات وbackfill والlatency وbandwidth وزمن التعافي. لا تحل replication محل backup ضد الحذف المنطقي أو الفساد.

من شفرة الدكتوراه إلى بنية Linux التحتية

احتاج الانتقال من أطروحة إلى Linux وOpenStack سنوات من packaging والتوافق والتوثيق واختبار الترقية وإصلاح الأعطال. حمل تكامل kernel والتوزيعات Ceph إلى السحب والمنتجات. وكان العمل التشغيلي غير اللامع مهماً بقدر الأوراق العلمية.

سمح الانفتاح باختيار العتاد وخلق عروضاً متعددة، لكنه ضاعف تركيبات الشبكة والجهاز والkernel والversion. ينشر upstream فرعاً، ويتحمل integrator والمشغل مسؤولية التركيبة الفعلية.

Inktank وRed Hat والمسؤولية التجارية

تأسست Inktank عام 2012 وباعت الدعم وجمعت engineering. أعلنت Red Hat في 30 أبريل 2014 الاستحواذ بنحو 175 مليون دولار، فأدخلت Ceph في شركة open source كبيرة وأعمال cloud.

ساعد التمويل على الصيانة والتوسع لكنه ركز التوظيف. حدت الرخصة والمجتمع من السيطرة الحصرية. وكان على العملاء التمييز بين المشروع العلني ومنتج Red Hat والتوزيعة المحددة، ولكل منها roadmap وحدود دعم.

المشروع يتعلم العيش من دون مؤسسه

ترك Weil لاحقاً العمل بدوام كامل في Ceph وأسس Civic Media. تفسر سيرته الأصل لكنها لا تحدد قرارات الإصدار الحالية. إرجاع كل نجاح أو حادث حاضر إلى المؤسس يمحو عمل maintainers وpackagers والمشغلين الحاليين.

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