RAID-Z2, vdev को दिए गए ड्राइव्स को ले कर काम करता है, और कुछ गलत होने पर रिकवरी उद्देश्यों के लिए अनावश्यक डेटा को स्टोर करने के लिए उनमें से दो का उपयोग करता है।
इसलिए, RAID-Z2 vdev में ड्राइव की पूर्ण न्यूनतम संख्या दो निरर्थक प्लस एक है, जो तीन ड्राइव के लिए काम करती है।
हालाँकि, इस तरह से करने से, आप:
- केवल एक ही ड्राइव की प्रभावी भंडारण क्षमता प्राप्त कर रहे हैं
- डेटा हानि के बिना शामिल तीन में से दो ड्राइव खो सकते हैं (सामान्य स्थिति में, आप एन ड्राइव RAID-Z2 vdev में किसी भी 2 ड्राइव के नुकसान से बच सकते हैं)
- RAID-Z2 के लिए समता डेटा की गणना करने के लिए प्रणाली को मजबूर कर रहे हैं
यदि आप तीन ड्राइव्स की एक vdev कंसंटिंग चाहते हैं, या यदि आपके पास तीन हैं और दो ड्राइव्स की अतिरेक की कीमत चाहते हैं, तो आप संभवतः उन्हें मिरर के रूप में सेट करने से बेहतर हैं। इस तरह, आप:
- केवल एक ही ड्राइव की प्रभावी भंडारण क्षमता प्राप्त कर रहे हैं (दर्पण उपकरणों की संख्या की परवाह किए बिना)
- डेटा हानि के बिना शामिल तीन में से किसी भी दो ड्राइव के नुकसान से बच सकते हैं (सामान्य स्थिति में, आप एन ड्राइव मिरर में किसी भी एन -1 ड्राइव के नुकसान से बच सकते हैं)
- समता डेटा गणना से बच रहे हैं, क्योंकि दर्पण एक-दूसरे की समान प्रतियाँ हैं; एक ही डेटा को कई डिस्क पर लिखना अलग-अलग समानता डेटा की गणना करने और डिस्क से बाहर लिखने की तुलना में बहुत सस्ता है
ड्राइव की न्यूनतम संख्या जहां RAID-Z2 का अर्थ है चार है, जो आपको दो ड्राइव की प्रभावी भंडारण क्षमता प्रदान करता है और ड्राइव के किसी भी दो को खोने की अनुमति देता है । यह 2x2 मिरर सेटअप में एक ही चार ड्राइव का उपयोग करने पर फायदेमंद है, क्योंकि यदि आपके पास दो ड्राइव के दो दर्पण vdevs हैं और दो ड्राइव के कुछ संयोजनों को खो देते हैं, तो वह vdev मर चुका है और पूल को अपने उग्र निधन में ले जाता है। 2x2 मिरर vdev पूल में, प्रत्येक मिरर पेयर में ड्राइव में से कम से कम एक ड्राइव को पूल के लिए उपलब्ध रहना चाहिए। हालांकि, दर्पण में बहुत अच्छा प्रदर्शन हो सकता है। हमेशा की तरह, यह विभिन्न विकल्पों के बीच एक व्यापार-बंद है, और सिस्टम प्रशासक के नौकरी विवरण का एक हिस्सा उन ट्रेड-ऑफ को प्रत्येक विशिष्ट स्थिति के लिए उचित रूप से बनाना है।
इस प्रकार, जबकि RAID-Z2 तकनीकी रूप से आपके द्वारा वर्णित सेटअप के साथ काम कर सकता है , यह कोई लाभ नहीं देता है और यहां तक कि एक साधारण तीन-तरफा दर्पण कॉन्फ़िगरेशन की तुलना में कुछ नुकसान भी हैं।
यह अलग होगा यदि ZFS ने हमें RAID-Zn vdev में उपकरणों की संख्या के अतिरेक स्तर को बदलने या उनकी गति बढ़ाने की अनुमति दी , लेकिन ऐसा नहीं होता है। वास्तव में एक पूल को विकसित करने का एकमात्र तरीका अधिक vdevs जोड़कर या मौजूदा उपकरणों के आकार को बढ़ाना है, न कि किसी मौजूदा hdev में उपकरणों को जोड़कर। (आप दर्पण vdev में उपकरणों को जोड़ और हटा सकते हैं, लेकिन यह केवल अतिरेक की मात्रा को बदलता है, उपयोग करने योग्य भंडारण क्षमता को नहीं।)
आप तीन ड्राइव को RAID-Z (1) vdev के रूप में भी सेट कर सकते हैं, जो आपको आपके डेटा के जोखिम में आने से पहले किसी भी एक ड्राइव के नुकसान से बचने की क्षमता देगा अगर कुछ भी गलत हो जाए, तो CPU को कम करें RAID-Z2 की तुलना में वर्कलोड (क्योंकि RAID-Z1 समता गणना कम कम्प्यूटेशनल रूप से गहन है) और आपको संयुक्त ड्राइव में से दो की प्रभावी भंडारण क्षमता प्रदान करता है।
हमेशा ध्यान रखें कि यदि कुछ भी गलत होता है, तो शेष डिस्क के लिए एक पूर्ण ZFS रेज़लवर एक कठिन प्रक्रिया है, और समस्याओं को विकसित करने या तनाव में मरने के लिए किसी अन्य डिस्क के लिए अनसुना नहीं है। इस कारण से, विशेष रूप से आज के आकार के घूर्णी ड्राइव के साथ, डबल अतिरेक ट्रिपल डिफ़ॉल्ट के साथ डिफ़ॉल्ट विकल्प होना चाहिए यदि आप वास्तव में पागल हैं। एकल अतिरेक को केवल कम महत्वपूर्ण डेटा के लिए माना जाना चाहिए जहां डाउनटाइम को सहन किया जा सकता है । एकल अतिरेक एसएसडी समर्थित पूल के साथ स्वीकार्य हो सकता है, हालांकि।
इसलिए मेरी सिफारिश: यदि आप तीन ड्राइव ZFS चाहते हैं, और अतिरेक चाहते हैं, तो उन्हें तीन-तरफा दर्पण vdev के रूप में सेट करें। यदि आप RAID-Z2 चाहते हैं, तो कम से कम चार ड्राइव का उपयोग करें, लेकिन ध्यान रखें कि आप vdev निर्माण के समय vdev में ड्राइव की संख्या में लॉक हैं। वर्तमान में, ZFS पूल बढ़ने का एकमात्र तरीका अतिरिक्त vdevs जोड़कर, या vdev बनाने वाले उपकरणों का आकार बढ़ाना, या एक नया पूल बनाना और डेटा स्थानांतरित करना है। आप मौजूदा vdev में उपकरणों को जोड़कर पूल की भंडारण क्षमता को नहीं बढ़ा सकते।
आपको यह भी सुनिश्चित करना होगा कि आप बैकअप रखें । जेडएफएस के साथ यह दोगुना महत्वपूर्ण है, क्योंकि एक वास्तविक विफलता के बाद जेडएफएस की वसूली जो कि अतिरेक सीमा से नीचे पूल लाती है, बहुत कठिन है । ZFS का एक बहुत ही जटिल ऑन-डिस्क प्रारूप है, जो मुझे किसी भी सामान्य ऑफ-द-शेल्फ डेटा रिकवरी सॉफ़्टवेयर समझ के बारे में नहीं पता है, इसलिए भले ही आप डिस्क से अधिकांश डेटा को पढ़ सकें, अगर ZFS इसका पता नहीं लगा सकता है तो आप बहुत अच्छी तरह से भाग्य से बाहर हो सकते हैं जब तक कि आप समस्या पर दसियों हज़ार डॉलर खर्च करने को तैयार न हों। बैकअप सस्ता है।
तीन-तरफ़ा दर्पण के विकल्प के रूप में, आप दो-तरफ़ा दर्पण को एक स्पेयर के साथ भी चला सकते हैं, लेकिन अधिकांश समय, और निश्चित रूप से आप जिस स्थिति का वर्णन करते हैं, उससे कोई लाभ और कुछ नुकसान नहीं होता है ।
एक तरफ के रूप में, वसूली के मुद्दे से संबंधित, आपको किसी भी प्रणाली में ईसीसी रैम का उपयोग करने पर बहुत दृढ़ता से विचार करना चाहिए जो जेडएफएस सहित एक स्व-मरम्मत फ़ाइल सिस्टम की जांच करता है। दूसरे सहमत हैं।
यह दिखाते हैं कि तीन उपकरणों के साथ RAID-Z2 संभव है (यह लिनक्स 0.6.4 पर ZFS है)। ध्यान दें कि तीन बैकिंग फ़ाइलों में से दो को हटाने के बाद, " अपमानजनक स्थिति में पूल जारी रखने के लिए पर्याप्त प्रतिकृतियां मौजूद हैं ।" और वीदेव है DEGRADED
, नहीं FAULTED
।
# truncate -s 1G /root/d1 /root/d2 /root/d3
# zpool create tank raidz2 /root/d1 /root/d2 /root/d3
# zpool status tank
pool: tank
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz2-0 ONLINE 0 0 0
/root/d1 ONLINE 0 0 0
/root/d2 ONLINE 0 0 0
/root/d3 ONLINE 0 0 0
errors: No known data errors
# zpool export tank
# rm /root/d1 /root/d2
# zpool import tank -d /root
# zpool scrub tank
# zpool status tank
pool: tank
state: DEGRADED
status: One or more devices could not be opened. Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
see: http://zfsonlinux.org/msg/ZFS-8000-2Q
scan: scrub repaired 0 in 0h0m with 0 errors on Tue Mar 29 11:00:23 2016
config:
NAME STATE READ WRITE CKSUM
tank DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
18130982121682915530 UNAVAIL 0 0 0 was /root/d1
18289483070703159278 UNAVAIL 0 0 0 was /root/d2
/root/d3 ONLINE 0 0 0
errors: No known data errors
#