कम रैम पर्यावरण व्यवहार्यता में अनुकूलित ZFS?


10

मैं वर्तमान में एक फ़ाइल सर्वर स्थापित कर रहा हूं और वास्तव में डेटा ड्राइव सेट करने के बिंदु पर आया हूं। सिस्टम में 4 ड्राइव (एक ओएस डिस्क, 3 डेटा डिस्क) हैं। OS डिस्क को ext4 के रूप में स्वरूपित किया गया है और इसे ZFS पूल (यदि मैं ZFS चलाने के लिए चुनते हैं) में जोड़ा नहीं जाएगा। मेरी मुख्य चिंता डेटा अखंडता और डेटा हानि का न्यूनतम जोखिम है (ड्राइव कैशिंग बायोस में अक्षम है)। इसके लिए जेडएफएस सही उम्मीदवार लगता है, क्योंकि इसमें लिनक्स के लिए एक स्थिर संस्करण है (सही?), और डेटा दोहराव, पूलिंग और रेड्ज़ का समर्थन करता है, जहां हार्ड-ड्राइव का आकार समान नहीं होना चाहिए।

लेकिन यहाँ मेरी समस्या है। सर्वर में केवल 2GB RAM है और इसे निकट भविष्य में अपग्रेड नहीं किया जा सकता है, और वास्तविक रूप से केवल 1.5 अन्य सेवाओं को स्थापित करने के बाद ZFS के लिए वास्तव में सुलभ होगा। अधिकतम 10 ग्राहक किसी भी समय इसका उपयोग करेंगे (औसतन 4 से अधिक)। क्या इसे सुरक्षित माना जाना कम है?

जो मैं समझता हूं कि जेडएफएस कम रैम स्थितियों में दुर्घटनाग्रस्त हो सकता है और इसके साथ पूल ले सकता है। मैंने उलझन भरी राय सुनी कि क्या स्वैप इस समस्या को दूर करने में मदद करेगा (मेरे पास 20 जीबी स्वैप समर्पित ड्राइव है)। क्या किसी ने ZFS के साथ कम रैम के साथ डेटा हानि का अनुभव किया है और इसे रोकने के लिए आपने क्या अनुकूलन किए हैं?

उपरोक्त को ध्यान में रखते हुए यह अभी भी ZFS चलाने के लिए संभव होगा, यद्यपि ack का आकार कम करें और इसे थोड़ा नीचे ट्रिम करें या क्या यह बहुत जोखिम भरा होगा?

सिस्टम चश्मा: 2 जीबी रैम 20 जीबी स्वैप ड्राइव ओएस, डेबियन 7, न्यूनतम इंस्टॉल, एफ़टीपी के साथ, और एक्सबीएमसी, डीएनएलए, (रैम आवश्यकता का विचार देने के लिए)। अन्य उपकरणों के लिए भंडारण सर्वर और संगीत मीडिया स्ट्रीमिंग के लिए उपयोग किया जाता है।


1
मैं एक ZFS गुरु नहीं हूं , लेकिन मैं सामान्य रूप से फाइल सिस्टम के बारे में बहुत कुछ जानता हूं, और मुझे पता है कि एक जगह आपको देखना होगा - बड़ा समय - मेमोरी की खपत के लिए डेटा डुप्लीकेशन है। आप निर्दिष्ट नहीं करते हैं कि आपके डिस्क कितने बड़े हैं, और न ही उन पर कितना डेटा निवास करेगा; यह बहुत बड़ा है, क्योंकि ZFS को इन-मेमोरी लुकअप टेबल रखने की आवश्यकता होती है। मैं अन्य चिंताओं से बात नहीं कर सकता, लेकिन मैं निश्चित रूप से समर्पण को मारूंगा। साथ ही, बैकअप के लिए, अब, btrfs काफी परिपक्व है; क्या आपने इसे माना है? कुछ जानकारियों के लिए arstechnica.com/civis/viewtopic.php?f=16&t=1226135 चेक करें (जिसमें कुछ को कोई संदेह नहीं होगा)।
रवेन्पी

ओह हाँ, मुझे याद आया। पूल 3.35tb (दोनों डिस्क्स और डेटा दोनों के रूप में होगा, क्योंकि यह 9 क्लाइंट्स को रोज़ाना बैकअप देगा, इसलिए मुझे लगता है कि यह त्वरित रूप से भर जाएगा। मुझे लगता है कि इसका मतलब है कि कम से कम कोई दोहराव नहीं है, क्योंकि फ़्रीबल्ड सुझाव देता है कि हर टी स्टोरेज स्पेस के लिए 5 जीबी रैम है btrfs को इंगित करने के लिए धन्यवाद, मुझे पता नहीं था कि यह अब स्थिर था, मुझे लगता है कि मैं इस पर एक अच्छी नज़र
थॉमस ई।

"स्थिर" एक ऐसी चीज है जिसे शायद मैं कॉल करने के लिए जल्दी नहीं कर सकता; कोई भी यहां तक ​​कि थोड़े-थोड़े नवाबी फाइलसिस्टम को "स्थिर" कहने में संकोच करता है । लेकिन यह वहाँ हो रहा है। LWN (Linux Weekly News) ने इस पर एक श्रृंखला बनाई; यह अच्छा है - इसे यहाँ देखें: lwn.net/Articles/576276
ravenpi

जवाबों:


5

आप मुख्य चिंताओं के रूप में डेटा अखंडता और डेटा हानि का न्यूनतम जोखिम बताते हैं। मेमोरी के केवल 2GiB के साथ ZFS चलाना जोखिम भरा है और उचित नहीं है। बहुत कम रैम प्रदर्शन को मारता है और अतीत में कई बेशुमार पूल का कारण था। FreeNAS परियोजना एक न्यूनतम के रूप में राम की 8GiB कहा गया है।

इसके अलावा, चूंकि आपकी चिंता डेटा हानि है, आप ईसीसी रैम का उपयोग करना चाहेंगे। चूंकि आपका बॉक्स केवल 2GiB RAM का समर्थन कर सकता है, मुझे लगता है कि यह वास्तव में पुराना बॉक्स है जो ZFS के लिए अच्छा विकल्प नहीं होगा।

अपने सवालों के जवाब देने के लिए:

[…] और डेटा दोहराव का समर्थन करता है

व्यवहार में जब आप अंगूठे के नियम के रूप में कम से कम 32GiB नहीं है, तो समर्पण के बारे में भूल जाएं। आपको पूल आकार के आधार पर, अधिक रैम की आवश्यकता हो सकती है। दूसरा, यदि डिडुप्लीकेशन + रैम की लागत कुछ अतिरिक्त डिस्क की तुलना में सस्ती है, तो गणित करें। अधिक बार नहीं, अधिक डिस्क सस्ता विकल्प हैं।

क्या इसे सुरक्षित माना जाना कम है?

हां, यह बहुत कम है।

जो मैं समझता हूं कि जेडएफएस कम रैम स्थितियों में दुर्घटनाग्रस्त हो सकता है और इसके साथ पूल ले सकता है।

यह सच है और कम रैम के कारण कई लोग अपना पूल खो चुके हैं।

मैंने उलझन भरी राय सुनी कि क्या स्वैप इस समस्या को दूर करने में मदद करेगा

स्वैप के बारे में भूल जाइए, आपके ZFS बॉक्स को कभी भी स्वैप का उपयोग नहीं करना चाहिए।

संपादित करें: यदि आप साहसी महसूस कर रहे हैं और कभी-कभी घबराहट या डेटा हानि का जोखिम नहीं उठाते हैं तो ZFS ट्यूनिंग गाइड पढ़ें और उल्लिखित सेटिंग्स को अनुकूलित करें। यहाँ पर 768MiB मेमोरी के सिस्टम के लिए उदाहरण सेटिंग है।

vm.kmem_size="330M"
vm.kmem_size_max="330M"
vfs.zfs.arc_max="40M"
vfs.zfs.vdev.cache.size="5M"

अन्यथा स्मृति की एक पट्टी में सौ रुपये का निवेश करें और एक स्थिर और प्रदर्शन प्रणाली का आनंद लें।


3
समझा। बस हाँ करने के लिए मेरे पास ecc ram है और मशीन hp सर्वहारा माइक्रोसेवर जीन 7 है, जो 8 / 16gb RAM तक का समर्थन करता है, यह अभी अधिक राम खरीदने के लिए वित्तीय रूप से व्यवहार्य नहीं है। मुझे पता था कि freenas ने 8 gb की सिफारिश की थी, हालांकि freebsd और Solaris प्रलेखन में न्यूनतम 1 gb होने का सुझाव दिया गया है, जो प्रश्न का कारण है। मैं इस के प्रकाश में अनुमान लगाता हूं कि मुझे rsync और dd से ऑफ़लाइन डिस्क (s) के साथ मैन्युअल रूप से ext4 और दर्पण से चिपकना चाहिए, शायद सबसे सुरक्षित समाधान।
थॉमस ई

क्या आप इस बात पर विस्तृत चर्चा कर सकते हैं कि ZFS को SWAP का उपयोग क्यों नहीं करना चाहिए?
CMCDragonkai

ECC के बिना ZFS का उपयोग करने का कोई कारण नहीं है, एक ही फाइल सिस्टम के साथ एक ही हार्डवेयर चलाने की तुलना में अधिक खतरनाक है।
एलिसिया

5
क्यों ZFS समुदाय हमेशा ऐसे अभिमानी स्नोबेरी के साथ टिप्पणी कर रहा है? हर कोई जो विश्वसनीय डेटा $ 100 चाहता है, वह केवल कुछ हास्यास्पद डिजाइन आवश्यकताओं की सेवा के लिए झूठ बोल रहा है ! उदाहरण के लिए, मेरे पास 1GB हार्ड-वायर्ड रैम और यूएसबी हार्ड ड्राइव के साथ एक छोटा सा एआरएम होम सर्वर है। मैं चाहता हूं कि इस पर डेटा थोड़ा सड़ांध से सुरक्षित हो, इसके द्वारा दोनों का पता लगाया और ठीक किया जा सकता है, और बैकअप प्रयोजनों के लिए स्नैपशॉट हैं। गति की कोई आवश्यकता नहीं है। और btrfs सादे डिजाइन से टूटा हुआ है। तो ZFS समझदार होगा , अगर कुछ बेवकूफ ने इसे अवसाद से उकसाने के लिए डिज़ाइन नहीं किया होता, जब भी इसमें <128 का RAM होता है।
Evi1M4chine

0

उच्च मेमोरी प्रेशर सिस्टम (लिनक्स) पर मेमोरी को अपग्रेड करना वास्तव में आवश्यक है। अभी भी बग ( लिंक ) है जहां स्वैपिंग आईओ (कर्नेल लटका हुआ कार्य) को लॉक करता है, जब तक कि इसे रिबूट नहीं किया जाता है। मेरा मानना ​​है कि vm.swappiness = X का zfs पर कोई प्रभाव नहीं है, इसलिए चाप को निश्चित संख्या तक सीमित करने से थोड़ी मदद मिल सकती है।

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