सर्वर जो मैं प्रशासित करता हूं उनमें से एक आपके द्वारा वर्णित कॉन्फ़िगरेशन के प्रकार को चलाता है। इसमें LUKS- एन्क्रिप्टेड RAIDZ पूल के साथ छह 1TB हार्ड ड्राइव हैं। LUKS- एनक्रिप्टेड ZFS मिरर में मेरे पास दो 3TB हार्ड ड्राइव भी हैं जिन्हें हर हफ्ते ऑफ-साइट लिया जाता है। सर्वर इस कॉन्फ़िगरेशन का उपयोग लगभग तीन वर्षों से कर रहा है, और मुझे कभी भी इससे कोई समस्या नहीं हुई है।
यदि आपको लिनक्स पर एन्क्रिप्शन के साथ ZFS की आवश्यकता है तो मैं इस सेटअप की सलाह देता हूं। मैं ZFS-Fuse का उपयोग कर रहा हूं, लिनक्स पर ZFS का नहीं। हालांकि, मेरा मानना है कि लिनक्स पर जेडएफएस के अलावा अन्य परिणाम पर कोई असर नहीं पड़ेगा, शायद सेटअप की तुलना में बेहतर प्रदर्शन होगा जो मैं उपयोग कर रहा हूं।
इस सेटअप में अनावश्यक डेटा को कई बार एन्क्रिप्ट किया जाता है क्योंकि LUKS Z-RAID का "पता" नहीं होता है। LUKS-on-mdadm सॉल्यूशन डेटा को एक बार एन्क्रिप्ट किया जाता है और केवल कई बार डिस्क को लिखा जाता है।
ध्यान रखें कि LUKS को RAID के बारे में जानकारी नहीं है। यह केवल यह जानता है कि यह एक ब्लॉक डिवाइस के शीर्ष पर बैठा है। यदि आप RAID युक्ति बनाने के लिए mdadm का उपयोग करते हैं और फिर luksformat
यह, यह mdadm है जो अंतर्निहित डेटा को एन्क्रिप्टेड डेटा को दोहरा रहा है, न कि LUKS।
एलयूकेएस एफएक्यू के प्रश्न 2.8 यह बताता है कि एन्क्रिप्शन को RAID के शीर्ष पर होना चाहिए या अन्य तरीके से । यह निम्नलिखित आरेख प्रदान करता है।
Filesystem <- top
|
Encryption
|
RAID
|
Raw partitions
|
Raw disks <- bottom
क्योंकि ZFS RAID और फाइलसिस्टम कार्यक्षमता को जोड़ती है, इसलिए आपके समाधान को निम्नलिखित की तरह देखना होगा।
RAID-Z and ZFS Filesystem <-top
|
Encryption
|
Raw partitions (optional)
|
Raw disks <- bottom
मैंने कच्चे विभाजन को वैकल्पिक के रूप में सूचीबद्ध किया है क्योंकि ZFS को उम्मीद है कि यह विभाजन के बजाय कच्चे ब्लॉक भंडारण का उपयोग करेगा। जब आप विभाजन का उपयोग करके अपनी ज़ूलू बना सकते हैं, तो इसकी अनुशंसा नहीं की जाती है क्योंकि यह प्रबंधन के एक बेकार स्तर को जोड़ देगा, और विभाजन खंड के संरेखण के लिए आपकी ऑफसेट क्या होगी, इसकी गणना करते समय इसे ध्यान में रखना होगा।
क्या यह लिखने के प्रदर्शन को बाधित नहीं करेगा? [...] मेरा सीपीयू इंटेल एईएस-एनआई का समर्थन करता है।
जब तक आप अपने AES-NI ड्राइवर द्वारा समर्थित एन्क्रिप्शन विधि का चयन करते हैं, तब तक कोई प्रदर्शन समस्या नहीं होनी चाहिए। यदि आपके पास क्रायसिपेटअप 1.6.0 या नया है तो आप चला सकते हैं cryptsetup benchmark
और देख सकते हैं कि कौन सा एल्गोरिथ्म सबसे अच्छा प्रदर्शन प्रदान करेगा।
एलयूकेएस के लिए अनुशंसित विकल्पों पर यह प्रश्न भी मूल्य का हो सकता है।
यह देखते हुए कि आपके पास हार्डवेयर एन्क्रिप्शन समर्थन है, आप विभाजन मिसलिग्न्मेंट के कारण प्रदर्शन के मुद्दों का सामना करने की अधिक संभावना रखते हैं।
लिनक्स पर ZFS ने आपकी हार्ड ड्राइव के लिए सेक्टर आकार निर्दिष्ट करने की अनुमति देने के लिए संपत्ति को कमांड में जोड़ा हैashift
zfs
। लिंक्ड एफएक्यू के अनुसार, ashift=12
यह बताएगा कि आप 4K ब्लॉक आकार के साथ ड्राइव का उपयोग कर रहे हैं।
LUKS FAQ बताता है कि LUKS विभाजन में 1 MB का संरेखण है। प्रश्न 6.12 और 6.13 इस पर विस्तार से चर्चा करते हैं और यह भी सलाह देते हैं कि एलयूकेएस विभाजन हेडर को बड़ा कैसे बनाया जाए। हालाँकि, मुझे यकीन नहीं है कि यह सुनिश्चित करना संभव है कि यह सुनिश्चित हो सके कि आपका ZFS फाइल सिस्टम 4K सीमा पर बनाया जाएगा। मुझे यह सुनने में दिलचस्पी होगी कि यह आपके लिए कैसे काम करता है यदि यह एक समस्या है जिसे आपको हल करने की आवश्यकता है। चूंकि आप 2TB ड्राइव का उपयोग कर रहे हैं, आप इस समस्या का सामना नहीं कर सकते।
क्या ZFS डिस्क-विफलताओं के बारे में पता होगा जब डिवाइस-मैपर LUKS कंटेनरों पर काम करते हुए भौतिक उपकरणों के विपरीत होता है?
ZFS डिस्क विफलताओं से अवगत हो जाएगा क्योंकि यह समस्याओं के बिना उन्हें पढ़ और लिख सकता है। ZFS को ब्लॉक स्टोरेज की आवश्यकता होती है और वह उस स्टोरेज की बारीकियों के बारे में परवाह नहीं करता है या नहीं जानता है और यह कहां से आता है। यह केवल किसी भी पढ़ने, लिखने या चेकसम त्रुटियों का ट्रैक रखता है जो इसका सामना करता है। अंतर्निहित भंडारण उपकरणों के स्वास्थ्य की निगरानी करना आपके ऊपर है।
ZFS प्रलेखन में समस्या निवारण पर एक खंड है जो पढ़ने योग्य है। क्षतिग्रस्त डिवाइस को बदलने या मरम्मत करने पर अनुभाग बताता है कि विफलता परिदृश्य के दौरान आपको क्या सामना करना पड़ सकता है और आप इसे कैसे हल कर सकते हैं। आप यहाँ वही काम करेंगे जो आप उन उपकरणों के लिए करेंगे जिनमें ZFS नहीं है। अपने SCSI ड्राइवर, HBA या HD नियंत्रक और / या SMART निगरानी सॉफ़्टवेयर के संदेशों के लिए syslog की जाँच करें और फिर उसके अनुसार कार्य करें।
समर्पण और अन्य ZFS सुविधाओं के बारे में कैसे?
ZFS के सभी फीचर्स समान रूप से काम करेंगे चाहे अंतर्निहित ब्लॉक स्टोरेज एन्क्रिप्टेड हो या नहीं।
सारांश
- एलयूकेएस-एन्क्रिप्टेड डिवाइस पर जेडएफएस अच्छी तरह से काम करता है।
- यदि आपके पास हार्डवेयर एन्क्रिप्शन है, तो जब तक आप अपने हार्डवेयर द्वारा समर्थित एन्क्रिप्शन पद्धति का उपयोग नहीं करते, तब तक आपको कोई प्रदर्शन हिट नहीं होगा।
cryptsetup benchmark
यह देखने के लिए उपयोग करें कि आपके हार्डवेयर पर सबसे अच्छा काम क्या होगा।
- जेडएफएस के बारे में सोचें RAID और फाइलसिस्टम एक एकल इकाई में संयुक्त। ऊपर ASCII आरेख देखें, जहां यह स्टोरेज स्टैक में फिट बैठता है।
- आपको प्रत्येक LUKS- एन्क्रिप्टेड ब्लॉक डिवाइस को अनलॉक करने की आवश्यकता होगी जो ZFS फाइल सिस्टम का उपयोग करता है।
- भंडारण हार्डवेयर के स्वास्थ्य की निगरानी उसी तरह से करें जैसे आप अभी करते हैं।
- यदि आप 4K ब्लॉक्स के साथ ड्राइव का उपयोग कर रहे हैं, तो फाइलसिस्टम के ब्लॉक अलाइनमेंट से सावधान रहें। स्वीकार्य गति के लिए आवश्यक संरेखण प्राप्त करने के लिए आपको लुक्सफॉर्मैट विकल्पों या अन्य सेटिंग्स के साथ प्रयोग करने की आवश्यकता हो सकती है।