डिवाइस मैपर: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Software framework of Linux kernel}} डिवाइस मैपर एक सॉफ्टवेयर ढांचा है जो लिनक...")
 
(Work done)
Line 1: Line 1:
{{Short description|Software framework of Linux kernel}}
{{Short description|Software framework of Linux kernel}}
डिवाइस मैपर एक [[ सॉफ्टवेयर ढांचा ]] है जो [[लिनक्स कर्नेल]] द्वारा भौतिक ब्लॉक उपकरणों को उच्च-स्तरीय 'वर्चुअल [[ब्लॉक डिवाइस]]ेस' पर मैप करने के लिए प्रदान किया जाता है। यह [[ तार्किक मात्रा प्रबंधक ]] (एलवीएम), सॉफ्टवेयर [[ छापा ]] और [[dm-तहखाने]] डिस्क एन्क्रिप्शन की नींव बनाता है, और फाइल सिस्टम [[ स्नैपशॉट (कंप्यूटर भंडारण) ]] जैसी अतिरिक्त सुविधाएं प्रदान करता है।<ref name="redhat-dm">{{cite web
'''डिवाइस मैपर''' एक प्रकार का [[ सॉफ्टवेयर ढांचा |फ्रेमवर्क]] होता है जिसे [[लिनक्स कर्नेल]] द्वारा प्रदान किया जाता है और यह भौतिक [[ब्लॉक डिवाइस]] को उच्च-स्तरीय वर्चुअल ब्लॉक डिवाइस पर मैप करने के लिए उपयोग होता है। यह [[ तार्किक मात्रा प्रबंधक |लॉजिकल वॉल्यूम मैनेजर]] (एलवीएम), सॉफ्टवेयर [[ छापा |रेड]] (आरएडीएस) और [[dm-तहखाने|डीएम-क्रिप्ट]] डिस्क एन्क्रिप्शन का आधारभूत तत्व है और फ़ाइल सिस्टम [[ स्नैपशॉट (कंप्यूटर भंडारण) |स्नैपशॉट]] की तरह अतिरिक्त सुविधाएं प्रदान करता है।<ref name="redhat-dm">{{cite web
  | url = https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/device_mapper.html
  | url = https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/device_mapper.html
  | title = Logical Volume Manager Administration, Appendix A. The Device Mapper
  | title = Logical Volume Manager Administration, Appendix A. The Device Mapper
Line 6: Line 6:
  | publisher = [[Red Hat]]
  | publisher = [[Red Hat]]
}}</ref>
}}</ref>
डिवाइस मैपर एक वर्चुअल ब्लॉक डिवाइस से डेटा पास करके काम करता है, जो डिवाइस मैपर द्वारा ही दूसरे ब्लॉक डिवाइस को प्रदान किया जाता है। डेटा को संक्रमण में भी संशोधित किया जा सकता है, जो प्रदर्शन किया जाता है, उदाहरण के लिए, [[डिस्क एन्क्रिप्शन]] प्रदान करने वाले डिवाइस मैपर के मामले में या अविश्वसनीय हार्डवेयर व्यवहार का अनुकरण।


यह आलेख लिनक्स कर्नेल में डिवाइस मैपर कार्यान्वयन पर केंद्रित है, लेकिन डिवाइस मैपर कार्यक्षमता [[नेटबीएसडी]] और [[ड्रैगनफली बीएसडी]] दोनों में भी उपलब्ध है।<ref>{{cite web
डिवाइस मैपर एक वर्चुअल ब्लॉक डिवाइस से डेटा पास करके कार्य करता है, जो डिवाइस मैपर द्वारा ही किसी अन्य ब्लॉक डिवाइस को प्रदान किया जाता है। डेटा को संक्रमण में भी संशोधित किया जा सकता है, जो उदाहरण के रूप में डिवाइस मैपर द्वारा [[डिस्क एन्क्रिप्शन|डिस्क इन्क्रिप्शन]] प्रदान करने या अविश्वसनीय हार्डवेयर की क्रियाविधि का अनुकरण करने के स्थिति में किया जाता है।
 
यह लेख लिनक्स कर्नेल में डिवाइस मैपर के कार्यान्वयन पर केंद्रित है, लेकिन डिवाइस मैपर की कार्यक्षमता [[नेटबीएसडी]] और [[ड्रैगनफली बीएसडी]] दोनों में भी उपलब्ध है।<ref>{{cite web
  | url = http://netbsd.gw.com/cgi-bin/man-cgi?dm+4+NetBSD-current
  | url = http://netbsd.gw.com/cgi-bin/man-cgi?dm+4+NetBSD-current
  | title = NetBSD Kernel Interfaces Manual: dm(4)
  | title = NetBSD Kernel Interfaces Manual: dm(4)
Line 19: Line 20:
  | website = dragonflybsd.org
  | website = dragonflybsd.org
}}</ref>
}}</ref>
== उपयोग ==
== उपयोग ==
एप्लिकेशन (जैसे [[LVM2]] और [[एंटरप्राइज वॉल्यूम मैनेजमेंट सिस्टम]] (EVMS)) जिन्हें नए मैप किए गए डिवाइस बनाने की आवश्यकता होती है, डिवाइस मैपर से इसके माध्यम से बात करते हैं <code>libdevmapper.so</code> [[ पुस्तकालय (कंप्यूटर विज्ञान) ]], जो बदले में [[ioctl]]s को जारी करती है <code>/dev/mapper/control</code> [[डिवाइस नोड]]<ref>{{cite web
अनुप्रयोग (जैसे [[LVM2|एमवीएम2]] और [[एंटरप्राइज वॉल्यूम मैनेजमेंट सिस्टम|इंटरप्राइज़ वॉल्यूम मैनेजमेंट सिस्टम]] (ईवीएमएस)) जिन्हें नवीन मैप किए गए डिवाइस बनाने की आवश्यकता होती है, <code>libdevmapper.so</code> [[ पुस्तकालय (कंप्यूटर विज्ञान) |शेयर्ड लाइब्रेरी]] के माध्यम से डिवाइस मैपर से सम्भाषण करते हैं, जो इसके परिणामस्वरूप <code>/dev/mapper/control</code> [[डिवाइस नोड]] को [[ioctl]]s जारी करता है।<ref>{{cite web
  | url = http://www.sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/LVM2/libdm/libdevmapper.h?content-type=text/plain&cvsroot=lvm2
  | url = http://www.sourceware.org/cgi-bin/cvsweb.cgi/~checkout~/LVM2/libdm/libdevmapper.h?content-type=text/plain&cvsroot=lvm2
  | title = libdevmapper.h
  | title = libdevmapper.h
  | access-date = 2013-09-29
  | access-date = 2013-09-29
  | publisher = sourceware.org
  | publisher = sourceware.org
  }}{{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> डिवाइस मैपर के कॉन्फ़िगरेशन की भी जांच की जा सकती है और अंतःक्रियात्मक रूप से कॉन्फ़िगर किया जा सकता है{{mdashb}}या [[ खोल स्क्रिप्ट ]] से{{mdashb}} का उपयोग करके {{man|8|dmsetup|man.cx||inline}} उपयोगिता।<ref name="dmsetup-man">{{cite web
  }}{{Dead link|date=March 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> डिवाइस मैपर के कॉन्फिगरेशन की भी जांच की जा सकती है और {{man|8|dmsetup|man.cx||inline}} यूटिलिटी का उपयोग करके--या [[ खोल स्क्रिप्ट |शेल स्क्रिप्ट]] से--संवादात्मक रूप से समनुरूप किया जा सकता है।<ref name="dmsetup-man">{{cite web
  | url = http://man.cx/?page=dmsetup%288%29
  | url = http://man.cx/?page=dmsetup%288%29
  | title = dmsetup(8) - Linux man page
  | title = dmsetup(8) - Linux man page
Line 39: Line 38:
  | publisher = [[Red Hat]]
  | publisher = [[Red Hat]]
}}</ref>
}}</ref>
इन दो उपयोक्तास्थान घटकों में उनके स्रोत कोड LVM2 स्रोत के साथ अनुरक्षित हैं।<ref>{{cite web
 
इन दोनों यूजरस्पेस संघटकों का स्रोत कोड एलवीएम2 स्रोत के साथ निर्वाहित किया जाता है।<ref>{{cite web
  | url = http://www.sourceware.org/dm/
  | url = http://www.sourceware.org/dm/
  | title = Device-mapper Resource Page
  | title = Device-mapper Resource Page
Line 45: Line 45:
  | publisher = sourceware.org
  | publisher = sourceware.org
}}</ref>
}}</ref>
 
== विशेषताएँ ==
 
[[File:The Linux Storage Stack Diagram.svg|thumb|right|upright=2.0|लिनक्स कर्नेल स्टोरेज स्टैक की विभिन्न परतों के भीतर डिवाइस मैपर टारगेट की स्थिति।<ref>{{Cite web
== सुविधाएँ ==
[[File:The Linux Storage Stack Diagram.svg|thumb|right|upright=2.0|Linux कर्नेल स्टोरेज स्टैक की विभिन्न परतों के भीतर डिवाइस मैपर लक्ष्य की स्थिति।<ref>{{Cite web
  | url = https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram
  | url = https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram
  | title = Linux Storage Stack Diagram
  | title = Linux Storage Stack Diagram
Line 54: Line 52:
  | author1 = Werner Fischer | author2 = Georg Schönberger
  | author1 = Werner Fischer | author2 = Georg Schönberger
  | publisher = Thomas-Krenn.AG
  | publisher = Thomas-Krenn.AG
}}</ref>]]डिवाइस मैपर द्वारा प्रदान किए गए कार्यों में रैखिक, धारीदार और त्रुटि मैपिंग, साथ ही क्रिप्ट और मल्टीपाथ लक्ष्य शामिल हैं। उदाहरण के लिए, दो डिस्क को एक लॉजिकल वॉल्यूम में रैखिक मैपिंग की एक जोड़ी के साथ जोड़ा जा सकता है, प्रत्येक डिस्क के लिए एक। एक अन्य उदाहरण के रूप में, क्रिप्ट लक्ष्य लिनक्स कर्नेल के [[क्रिप्टो एपीआई (लिनक्स)]] का उपयोग करके निर्दिष्ट डिवाइस से गुजरने वाले डेटा को एन्क्रिप्ट करता है।<ref name="redhat-dm" />
}}</ref>]]डिवाइस मैपर द्वारा प्रदान किए गए फंक्शन्स में रैखिक, स्ट्राइप्ड और त्रुटि ''मैपिंग'', साथ ही क्रिप्ट और मल्टीपाथ ''टारगेट'' सम्मिलित होते हैं। उदाहरण के लिए, दो डिस्क को एक लॉजिकल वॉल्यूम में ''रैखिक'' मैपिंग, प्रत्येक डिस्क के लिए एक-एक, के एक युग्म के साथ जोड़ा जा सकता है। अन्य उदाहरण के रूप में, ''क्रिप्ट'' टारगेट लिनक्स कर्नेल के [[क्रिप्टो एपीआई (लिनक्स)|क्रिप्टो एपीआई]] का उपयोग करके निर्दिष्ट डिवाइस से पास होने वाले डेटा को इन्क्रिप्ट करता है।<ref name="redhat-dm" />


{{As of|2014}}, निम्नलिखित मानचित्रण लक्ष्य उपलब्ध हैं:<ref name="redhat-dm" /><ref name="dmsetup-man" />
2014 तक, निम्नलिखित मैपिंग टारगेट उपलब्ध हैं: <ref name="redhat-dm" /><ref name="dmsetup-man" />


* डीएम-कैश{{snd}} [[हार्ड डिस्क ड्राइव]] (HDDs) के लिए कैश के रूप में [[ ठोस राज्य ड्राइव ]] (SSDs) का उपयोग करके [[ संकर मात्रा ]] के निर्माण की अनुमति देता है।
* ''कैशे'' - [[हार्ड डिस्क ड्राइव]] (एचडीडी) के लिए [[ ठोस राज्य ड्राइव |सॉलिड स्टेट ड्राइव्स]] (एसएसडी) का कैशे के रूप में उपयोग करके [[ संकर मात्रा |हाइब्रिड वॉल्यूम]] का निर्माण करने की अनुमति प्रदान करता है।
* क्लोन{{snd}} स्थानांतरण पूरा होने से पहले उपयोग की अनुमति देगा।
* ''क्लोन'' - स्थानांतरण पूर्ण होने से पहले उपयोग की अनुमति प्रदान करता है।
* डीएम-क्रिप्ट{{snd}} लिनक्स कर्नेल के क्रिप्टो एपीआई (लिनक्स) का उपयोग करके डेटा एन्क्रिप्शन प्रदान करता है
* ''क्रिप्ट'' - लिनक्स कर्नल की क्रिप्टो एपीआई का उपयोग करके डेटा इन्क्रिप्शन प्रदान करता है।
* देरी{{snd}} विलंब विभिन्न उपकरणों को पढ़ता है और/या लिखता है (परीक्षण के लिए उपयोग किया जाता है)
* ''डिले'' - विभिन्न उपकरणों पर रीड और/या राइट को डिले करता है (परीक्षण के लिए उपयोग होता है)
* युग{{snd}} एक तरह से रैखिक लक्ष्य के समान व्यवहार करता है, जबकि यह उन ब्लॉकों का ट्रैक रखता है जो उपयोगकर्ता द्वारा परिभाषित समय अवधि के भीतर लिखे गए थे<ref>{{cite web
* ''ईआरए'' - यह लिनियर टारगेट के समान व्यवहार करता है, जबकि यह उपयोगकर्ता-निर्धारित समय अवधि में लिखी गई ब्लॉक के लिए ट्रैक रखता है।<ref>{{cite web
  | url = http://kernelnewbies.org/Linux_3.15#head-33ab227d4984f4be9fa92f9163e403744e2a8f66
  | url = http://kernelnewbies.org/Linux_3.15#head-33ab227d4984f4be9fa92f9163e403744e2a8f66
  | title = 6. Block layer | work = Linux kernel 3.15
  | title = 6. Block layer | work = Linux kernel 3.15
Line 68: Line 66:
  | publisher = kernelnewbies.org
  | publisher = kernelnewbies.org
}}</ref>
}}</ref>
* गलती{{snd}} सभी मैप किए गए ब्लॉकों के लिए I/O त्रुटियों का अनुकरण करता है (परीक्षण के लिए उपयोग किया जाता है)
* ''त्रुटि'' - सभी मैप किए गए ब्लॉकों के लिए I/O त्रुटि का अनुकरण करता है (परीक्षण के लिए उपयोग होता है)
* परतदार{{snd}} समय-समय पर अविश्वसनीय व्यवहार का अनुकरण करता है (परीक्षण के लिए उपयोग किया जाता है)
* ''फ़्लेकी'' - आवधिक अविश्वसनीय व्यवहार का अनुकरण करता है (परीक्षण के लिए उपयोग होता है)
* रेखीय{{snd}} किसी अन्य ब्लॉक डिवाइस पर ब्लॉक की निरंतर श्रेणी को मैप करता है
* ''लीनियर'' - ब्लॉक उपकरण पर एक निरंतर सीमा रेंज को मैप करता है।
* आईना{{snd}} डेटा रिडंडेंसी प्रदान करते हुए [[डिस्क मिररिंग]] लॉजिकल डिवाइस को मैप करता है
* ''मिरर'' - डेटा पुनरावृत्ति प्रदान करते हुए [[डिस्क मिररिंग|मिरर]] किए गए लॉजिकल डिवाइस को मैप करता है।
* [[लिनक्स डीएम मल्टीपाथ]]{{snd}} उनके पथ समूहों के उपयोग के माध्यम से मल्टीपाथ I/O उपकरणों की मैपिंग का समर्थन करता है
* [[लिनक्स डीएम मल्टीपाथ|''मल्टीपाथ'']] - मल्टीपाथ उपकरणों के मैपिंग का समर्थन करता है, उनके पथ समूहों का उपयोग करके।
* छापा{{snd}} Linux कर्नेल के सॉफ़्टवेयर RAID ड्राइवर ([[mdadm]]) के लिए एक इंटरफ़ेस प्रदान करता है
* ''रेड'' - लिनक्स कर्नल के सॉफ्टवेयर रेड ड्राइवर ([[mdadm|एमडी]]) के लिए एक इंटरफेस प्रदान करता है।
* स्नैपशॉट और स्नैपशॉट-मूल{{snd}} अंतर्निहित कॉपी-ऑन-राइट योजना के भाग के रूप में LVM स्नैपशॉट के निर्माण के लिए उपयोग किया जाता है
* ''स्नैपशॉट'' और ''स्नैपशॉट-ओरिजिन'' - एलवीएम स्नैपशॉट के निर्माण के लिए उपयोग किए जाते हैं, कॉपी-ऑन-राइट योजना के अंतर्गत।
* धारीदार{{snd}} धारियों की संख्या और पैरामीटर के रूप में स्ट्रिपिंग चंक आकार के साथ भौतिक उपकरणों में डेटा को स्ट्राइप करता है
* ''स्ट्राइप्ड'' - फिजिकल डिवाइस पर डेटा को स्ट्राइप करता है, संख्या और स्ट्राइपिंग चंक आकार को पैरामीटर के रूप में लेते हुए।
* पतला {{snd}} अंतर्निहित भौतिक उपकरण से बड़े उपकरणों के निर्माण की अनुमति देता है, भौतिक स्थान केवल लिखे जाने पर आवंटित किया जाता है
* ''थिन'' - उपकरणों के निर्माण की अनुमति प्रदान करता है जो मूल फिजिकल डिवाइस से अधिक बड़े होते हैं, फिजिकल समष्टि केवल लिखने पर ही आवंटित होता है।
* शून्य{{snd}} के बराबर <code>/dev/zero</code>, सभी शून्य के रिटर्न ब्लॉक पढ़ते हैं, और लिखने को छोड़ दिया जाता है
* ''जीरो'' - <code>/dev/zero</code>, के समकक्ष होता है, सभी रीड शून्य ब्लॉक प्रत्यपर्णित करता है, और राइट्स छोड़ दिया जाता है।


== {{Anchor|DM-LOG-WRITES|DM-VERITY}}अनुप्रयोग ==
== अनुप्रयोग ==
डिवाइस मैपर के शीर्ष पर निर्मित लिनक्स कर्नेल सुविधाओं और परियोजनाओं में निम्नलिखित शामिल हैं:
डिवाइस मैपर के शीर्ष पर निर्मित लिनक्स कर्नेल विशेषताएँ और परियोजनाओं में निम्नलिखित सम्मिलित हैं:


* [[ app ]]{{snd}} सुविधा का उपयोग डीएम-क्रिप्ट पर आधारित डिस्क एन्क्रिप्शन को आसानी से सेटअप करने के लिए किया जाता है
* [[ app |क्रिप्टसेटअप]] डीएम-क्रिप्ट के आधार पर डिस्क इन्क्रिप्शन को सुविधाजनक रूप से सेटअप करने के लिए उपयोग की जाने वाली उपयोगिता
* [[लिनक्स एकीकृत कुंजी सेटअप]]{{snd}} मैपिंग लक्ष्य जो वॉल्यूम एन्क्रिप्शन प्रदान करता है
* डीएम-क्रिप्ट/[[लिनक्स एकीकृत कुंजी सेटअप|एलयूकेएस]] मैपिंग टारगेट जो वॉल्यूम इन्क्रिप्शन प्रदान करता है
* डीएम-कैश{{snd}} मैपिंग लक्ष्य जो हाइब्रिड ड्राइव #DUALDRIVE के निर्माण की अनुमति देता है
* डीएम-कैशे – मैपिंग टारगेट जो हाइब्रिड वॉल्यूम बनाने की अनुमति प्रदान करता है
* डीएम-ईमानदारी{{snd}} मैपिंग लक्ष्य जो डेटा अखंडता प्रदान करता है, या तो चेकसमिंग या क्रिप्टोग्राफ़िक सत्यापन का उपयोग करके,<ref>{{cite web
* डीएम-इंटेग्रेटी – मैपिंग टारगेट जो डेटा इंटेग्रेटी प्रदान करता है, या तो चेकसमिंग या क्रिप्टोग्राफ़िक प्रमाणन का उपयोग करके,<ref>{{cite web
  | url = https://gitlab.com/cryptsetup/cryptsetup/wikis/DMIntegrity
  | url = https://gitlab.com/cryptsetup/cryptsetup/wikis/DMIntegrity
  | title = dm-integrity
  | title = dm-integrity
Line 95: Line 93:
  | date = 2017-05-13 | access-date = 2018-05-08
  | date = 2017-05-13 | access-date = 2018-05-08
  | publisher = [[kernel.org]]
  | publisher = [[kernel.org]]
}}</ref> एलयूकेएस के साथ भी प्रयोग किया जाता है<ref>{{cite web
}}</ref> एलयूकेएस के साथ भी उपयोग किया जाता है<ref>{{cite web
  | url = https://man.cx/?page=cryptsetup(8)
  | url = https://man.cx/?page=cryptsetup(8)
  | title = cryptsetup - manage plain dm-crypt and LUKS encrypted volumes
  | title = cryptsetup - manage plain dm-crypt and LUKS encrypted volumes
  | date = 2018-01-01 | access-date = 2018-05-08
  | date = 2018-01-01 | access-date = 2018-05-08
}}</ref>
}}</ref>
* डीएम-लॉग-राइट्स{{snd}} मैपिंग लक्ष्य जो दो उपकरणों का उपयोग करता है, पहले डिवाइस से होकर गुजरता है और दूसरे डिवाइस पर इसके लिए किए गए लेखन कार्यों को लॉग करता है<ref>{{cite web
* डीएम-लॉग-राइट्स मैपिंग टारगेट जो दो डिवाइस का उपयोग करता है, पहले डिवाइस से पास होता है और दूसरे डिवाइस पर इसके लिए किए गए राइट फंक्शन को लॉग करता है<ref>{{cite web
  | url = https://www.kernel.org/doc/Documentation/device-mapper/log-writes.txt
  | url = https://www.kernel.org/doc/Documentation/device-mapper/log-writes.txt
  | title = Linux kernel documentation: Documentation/device-mapper/log-writes.txt
  | title = Linux kernel documentation: Documentation/device-mapper/log-writes.txt
Line 106: Line 104:
  | publisher = [[kernel.org]]
  | publisher = [[kernel.org]]
}}</ref>
}}</ref>
* डीएम-सत्यता{{snd}} [[क्रोमियमओएस]] परियोजना के हिस्से के रूप में विकसित क्रिप्टोग्राफ़िक हैश मानों की सूची के विरुद्ध फ़ाइल सिस्टम में शामिल डेटा ब्लॉक को मान्य करता है<ref>{{cite web
* डीएम-वेरिटी – [[क्रोमियमओएस]] परियोजना के भाग के रूप में विकसित क्रिप्टोग्राफ़िक हैश मानों की सूची के विरुद्ध फ़ाइल सिस्टम में निहित डेटा ब्लॉक को मान्य करता है<ref>{{cite web
  | url = https://lwn.net/Articles/459420/
  | url = https://lwn.net/Articles/459420/
  | title = dm-verity
  | title = dm-verity
Line 112: Line 110:
  | author = Jonathan Corbet | publisher = [[LWN.net]]
  | author = Jonathan Corbet | publisher = [[LWN.net]]
}}</ref>
}}</ref>
* {{man|8|dmraid|man.cx||inline}}{{snd}} RAID| तक पहुँच प्रदान करता है डिवाइस मैपर के माध्यम से नकली RAID कॉन्फ़िगरेशन
* {{man|8|dmraid|man.cx||inline}} डिवाइस मैपर के माध्यम से "फेक" रैड विन्यास प्रदान करता है
* लिनक्स डीएम मल्टीपाथ{{snd}} Linux कर्नेल के भीतर I/O फ़ेलओवर और ब्लॉक डिवाइस का लोड-बैलेंसिंग प्रदान करता है
* डीएम मल्टीपाथ – लिनक्स कर्नेल के भीतर I/O फेलओवर और ब्लॉक डिवाइसेस के लोड-बैलेंसिंग प्रदान करता है
* [[डॉकर (सॉफ्टवेयर)]]{{snd}} सॉफ़्टवेयर कंटेनरों के लिए कॉपी-ऑन-राइट स्टोरेज बनाने के लिए डिवाइस मैपर का उपयोग करता है
* [[डॉकर (सॉफ्टवेयर)|डॉकर]] – सॉफ्टवेयर कंटेनरों के लिए कॉपी-ऑन-राइट स्टोरेज बनाने के लिए डिवाइस मैपर का उपयोग करता है
* डीआरबीडी (वितरित प्रतिकृति ब्लॉक डिवाइस)
* डीआरबीडी (डिस्ट्रीब्यूटेड रेप्लिकेटेड ब्लॉक डिवाइस)
* एंटरप्राइज वॉल्यूम मैनेजमेंट सिस्टम (पदावनत)
* ईवीएम (बहिष्कृत)
* {{man|8|kpartx|man.cx||inline}}{{snd}} डिवाइस मैप्स निर्माण और विलोपन पर हॉटप्लग से उपयोगिता कहा जाता है
* {{man|8|kpartx|man.cx||inline}} डिवाइस मैप निर्माण और विलोपन पर हॉटप्लग से उपयोगिता कहा जाता है
* एलवीएम2{{snd}} Linux कर्नेल के लिए लॉजिकल वॉल्यूम प्रबंधन
* एलवीएम2 {{snd}} लिनक्स कर्नेल के लिए लॉजिकल वॉल्यूम मैनेजर
* [[VeraCrypt]] - [[TrueCrypt]] का Linux संस्करण
* [[VeraCrypt|वेराक्रिप्ट]] {{snd}} [[TrueCrypt|ट्रूक्रिप्ट]] का लाइनक्स संस्करण
*VDO - वर्चुअल डेटा ऑप्टिमाइज़र
* वीडीओ {{snd}} वर्चुअल डाटा ऑप्टिमाइज़र


== संदर्भ ==
== संदर्भ ==

Revision as of 12:13, 15 June 2023

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


बाहरी संबंध