खैर, यह वास्तव में निर्भर करता है कि केवल पढ़ने के लिए आप पूल को कैसे चाहते हैं। और नहीं, यह मजाक नहीं है।
सबसे पहले, शब्दावली का एक सा: ZFS में, आप एक पूल आयात करते हैं, और वैकल्पिक रूप से (किसी भी) फ़ाइल सिस्टम को इसके भीतर माउंट करते हैं। आप पास करके किसी भी फाइल सिस्टम बढ़ते बिना एक पूल आयात कर सकते हैं -N
करने के लिए zpool import
और फिर बाद में उपयोग कर किसी भी वांछित फाइल सिस्टम माउंट zfs mount
। (यह पूरी तरह से मान्य परिदृश्य है, उदाहरण के लिए, आप कई में से केवल एक फ़ाइल सिस्टम का उपयोग करना चाहते हैं, या यदि आप पूल के ऑफ-लाइन स्क्रब जैसा कुछ करना चाहते हैं।)
ZFS वास्तव में केवल पढ़ने के लिए उपयोग का एक बड़ा प्रशंसक नहीं है। उदाहरण के लिए, यदि ZFS एक त्रुटि का पता लगाता है जिसे वह सुधारने में सक्षम है, मेरा मानना है कि यह त्रुटि को सुधार देगा और मरम्मत किए गए डेटा को डिस्क पर लिख देगा भले ही आपने पूल को केवल पढ़ने के लिए आयात किया हो। मेरी समझ यह है कि, ZFS पार्सल में, "रीड-ओनली" केवल पूल और उसके डेटासेट के उपयोगकर्ता-दृश्यमान स्थिति पर लागू होता है । यदि, दूसरी तरफ, आप डिस्क की एक द्विआधारी प्रतिलिपि एक फ़ाइल (या फ़ाइलों के सेट) में बनाते हैं, तो उन फ़ाइलों को सही मायने में केवल पढ़ने के लिए बनाएं, और वहां से पूल को आयात करने का प्रयास करें, ZFS आयात नहीं कर पाएंगे। चाहे आप कितनी भी कोशिश कर लें। यदि आप फ़ाइलों को लिखने योग्य बनाते हैं, तो यह ठीक काम करेगा। (मैं वास्तव में यह सिर्फ कुछ हफ्ते पहले की कोशिश की, यद्यपि एक zvol का उपयोग कर, और ZFS सख्ती से इनकार कर दियापूल का आयात करने के लिए। जब मैंने पढ़ने-लिखने के बजाय zvol को पढ़ने / लिखने के लिए सेट किया, तो पूल ने ठीक आयात किया।) अन्य फ़ाइल सिस्टम जैसे (Linux पर) ext4 और शायद अन्य लोग इस स्थिति को कुछ हद तक इनायत से संभालते हैं, लेकिन ZFS बाल्स।
यदि आप अशुभ हैं, और आपके पास उस सिस्टम में ECC RAM स्थापित नहीं है, जहाँ आप पूल का आयात कर रहे हैं, तो ZFS का सामना करने वाली किसी भी त्रुटि को ठीक करने का प्रयास वास्तव में चीजों को बदतर बना सकता है , हालांकि इस पर राय अलग है कि क्या यह वास्तव में एक वास्तविक जोखिम है प्रयोग में। व्यक्तिगत रूप से मेरी राय है कि ZFS और स्नैपशॉट और स्टोरेज-स्तर अतिरेक और बैकअप के साथ रक्षा करने के बारे में किसी भी डेटा की मैं पर्याप्त देखभाल करता हूं और व्हाट्सएप ECC RAM द्वारा दी गई सुरक्षा की भी हकदार है, लेकिन कई पीसी में ECC RAM नहीं है।
तो, आप पूल को केवल-वैकल्पिक मोड में आयात कर सकते हैं, एक विशिष्ट वैकल्पिक रूट के साथ इसे किसी भी चीज़ के पैर की उंगलियों पर रखने से रोक सकते हैं, लेकिन आपको यह ध्यान रखने की आवश्यकता है कि यह वास्तव में केवल फॉरेंसिक अर्थों में रीड-ओनली नहीं है। (हालांकि, यह सुनिश्चित करेगा कि आप गलती से पूल में कुछ भी न बदलें।) केवल-पढ़ने के लिए आयात करना, यह मानते हुए कि पूल का नाम है tank
और डिवाइस नोड (s) / में उपलब्ध है /dev
, आप जैसे कमांड का उपयोग करें:
# zpool import tank -d /dev -o readonly=on -R /mnt/someplace
यह /dev
नाम के साथ ZFS पूल रखने वाली किसी भी चीज़ के लिए दिखेगा tank
, इसे आयात करें , पूल संपत्ति readonly
को अस्थायी रूप से सेट करने के लिए on
(जिसका अर्थ है कि सभी उपयोगकर्ता द्वारा लिखे गए लेख को अस्वीकार कर दिया जाएगा) और अस्थायी रूप से अपनी altroot
संपत्ति सेट करना /mnt/someplace
। (ये संपत्ति मूल्य इस अर्थ में "अस्थायी" हैं कि वे वर्तमान संपत्ति मूल्यों के रूप में डिस्क (एस) पर कायम नहीं हैं, इसलिए यदि आप उनके बिना पूल को निर्यात और फिर से आयात करते हैं, तो मान वापस सामान्य हो जाएंगे। संभवतः पूल इतिहास के लिए लिखा जा सकता है, जो एक बार पूल के आयात के बाद आप के साथ देख सकते हैंzpool history tank
यदि आप बहुत इच्छुक हैं।) एक बार पूल आयात हो जाने के बाद, आप अपनी फ़ाइलों को / mnt / someplace के तहत देखेंगे और सामान्य, केवल-पढ़ने के लिए उन तक पहुँच प्राप्त करेंगे, जिनमें पूल में पहले से ही डेटासेट पर बनाए गए स्नैपशॉट शामिल हैं।
आपके उदाहरण को देखते हुए, मुझे संदेह है कि आप कुछ का उपयोग करेंगे:
# zpool import zroot02 -d /dev -o readonly=on -R /mnt/my-fun-mountpoint
जब आप कर लें, तो पूल को साफ-साफ निर्यात करना याद रखें:
# zpool export tank
या शायद
# zpool export zroot02
यह पूल के भीतर सभी फ़ाइल सिस्टम और अन्य डेटासेट को अनमाउंट कर देगा, सभी बफ़र्स को फ्लश कर देगा (इस हद तक कि किसी भी तरह की ज़रूरत पड़ने पर), पूल को सभी घटक उपकरणों पर आयात नहीं किए जाने के रूप में चिह्नित करें , और यह सुनिश्चित करने के लिए किसी भी अन्य आवश्यक हाउसकीपिंग कार्य करें। पूल को सुरक्षित रूप से एक अलग प्रणाली में ले जाया जा सकता है और बाद में वहां आयात किया जा सकता है।