एनवीएम नामस्थान क्या हैं? वो कैसे काम करते है?


18

मैंने हाल ही में निर्मित nvme ssds वाले उपकरणों पर स्थापित लिनक्स का समर्थन करना शुरू कर दिया है। मैंने देखा कि डिवाइस फ़ाइलों में ड्राइव नंबर और विभाजन संख्या की पहचान करने वाले नंबर से परे एक अतिरिक्त नंबर था। आईडीई / एसएटीए / एससीएसआई ड्राइव में आमतौर पर केवल एक ड्राइव लेटर और पार्टीशन नंबर होता है।

उदाहरण के लिए: / dev / nvme0n1p2

मैं सोच रहा था कि n1 भाग क्या था, और थोड़ी खोज के बाद, ऐसा लगता है कि एक nvme 'नामस्थान' की पहचान करता है। इसके लिए परिभाषाएं अस्पष्ट थीं: "एनवीएमई नेमस्पेस गैर-वाष्पशील मेमोरी (एनवीएम) की एक मात्रा है जिसे तार्किक ब्लॉकों में स्वरूपित किया जा सकता है।"

तो, क्या यह एक विभाजन की तरह काम करता है जिसे हार्डवेयर नियंत्रक स्तर पर परिभाषित किया गया है, और एमबीआर या जीपीटी विभाजन तालिका में नहीं? क्या एक नेमस्पेस कई भौतिक nvme ssd की अवधि बढ़ा सकता है? उदाहरण के लिए, क्या आप एक ऐसा नामस्थान बना सकते हैं, जो एक साथ कई तार्किक तार्किक नामस्थानों में RAID 0 के समान, एक साथ कई ssd से संग्रहण करता है?

आप एक NVME नेमस्पेस के साथ क्या करेंगे जो आप पहले से ही विभाजन टेबल या LVM या एक फाइल सिस्टम का उपयोग करके प्राप्त नहीं कर सकते हैं जो कई संस्करणों (जैसे ZFS, Btrfs, आदि) का प्रबंधन कर सकते हैं?

इसके अलावा, ऐसा क्यों लगता है कि नाम स्थान संख्या 0 के बजाय 1 पर शुरू होती है? क्या ऐसा कुछ है कि कैसे NVME कम स्तर पर नेमस्पेस संख्याओं को ट्रैक करता है (जैसे विभाजन भी 1 से शुरू होता है, 0 से नहीं, क्योंकि विभाजन संख्या के लिए मानक कैसे सेट किया गया था, इसलिए लिनक्स कर्नेल सिर्फ विभाजन संख्या का उपयोग करता है यह डिस्क पर संग्रहीत है - मुझे लगता है कि nvme उसी तरह काम करता है?)

जवाबों:


17

एनवीएम एक्सप्रेस और संबंधित मानकों में, नियंत्रक एक या अधिक नामस्थानों में विभाजित भंडारण की पहुंच देते हैं। नियंत्रक के माध्यम से नाम स्थान बनाए और हटाए जा सकते हैं , जब तक कि उनके लिए जगह नहीं है (या अंतर्निहित भंडारण पतले प्रावधान का समर्थन करता है), और कई नियंत्रक एक साझा नाम स्थान तक पहुंच प्रदान कर सकते हैं। अंतर्निहित भंडारण कैसे व्यवस्थित किया जाता है यह मानक द्वारा निर्दिष्ट नहीं है, जहां तक ​​मैं बता सकता हूं।

हालाँकि, विशिष्ट NVMe SSDs को संयोजित नहीं किया जा सकता है, क्योंकि वे प्रत्येक पीसीआई एक्सप्रेस पोर्ट से जुड़ी अपनी स्वयं की स्टोरेज और कंट्रोलर प्रदान करते हैं, और एक्सेस पॉइंट्स नेमस्पेस से ऊपर है - इस प्रकार एक नेमस्पेस कई कंट्रोलर (कई कंट्रोलर) को समूह नहीं बना सकता है एक साझा नाम स्थान तक पहुंच प्रदान करें)। SCSI LUN के समान कुछ नामस्थानों के बारे में सोचना बेहतर है जैसा कि एंटरप्राइज़ स्टोरेज (SANs आदि) में उपयोग किया जाता है।

Namespace नंबरिंग 1 से शुरू होती है क्योंकि प्रति-नियंत्रक नेमस्पेस आइडेंटिफ़ायर काम करते हैं। नाम-स्थान भी लंबे समय तक विश्व स्तर पर विशिष्ट पहचानकर्ता हैं।

nvmeकमांड का उपयोग करके नाम स्थान में हेरफेर किया जा सकता है , जिसमें निम्न-स्तरीय NVMe सुविधाओं के लिए समर्थन प्रदान किया जाता है:

  • स्वरूपण, जो एक निम्न-स्तरीय प्रारूप करता है और विभिन्न सुविधाओं का उपयोग करने की अनुमति देता है (सुरक्षित मिटाएँ, LBA प्रारूप चयन ...);
  • संलग्न करना और अलग करना, जो नियंत्रकों को किसी नाम स्थान से संलग्न या अलग करने की अनुमति देता है (यदि वे इसका समर्थन करते हैं और नाम स्थान इसकी अनुमति देता है)।

कोचिंग और कोचिंग कुछ ऐसा नहीं है जो आप लैपटॉप या डेस्कटॉप NVMe ड्राइव में करेंगे। आप इसका इस्तेमाल NVMe स्टोरेज बेसेस के साथ करेंगे जैसे कि डेल EMC द्वारा बेचे गए, जो कि अतीत के iSCSI सैंस को रिप्लेस करते हैं।

देखें NVM एक्सप्रेस मानकों (वे अपेक्षाकृत आसान कर रहे हैं पढ़ने के लिए) जानकारी के लिए, और इस NVM एक्सप्रेस ट्यूटोरियल प्रस्तुति एक अच्छा परिचय के लिए।


मैंने नामस्थानों को हटाने / बनाने के लिए समर्थन के अलावा, लिनक्स 'एनवीएम' कमांड को भी देखा, जो कि अटैच / डिटैच की अवधारणाएं प्रदान करता है, और एक नेमस्पेस को स्वरूपित करता है (जो नामस्थान पर लिखने वाले फाइल सिस्टम के प्रारूप संचालन से अलग प्रतीत होता है)। क्या आप उन कार्यों के बारे में कोई जानकारी प्रदान कर सकते हैं?
जेफफ्रॉमियो

3
देखिये मेरा अपडेटेड जवाब।
स्टीफन किट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.