خريطة الأجهزة
يُعدّ مُخطِّط الأجهزة إطار عمل توفره نواة لينكس لربط أجهزة التخزين الفعلية بأجهزة التخزين الافتراضية ذات المستوى الأعلى . وهو يُشكّل أساس مدير وحدات التخزين المنطقية (LVM)، وأنظمة RAID البرمجية ، وتشفير القرص dm-crypt ، كما يُقدّم ميزات إضافية مثل لقطات نظام الملفات . [ 1 ]
يعمل مُوَصِّل الأجهزة عن طريق نقل البيانات من جهاز كتلة افتراضي، يُوفره مُوَصِّل الأجهزة نفسه، إلى جهاز كتلة آخر. ويمكن أيضًا تعديل البيانات أثناء النقل، وهو ما يتم، على سبيل المثال، في حالة قيام مُوَصِّل الأجهزة بتوفير تشفير القرص أو محاكاة سلوك الأجهزة غير الموثوق به.
تركز هذه المقالة على تطبيق مُحدد الأجهزة في نواة لينكس، ولكن وظيفة مُحدد الأجهزة متوفرة أيضًا في كل من NetBSD و DragonFly BSD . [ 2 ] [ 3 ]
الاستخدام
تتواصل التطبيقات (مثل LVM2 ونظام إدارة وحدات التخزين المؤسسية (EVMS)) التي تحتاج إلى إنشاء أجهزة مُرتبطة جديدة مع مُرَجِّع الأجهزة عبر libdevmapper.soالمكتبة المشتركة ، والذي بدوره يُصدر أوامر ioctl إلى /dev/mapper/controlعقدة الجهاز . [ 4 ] كما يُمكن فحص وتكوين إعدادات مُرَجِّع الأجهزة بشكل تفاعلي -أو من خلال نصوص برمجية - باستخدام الأداة المساعدة. [ 5 ] [ 6 ]
يتم الاحتفاظ بشفرة المصدر لكل من هذين المكونين الخاصين بمساحة المستخدم جنبًا إلى جنب مع شفرة المصدر الخاصة بـ LVM2. [ 7 ]
سمات

تشمل الوظائف التي يوفرها مُخطط الجهاز عمليات الربط الخطي، والربط المُجزأ، وربط الأخطاء، بالإضافة إلى أهداف التشفير والمسارات المتعددة. على سبيل المثال، يمكن دمج قرصين في وحدة تخزين منطقية واحدة باستخدام زوج من عمليات الربط الخطي ، واحد لكل قرص. كمثال آخر، يقوم هدف التشفير بتشفير البيانات التي تمر عبر الجهاز المحدد، باستخدام واجهة برمجة تطبيقات التشفير (Crypto API) الخاصة بنواة لينكس . [ 1 ]
اعتبارًا من عام 2014تتوفر أهداف التعيين التالية: [ 1 ] [ 5 ]
- ذاكرة التخزين المؤقت - تسمح بإنشاء وحدات تخزين هجينة ، باستخدام محركات الأقراص ذات الحالة الصلبة (SSDs) كذاكرة تخزين مؤقت لمحركات الأقراص الصلبة (HDDs).
- الاستنساخ - سيسمح بالاستخدام قبل اكتمال عملية النقل.
- crypt – يوفر تشفير البيانات، باستخدام واجهة برمجة تطبيقات التشفير الخاصة بنواة لينكس
- التأخير – يؤخر عمليات القراءة و/أو الكتابة إلى أجهزة مختلفة (يستخدم للاختبار)
- era – يتصرف بطريقة مشابهة للهدف الخطي، بينما يحتفظ بتتبع الكتل التي تمت كتابتها خلال فترة زمنية محددة من قبل المستخدم [ 9 ]
- خطأ – يحاكي أخطاء الإدخال/الإخراج لجميع الكتل المعينة (يستخدم للاختبار)
- متقطع – يحاكي السلوك الدوري غير الموثوق به (يستخدم للاختبار)
- خطي – يرسم نطاقًا متصلًا من الكتل على جهاز كتلة آخر
- المرآة – تقوم برسم خريطة لجهاز منطقي معكوس ، مع توفير تكرار البيانات
- يدعم تعدد المسارات – رسم خرائط الأجهزة متعددة المسارات ، من خلال استخدام مجموعات المسارات الخاصة بها
- راد – يوفر واجهة لبرنامج تشغيل RAID الخاص بنواة لينكس ( md )
- snapshot و snapshot-origin - يُستخدمان لإنشاء لقطات LVM، كجزء من مخطط النسخ عند الكتابة الأساسي
- مُقسّم - يقوم بتوزيع البيانات على الأجهزة المادية، مع تحديد عدد الشرائح وحجم جزء التوزيع كمعلمات.
- تقنية Thin تسمح بإنشاء أجهزة أكبر من الجهاز المادي الأساسي، ويتم تخصيص المساحة المادية فقط عند الكتابة إليها.
- الصفر – وهو ما يعادل ، حيث تُرجع جميع عمليات القراءة كتلًا من الأصفار، ويتم تجاهل عمليات الكتابة.
/dev/zero
التطبيقات
تتضمن ميزات نواة لينكس والمشاريع المبنية على أساس مُحدد الأجهزة ما يلي:
- cryptsetup – أداة مساعدة تُستخدم لإعداد تشفير القرص بسهولة باستخدام dm-crypt
- dm-crypt / LUKS – هدف ربط يوفر تشفير وحدة التخزين
- dm-cache – هدف تعيين يسمح بإنشاء وحدات تخزين هجينة
- dm-integrity – هدف التعيين الذي يوفر سلامة البيانات ، إما باستخدام مجموع التحقق أو التحقق المشفر، [ 10 ] [ 11 ] يستخدم أيضًا مع LUKS [ 12 ]
- dm-log-writes – هدف التعيين الذي يستخدم جهازين، حيث يمر عبر الجهاز الأول ويسجل عمليات الكتابة التي تم تنفيذها عليه على الجهاز الثاني [ 13 ]
- dm-verity – يتحقق من صحة كتل البيانات الموجودة في نظام الملفات مقابل قائمة من قيم التجزئة المشفرة، والتي تم تطويرها كجزء من مشروع ChromiumOS [ 14 ]
- – يوفر الوصول إلى تكوينات RAID "الوهمية" عبر أداة تعيين الأجهزة
- DM Multipath – يوفر تجاوز الفشل في الإدخال/الإخراج وموازنة الأحمال لأجهزة التخزين داخل نواة لينكس
- يستخدم Docker أداة تعيين الأجهزة لإنشاء مساحة تخزين قابلة للنسخ عند الكتابة لحاويات البرامج
- DRBD (جهاز الكتلة المكرر الموزع)
- نظام إدارة القيمة المكتسبة (مُهمل)
- – أداة يتم استدعاؤها من خاصية التوصيل السريع عند إنشاء وحذف خرائط الأجهزة
- LVM2 – مدير وحدات التخزين المنطقية لنواة لينكس
- فيرا كريبت - نسخة لينكس من ترو كريبت
- VDO - مُحسِّن البيانات الافتراضي
مراجع
- 1 2 3 "إدارة مدير وحدة التخزين المنطقية، الملحق أ. مُحدد الأجهزة" . ريد هات . تم الاسترجاع في 29-09-2013 .
- ↑ "دليل واجهات نواة NetBSD: dm(4)" . netbsd.gw.com . 30-08-2008. مؤرشف من الأصل في 19-07-2014 . تم الاطلاع عليه في 25-01-2015 .
- ↑ "صفحات دليل DragonFly الإلكتروني: dm(4)" . dragonflybsd.org . 2010-07-28 . تم الاطلاع عليه بتاريخ 2014-06-06 .
- ↑ "libdevmapper.h" . sourceware.org . تم الاطلاع عليه بتاريخ 29-09-2013 .
- 1 2 "dmsetup(8) - صفحة دليل لينكس" . man.cx. تم الاطلاع عليه بتاريخ 22-10-2013 .
- ↑ "إدارة مدير وحدة التخزين المنطقية" . الملحق أ.2. أمر dmsetup . ريد هات . تم الاطلاع عليه بتاريخ 29-09-2013 .
- ↑ "صفحة موارد Device-mapper" . sourceware.org . تم الاطلاع عليها بتاريخ 29-09-2013 .
- ^ فيرنر فيشر. جورج شونبيرجر (2015/06/01). "مخطط مكدس تخزين Linux" . توماس كرين. AG. تم الاسترجاع 2015/06/08 .
- ↑ "6. طبقة الكتل" . نواة لينكس 3.15 . kernelnewbies.org. 2014-06-08 . تم الاطلاع عليه بتاريخ 2014-06-15 .
- ↑ "dm-integrity" . مشروع cryptosetup. 30-04-2018 . تم الاسترجاع في 08-05-2018 .
- ↑ "dm-integrity target" . kernel.org . 2017-05-13 . تم الاطلاع عليه بتاريخ 2018-05-08 .
- ↑ "cryptsetup - إدارة وحدات التخزين المشفرة باستخدام dm-crypt وLUKS" . 2018-01-01 . تم الاطلاع عليه بتاريخ 2018-05-08 .
- ↑ "وثائق نواة لينكس: Documentation/device-mapper/log-writes.txt" . kernel.org . 2015-05-29 . تم الاطلاع عليه بتاريخ 2015-10-13 .
- ↑ جوناثان كوربيت (19 سبتمبر 2011). "dm-verity" . LWN.net . تم الاطلاع عليه بتاريخ 13 أكتوبر 2015 .
روابط خارجية
- صفحة Device mapper الرئيسية على موقع Red Hat، مؤرشفة بتاريخ 15 مارس 2006 على موقع Wayback Machine.
- "الحق في امتلاك أجهزتك الخاصة" . جريدة لينكس . مايو 2005. – مقال يوضح استخدام أهداف مختلفة لرسم خرائط الأجهزة
- أداة في مساحة المستخدم لإعداد RAID البرمجي باستخدام تنسيقات بيانات تعريف RAID المختلفة
- دعم المسارات المتعددة في أداة رسم الخرائط للأجهزة ، LWN.net ، 23 فبراير 2005، بقلم جوناثان كوربيت
- خريطة الأجهزة
- برنامج ريد هات
