डिवाइस मैपर

From Vigyanwiki

डिवाइस मैपर एक प्रकार का फ्रेमवर्क होता है जिसे लिनक्स कर्नेल द्वारा प्रदान किया जाता है और यह भौतिक ब्लॉक डिवाइस को उच्च-स्तरीय वर्चुअल ब्लॉक डिवाइस पर मैप करने के लिए उपयोग होता है। यह लॉजिकल वॉल्यूम मैनेजर (एलवीएम), सॉफ्टवेयर रेड (आरएडीएस) और डीएम-क्रिप्ट डिस्क एन्क्रिप्शन का आधारभूत तत्व है और फ़ाइल सिस्टम स्नैपशॉट की तरह अतिरिक्त सुविधाएं प्रदान करता है।[1]

डिवाइस मैपर एक वर्चुअल ब्लॉक डिवाइस से डेटा पास करके कार्य करता है, जो डिवाइस मैपर द्वारा ही किसी अन्य ब्लॉक डिवाइस को प्रदान किया जाता है। डेटा को संक्रमण में भी संशोधित किया जा सकता है, जो उदाहरण के रूप में डिवाइस मैपर द्वारा डिस्क इन्क्रिप्शन प्रदान करने या अविश्वसनीय हार्डवेयर की क्रियाविधि का अनुकरण करने के स्थिति में किया जाता है।

यह लेख लिनक्स कर्नेल में डिवाइस मैपर के कार्यान्वयन पर केंद्रित है, लेकिन डिवाइस मैपर की कार्यक्षमता नेटबीएसडी और ड्रैगनफली बीएसडी दोनों में भी उपलब्ध है।[2][3]

उपयोग

अनुप्रयोग (जैसे एमवीएम2 और इंटरप्राइज़ वॉल्यूम मैनेजमेंट सिस्टम (ईवीएमएस)) जिन्हें नवीन मैप किए गए डिवाइस बनाने की आवश्यकता होती है, libdevmapper.so शेयर्ड लाइब्रेरी के माध्यम से डिवाइस मैपर से सम्भाषण करते हैं, जो इसके परिणामस्वरूप /dev/mapper/control डिवाइस नोड को ioctls जारी करता है।[4] डिवाइस मैपर के कॉन्फिगरेशन की भी जांच की जा सकती है और dmsetup(8) यूटिलिटी का उपयोग करके--या शेल स्क्रिप्ट से--संवादात्मक रूप से समनुरूप किया जा सकता है।[5][6]

इन दोनों यूजरस्पेस संघटकों का स्रोत कोड एलवीएम2 स्रोत के साथ निर्वाहित किया जाता है।[7]

विशेषताएँ

लिनक्स कर्नेल स्टोरेज स्टैक की विभिन्न परतों के भीतर डिवाइस मैपर टारगेट की स्थिति।[8]

डिवाइस मैपर द्वारा प्रदान किए गए फंक्शन्स में रैखिक, स्ट्राइप्ड और त्रुटि मैपिंग, साथ ही क्रिप्ट और मल्टीपाथ टारगेट सम्मिलित होते हैं। उदाहरण के लिए, दो डिस्क को एक लॉजिकल वॉल्यूम में रैखिक मैपिंग, प्रत्येक डिस्क के लिए एक-एक, के एक युग्म के साथ जोड़ा जा सकता है। अन्य उदाहरण के रूप में, क्रिप्ट टारगेट लिनक्स कर्नेल के क्रिप्टो एपीआई का उपयोग करके निर्दिष्ट डिवाइस से पास होने वाले डेटा को इन्क्रिप्ट करता है।[1]

2014 तक, निम्नलिखित मैपिंग टारगेट उपलब्ध हैं: [1][5]

  • कैशे - हार्ड डिस्क ड्राइव (एचडीडी) के लिए सॉलिड स्टेट ड्राइव्स (एसएसडी) का कैशे के रूप में उपयोग करके हाइब्रिड वॉल्यूम का निर्माण करने की अनुमति प्रदान करता है।
  • क्लोन - स्थानांतरण पूर्ण होने से पहले उपयोग की अनुमति प्रदान करता है।
  • क्रिप्ट - लिनक्स कर्नल की क्रिप्टो एपीआई का उपयोग करके डेटा इन्क्रिप्शन प्रदान करता है।
  • डिले - विभिन्न उपकरणों पर रीड और/या राइट को डिले करता है (परीक्षण के लिए उपयोग होता है)।
  • ईआरए - यह लिनियर टारगेट के समान व्यवहार करता है, जबकि यह उपयोगकर्ता-निर्धारित समय अवधि में लिखी गई ब्लॉक के लिए ट्रैक रखता है।[9]
  • त्रुटि - सभी मैप किए गए ब्लॉकों के लिए I/O त्रुटि का अनुकरण करता है (परीक्षण के लिए उपयोग होता है)।
  • फ़्लेकी - आवधिक अविश्वसनीय व्यवहार का अनुकरण करता है (परीक्षण के लिए उपयोग होता है)।
  • लीनियर - ब्लॉक उपकरण पर एक निरंतर सीमा रेंज को मैप करता है।
  • मिरर - डेटा पुनरावृत्ति प्रदान करते हुए मिरर किए गए लॉजिकल डिवाइस को मैप करता है।
  • मल्टीपाथ - मल्टीपाथ उपकरणों के मैपिंग का समर्थन करता है, उनके पथ समूहों का उपयोग करके।
  • रेड - लिनक्स कर्नल के सॉफ्टवेयर रेड ड्राइवर (एमडी) के लिए एक इंटरफेस प्रदान करता है।
  • स्नैपशॉट और स्नैपशॉट-ओरिजिन - एलवीएम स्नैपशॉट के निर्माण के लिए उपयोग किए जाते हैं, कॉपी-ऑन-राइट योजना के अंतर्गत।
  • स्ट्राइप्ड - फिजिकल डिवाइस पर डेटा को स्ट्राइप करता है, संख्या और स्ट्राइपिंग चंक आकार को पैरामीटर के रूप में लेते हुए।
  • थिन - उपकरणों के निर्माण की अनुमति प्रदान करता है जो मूल फिजिकल डिवाइस से अधिक बड़े होते हैं, फिजिकल समष्टि केवल लिखने पर ही आवंटित होता है।
  • जीरो - /dev/zero, के समकक्ष होता है, सभी रीड शून्य ब्लॉक प्रत्यपर्णित करता है, और राइट्स छोड़ दिया जाता है।

अनुप्रयोग

डिवाइस मैपर के शीर्ष पर निर्मित लिनक्स कर्नेल विशेषताएँ और परियोजनाओं में निम्नलिखित सम्मिलित हैं:

  • क्रिप्टसेटअप – डीएम-क्रिप्ट के आधार पर डिस्क इन्क्रिप्शन को सुविधाजनक रूप से सेटअप करने के लिए उपयोग की जाने वाली उपयोगिता
  • डीएम-क्रिप्ट/एलयूकेएस – मैपिंग टारगेट जो वॉल्यूम इन्क्रिप्शन प्रदान करता है
  • डीएम-कैशे – मैपिंग टारगेट जो हाइब्रिड वॉल्यूम बनाने की अनुमति प्रदान करता है
  • डीएम-इंटेग्रेटी – मैपिंग टारगेट जो डेटा इंटेग्रेटी प्रदान करता है, या तो चेकसमिंग या क्रिप्टोग्राफ़िक प्रमाणन का उपयोग करके,[10][11] एलयूकेएस के साथ भी उपयोग किया जाता है[12]
  • डीएम-लॉग-राइट्स – मैपिंग टारगेट जो दो डिवाइस का उपयोग करता है, पहले डिवाइस से पास होता है और दूसरे डिवाइस पर इसके लिए किए गए राइट फंक्शन को लॉग करता है[13]
  • डीएम-वेरिटी – क्रोमियमओएस परियोजना के भाग के रूप में विकसित क्रिप्टोग्राफ़िक हैश मानों की सूची के विरुद्ध फ़ाइल सिस्टम में निहित डेटा ब्लॉक को मान्य करता है[14]
  • dmraid(8) – डिवाइस मैपर के माध्यम से "फेक" रैड विन्यास प्रदान करता है
  • डीएम मल्टीपाथ – लिनक्स कर्नेल के भीतर I/O फेलओवर और ब्लॉक डिवाइसेस के लोड-बैलेंसिंग प्रदान करता है
  • डॉकर – सॉफ्टवेयर कंटेनरों के लिए कॉपी-ऑन-राइट स्टोरेज बनाने के लिए डिवाइस मैपर का उपयोग करता है
  • डीआरबीडी (डिस्ट्रीब्यूटेड रेप्लिकेटेड ब्लॉक डिवाइस)
  • ईवीएम (बहिष्कृत)
  • kpartx(8) – डिवाइस मैप निर्माण और विलोपन पर हॉटप्लग से उपयोगिता कहा जाता है
  • एलवीएम2  – लिनक्स कर्नेल के लिए लॉजिकल वॉल्यूम मैनेजर
  • वेराक्रिप्ट  – ट्रूक्रिप्ट का लाइनक्स संस्करण
  • वीडीओ  – वर्चुअल डाटा ऑप्टिमाइज़र

संदर्भ

  1. 1.0 1.1 1.2 "Logical Volume Manager Administration, Appendix A. The Device Mapper". Red Hat. Retrieved 2013-09-29.
  2. "NetBSD Kernel Interfaces Manual: dm(4)". netbsd.gw.com. 2008-08-30. Retrieved 2015-01-25.
  3. "DragonFly On-Line Manual Pages: dm(4)". dragonflybsd.org. 2010-07-28. Retrieved 2014-06-06.
  4. "libdevmapper.h". sourceware.org. Retrieved 2013-09-29.[permanent dead link]
  5. 5.0 5.1 "dmsetup(8) - Linux man page". man.cx. Retrieved 2013-10-22.
  6. "Logical Volume Manager Administration". Appendix A.2. The dmsetup Command. Red Hat. Retrieved 2013-09-29.
  7. "Device-mapper Resource Page". sourceware.org. Retrieved 2013-09-29.
  8. Werner Fischer; Georg Schönberger (2015-06-01). "Linux Storage Stack Diagram". Thomas-Krenn.AG. Retrieved 2015-06-08.
  9. "6. Block layer". Linux kernel 3.15. kernelnewbies.org. 2014-06-08. Retrieved 2014-06-15.
  10. "dm-integrity". cryptosetup project. 2018-04-30. Retrieved 2018-05-08.
  11. "dm-integrity target". kernel.org. 2017-05-13. Retrieved 2018-05-08.
  12. "cryptsetup - manage plain dm-crypt and LUKS encrypted volumes". 2018-01-01. Retrieved 2018-05-08.
  13. "Linux kernel documentation: Documentation/device-mapper/log-writes.txt". kernel.org. 2015-05-29. Retrieved 2015-10-13.
  14. Jonathan Corbet (2011-09-19). "dm-verity". LWN.net. Retrieved 2015-10-13.


बाहरी संबंध