SCST
SCST عبارة عن حزمة برمجية مرخصة بموجب رخصة جنو العمومية (GPL) تستهدف بروتوكول SCSI . تهدف هذه الحزمة البرمجية إلى تحقيق أداء عالٍ وموثوقية فائقة، بالإضافة إلى التوافق التام مع معايير SCSI الحالية ، وسهولة التوسع والاستخدام. لا يقتصر دعم SCST على بروتوكولات SCSI المتعددة (مثل iSCSI و FC و SRP وغيرها)، بل يشمل أيضًا دعم واجهات تخزين محلية متعددة (مثل تمرير SCSI، وإدخال /إخراج الكتل، وإدخال/إخراج الملفات)، بالإضافة إلى برامج تشغيل التخزين المُنفذة في مساحة المستخدم عبر برنامج التشغيل scst_user. [ 1 ]
لتحقيق أقصى أداء، تم تطبيق SCST كمجموعة من برامج تشغيل النواة. غالبًا ما يتم دمج SCST مع RAID ، وإزالة البيانات المكررة ، و/أو برامج مجموعات الحوسبة عالية التوافر لتعزيز وظائفها. تُعد حزمة برامج SCST البرنامج الأساسي للعديد من أنظمة SAN . [ 2 ] وقد سُجلت العديد من الأرقام القياسية العالمية باستخدام أنظمة SAN القائمة على SCST. [ 3 ] [ 4 ] [ 5 ] [ 6 ]
يتنافس SCST مع LIO Target لنفس الغرض، وهو توفير وحدة SCSI عامة داخل نواة لينكس. [ 7 ] أما بالنسبة للغرض الأضيق المتمثل في توفير هدف iSCSI لنظام لينكس ، فإن وحدتي IET وSTGT الأقدم تحظيان أيضًا بدعم من الصناعة. [ 8 ]
بين عامي 2013 و 2017، تم صيانة SCST بشكل أساسي من قبل موظفي SanDisk ، بعد أن استحوذت Fusion-io على الشركة الناشئة ID7 في عام 2013، وهي قوة دافعة وراء SCST [ 9 ] [ 10 ] [ 11 ] وبعد أن استحوذت SanDisk على Fusion-io في عام 2014. [ 12 ]
بنيان

يتكون برنامج SCST من ثلاث مجموعات من الوحدات النمطية:
- نواة SCST، وهي محرك مستقل عن البروتوكول لمعالجة أوامر SCSI.
- تقوم برامج التشغيل المستهدفة التي تتلقى أوامر SCSI من مُهيئ SCSI بتمرير هذه الأوامر إلى نواة SCST وإرسال الردود إلى المُهيئ.
- برامج تشغيل التخزين، أو ما يُعرف أيضًا بمعالجات الأجهزة، تتفاعل مع وسائط التخزين. تشمل واجهات التخزين المحلية المدعومة: SCSI، وجهاز الكتلة، والملف، وscst_user. يُعد scst_user بروتوكولًا خاصًا بـ SCST يسمح بتنفيذ برامج تشغيل التخزين بكفاءة في مساحة المستخدم.
يتم تكوين جميع هذه الوحدات عبر واجهة sysfs . على الرغم من أن التكوين المباشر لـ SCST عبر واجهة sysfs الخاصة به مريح، إلا أن الأداة المسماة scstadmin تسمح بالتحكم في SCST عبر واجهة sysfs الخاصة به، وكذلك حفظ واستعادة تكوين SCST.
تساعد جوانب التصميم التالية شركة SCST على تحقيق الأداء العالي الذي يشتهر به هذا المشروع:
- يمكن ضبط عدد الخيوط لكل جهاز تخزين يقوم بمعالجة أوامر SCSI.
- جميع وظائف برنامج تشغيل الهدف وبرنامج تشغيل التخزين التي يستدعيها نواة SCST غير متزامنة، على الأقل عندما تسمح نواة لينكس بذلك. على سبيل المثال، لا يمكن حتى الآن إجراء عمليات إدخال/إخراج غير متزامنة أو مباشرة من داخل نواة لينكس. [ 13 ]
- ترتبط كل أوامر SCSI بآلة حالة محدودة واحدة . وهذا يسمح لخيط أوامر واحد بمعالجة أوامر SCSI متعددة في وقت واحد.
- حتى عند استخدام عدة خيوط معالجة لكل جهاز تخزين، تشترك جميع هذه الخيوط في نفس سياق جدولة الإدخال/الإخراج. هذه المشاركة تُحسّن الأداء بشكل ملحوظ عند استخدام مُجدول الإدخال/الإخراج CFQ، على سبيل المثال.
- ذاكرة تخزين مؤقتة متجهة للتشتيت والتجميع. تتجنب هذه الذاكرة المؤقتة الحاجة إلى تخصيص الذاكرة عبر النواة لكل أمر SCSI.
- الوصول بدون تأمين إلى بعض هياكل البيانات اللازمة لمعالجة أوامر SCSI. وهذا يعني أيضًا أنه يجب تعليق عمليات الإدخال/الإخراج قبل تعديل أي من هياكل البيانات التي يتم الوصول إليها بدون تأمين. [ 14 ]
- يمكن لبرنامج تشغيل الهدف إرسال أوامر SCSI إلى نواة SCST من سياق softirq. ينتج عن ذلك عدد أقل من عمليات تبديل السياق مقارنةً بإرسال أوامر SCSI من سياق مؤشر الترابط. [ 15 ]
تاريخ
في عام 2000، طوّر مختبر التوافق التشغيلي بجامعة نيو هامبشاير (UNH-IOL) إطار عمل لأهداف SCSI. ورغم أن تطبيق أهداف SCSI الخاص بـ UNH-IOL يدعم بروتوكول iSCSI فقط ، فقد صُمم بحيث يسهل إضافة دعم لبروتوكولات تخزين أخرى. [ 16 ]
في عام ٢٠٠٤، أُعلن عن مشروع SCST، الذي يوفر دعمًا لتقنية Fibre Channel وiSCSI. واعتمد الهدف الأولي لتقنية iSCSI في SCST على تطبيق UNH-IOL لتقنية iSCSI. [ ١٧ ] وفي ذلك الوقت تقريبًا، طورت شركة Ardis Technologies حزمة برمجية بديلة لهدف iSCSI. [ ١٨ ]
يُعدّ برنامج iSCSI Enterprise Target، الذي أُعلن عنه عام 2005، تطورًا إضافيًا لمجموعة برامج Ardis. [ 19 ] [ 20 ] وفي وقت لاحق من عام 2005، أعلنت شركة Chelsio عن برنامج تشغيل SCST iSCSI target لعائلة محولات Chelsio T2 Ethernet. [ 21 ]
في عام 2006، أُضيف برنامج تشغيل مُستهدف لبطاقات LSI/MPT. [ 22 ] وفي وقت لاحق من هذا العام، أُضيفت أداة scstadmin. تتيح هذه الأداة حفظ واستعادة إعدادات SCST من ملف أو إليه. [ 23 ]
في عام 2007، تم استبدال رقعة هدف iSCSI الخاصة بـ UNH-IOL في مشروع SCST بنسخة معدلة من IET. [ 24 ]
في عام 2008، تبرعت شركة ميلانوكس ببرنامج تشغيل SRP المستهدف. [ 25 ] وفي وقت لاحق، قام بارت فان آش بتحسين هذا البرنامج. [ 26 ]
في عام 2009، تبرعت شركة مارفيل ببرنامج تشغيل مستهدف لبطاقات SAS الخاصة بها. [ 27 ]
وفي عام 2009 أيضاً ، أعلنت شركة Emulex عن برنامج تشغيل مخصص لبطاقات محولات الألياف الضوئية / FCoE . [ 28 ] [ 29 ] [ 30 ]
في نفس العام تمت إضافة واجهة sysfs إلى SCST بجوار واجهة procfs الموجودة بالفعل.
في عام 2010، تبرعت شركة سيسكو ببرنامج تشغيل هدف FCoE [ 31 ] وقام بارت فان آش بنقل برنامج تشغيل هدف SCSI الخاص بنظام IBM System p إلى SCST. [ 32 ]
في عام 2011، أُضيفت خاصية دعم ALUA الضمنية إلى نواة SCST وأداة تكوين scstadmin. [ 33 ] دُمجت نصوص التهيئة الثلاثة (scst وiscsi-scst وqla2x00t) في نص تهيئة واحد، مما سهّل تثبيت SCST وإدارته.
في عام 2013، تمت إضافة دعم لبطاقات QLogic InfiniBand HCA في برنامج تشغيل SRP المستهدف. [ 34 ]
في يناير 2014، تبرعت شركة ميلانوكس بتنفيذ برنامج تشغيل هدف iSER لمشروع SCST. [ 35 ]
في مايو 2014، أتاحت شركة QLogic برنامج تشغيل QLogic المستهدف بسرعة 16 جيجابت/ثانية، وأعلنت أيضًا عن توليها مسؤولية صيانة برنامج تشغيل SCST QLogic المستهدف. [ 36 ]
في عام 2016 تمت إضافة دعم لعمليات الإدخال والإخراج غير المتزامنة للملفات المخزنة مؤقتًا والمباشرة، بالإضافة إلى بنية تحتية أكثر قوة لقياس زمن الوصول.
في عام 2019 تم تعديل نواة SCST بحيث تستمر عمليات الإدخال/الإخراج في العمل بكامل سرعتها في حالة إضافة أو إزالة وحدة تخزين منطقية (LUN).
انظر أيضاً
مراجع
- ↑ فان آش، بارت (19 أغسطس 2015). SCST، إطار عمل هدف SCSI (ملف PDF) . مؤتمر لينكس كون أمريكا الشمالية 2015. سياتل.
- ↑ بولخوفيتين، فلاديسلاف (20 ديسمبر 2012). "مستخدمو SCST" .
- ↑ "تسجيل رقم قياسي عالمي جديد في الحوسبة السحابية باستخدام Cisco UCS وVMware وFusion-io" . Fusion-io. 10 مايو 2013. مؤرشف من الأصل في 2 يوليو 2014. تم الاطلاع عليه في 12 أغسطس 2018 .
- ↑ "شركة HP تحقق المركز الأول في معيارين جديدين لأداء المحاكاة الافتراضية وفقًا لـ VMmark باستخدام مُسرِّع البيانات ION" . Fusion-io. ١٢ سبتمبر ٢٠١٣. مؤرشف من الأصل في ١٦ يونيو ٢٠١٤. تم الاطلاع عليه في ١٢ أغسطس ٢٠١٨ .
- ↑ «حققت HP أرقامًا قياسية عالمية في أداء المحاكاة الافتراضية لخوادم Blade ثنائية المعالجات وخوادم Rack-mount ثنائية المعالجات على معيار VMmark 2.5.1» (ملف PDF) . HP. أكتوبر 2013.
- ↑ "يتجاوز جهاز K2 مليوني عملية إدخال/إخراج في الثانية باستخدام نظام تخزين فلاشي كامل واحد" . كاميناريو. 4 أكتوبر 2012.
- ↑ "قصة هدفين من أهداف SCSI [ LWN.net ] " .
- ↑ فلوريان هاس، " نسخ كل شيء! تخزين iSCSI عالي التوفر مع DRBD وPacemaker "، (قسم Linux iSCSI: قصة أربعة أهداف) مجلة لينكس، العدد 217، مايو 2012
- ↑ ماير، ديفيد (18 مارس 2013). "شركة Fusion-io تستحوذ على شركة ID7 المتخصصة في حلول التخزين المعرّفة برمجياً للاستفادة من خبرتها في SCST" . Gigaom . مؤرشف من الأصل في 1 فبراير 2014. تم الاطلاع عليه في 20 يوليو 2014 .
- ↑ أوبراين، كيفن (18 مارس 2013). "شركة فيوجن-آي أو تستحوذ على شركة آي دي 7، مطوري برنامج SCST" . مؤرشف من الأصل في 14 أكتوبر 2014. تم الاطلاع عليه في 20 يوليو 2014 .
- ↑ "Fusion-io ID7 - تسريع التخزين المشترك باستخدام حلول البرمجيات المعرفة" . Fusion-io . مؤرشف من الأصل في 4 أغسطس 2014. تم الاطلاع عليه في 12 أغسطس 2018 .
- ↑ آير، جاي (23 يوليو 2014). "سانديسك تُكمل عملية الاستحواذ على فيوجن-آي أو" . سانديسك .
- ↑ إيدج، جيك (3 أبريل 2012). "قمة لينكس لإدارة التخزين والملفات والذاكرة لعام 2012 - اليوم الأول" .
- ^ فان آش ، بارت (25 ديسمبر 2012). "المزيد من القفل الدقيق في SCST" .
- ↑ بولخوفيتين، فلاديسلاف؛ فان آش، بارت (26 سبتمبر 2012). "ملف تعليمات SCST" . مؤرشف من الأصل في 8 أبريل 2018. تم الاطلاع عليه في 7 أبريل 2018 .
- ↑ باليكار، أشيش؛ غاناباثي، ناريندران؛ تشادا، أنشول؛ راسل، روبرت د. (2001). "تصميم وتنفيذ هدف SCSI لنظام لينكس لشبكات منطقة التخزين". وقائع المؤتمر والمعرض السنوي الخامس لنظام لينكس . 5. جمعية USENIX: 11-18 . CiteSeerX 10.1.1.61.2706 .
- ↑ بولخوفيتين، فلاديسلاف. "إعلان عن مستوى وسيط هدف SCSI العام لنظام التشغيل Linux (SCST) مع برامج تشغيل الهدف" .
- ↑ فوجيتا، تومونوري؛ ماسانوري، أوغاوارا (2004). "تحليل برمجيات هدف iSCSI" . وقائع ورشة العمل الدولية حول بنية شبكة التخزين والإدخال/الإخراج المتوازي - SNAPI '04 . ACM. الصفحات 25-32 . doi : 10.1145/1162628.1162632 . ISBN 9781450378222. S2CID 14730273 .
- ↑ فوجيتا، تومونوري (1 يونيو 2004). "هدف iSCSI المؤسسي" .
- ↑ فوجيتا، تومونوري (1 مارس 2005). "الإعلان عن برنامج iSCSI الهدف للمؤسسات" .
- ↑ سميث، راندي (7 سبتمبر 2005). "تشيلسيو تقدم عائلة منتجات iSCSI من الجيل التالي تتميز بتطورات هائلة في الأداء وكثافة المنافذ" . تشيلسيو.
- ↑ هابينجا، إريك (13 ديسمبر 2006). "برنامج تشغيل هدف LSI/MPT" .
- ↑ بوشلر، مارك ر. (14 نوفمبر 2006). "الالتزام الأولي لـ scstadmin" .
- ↑ بولخوفيتين، فلاديسلاف (15 أغسطس 2007). "الالتزام الأولي لـ iSCSI-SCST" .
- ↑ فام، فو (17 مايو 2008). "الالتزام الأولي لبرنامج تشغيل هدف SRP" .
- ^ فان آش ، بارت (20 ديسمبر 2010). "التصحيح 4/7 scst: إضافة برنامج تشغيل هدف SRP" .
- ↑ يان، أندي (14 أبريل 2009). "برنامج تشغيل مستهدف لبطاقات SAS من نوع Marvell 88SE64xx(3G) و 88SE94xx(6G)" .
- ↑ بولخوفيتين، فلاديسلاف (8 يوليو 2009). "الإعلان عن دعم برنامج تشغيل SCST Target لمحولات Emulex lpfc FC/FCoE" .
- ↑ لين، كاثرين (15 سبتمبر 2009). "مجموعة تطوير البرمجيات (SDK) تُعزز القيمة وتُوسع فرص السوق لمطوري حلول تخزين مراكز البيانات" . إيمولكس. مؤرشف من الأصل في 15 أكتوبر 2009. تم الاطلاع عليه في 10 أغسطس 2018 .
- ↑ "مجموعة أدوات تطوير برامج TargetConnect: تسريع وتبسيط وتحسين تطوير برامج تشغيل Target" . Emulex. 15 سبتمبر 2009. مؤرشف من الأصل في 14 أكتوبر 2009. تم الاطلاع عليه في 10 أغسطس 2018 .
- ↑ إيكهولت، جو (20 فبراير 2010). "الالتزام الأولي ببرنامج تشغيل FCoE المستهدف" .
- ^ فان آش ، بارت (20 ديسمبر 2010). "التصحيح 5/7 ibmvstgt: المنفذ من tgt إلى SCST" .
- ^ فان آش ، بارت (11 مايو 2011). "PATCH scst: إضافة دعم ALUA الضمني" .
- ^ فان آش ، بارت (17 مارس 2013). "PATCH ib_srpt: إضافة دعم لـ QLogic InfiniBand HCA's" .
- ↑ بورمان، يان (21 يناير 2014). "التصحيح 0/9 دعم iSER لـ SCST" .
- ↑ غريغسبي، دوان (20 مايو 2014). "دعم QLogic لـ 16G FC/FCoE HBA" .
روابط خارجية
- نظام تشغيل تخزين المؤسسات (ESOS) - منصة تخزين مفتوحة المصدر وعالية الأداء على مستوى الكتل.
- بيل تشايلدرز، OpenFiler: جهاز تخزين شبكي مفتوح المصدر ، مجلة لينكس العدد 181، مايو 2009.
- إيرول نيل، SSD + ZFS/bcache/EnhanceIO + SCST = مصفوفة تخزين هجينة؟، ha-guru.com، 22 يوليو 2014.
- برنامج مجاني مكتوب بلغة C
- البرامج المتعلقة بنواة لينكس
- SCSI
- برنامج تخزين مجاني
- برنامج يستخدم رخصة جنو العمومية العامة
