वर्चुअल अतिथि के रूप में ZFS सर्वर की मेजबानी


23

मैं अभी भी ZFS के लिए नया हूँ। मैं नेक्सेंटा का उपयोग कर रहा हूं, लेकिन मैं ओपनइंडियाना या सोलारिस 11 एक्सप्रेस पर स्विच करने के बारे में सोच रहा हूं। अभी, मैं ZFS सर्वर को ESXi, Hyper-V या XenServer के भीतर एक अतिथि के रूप में वर्चुअलाइज़ करने पर विचार करने के बिंदु पर हूं (मैंने अभी तक यह तय नहीं किया है कि मैं किसके लिए बना रहा हूं - मैं VMDirectPath और FreeBSP समर्थन के लिए ESXi की ओर झुकाव कर रहा हूं)।

प्राथमिक कारण यह है कि ऐसा लगता है कि मेरे पास जाने के लिए पर्याप्त संसाधन हैं कि मैं आसानी से 1-3 अन्य वीएम समवर्ती रूप से चल सकता हूं। ज्यादातर विंडोज सर्वर। शायद एक लिनक्स / बीएसडी वीएम भी। मैं वर्चुअलाइज्ड जेडएफएस सर्वर को अन्य वीएम के लिए सभी डेटा की मेजबानी करना चाहता हूं ताकि उनके डेटा को जेडएफएस डिस्क (इस्की या एनएफएस के रूप में माउंट) से शारीरिक रूप से अलग डिस्क पर रखा जा सके।

सर्वर में वर्तमान में 6 कुल कोर (2 अनलॉक किए गए), 16 जीबी रैम (अधिकतम बाहर) और एक एलएसआई एसएएस 1068E एचबीए (7) 1 टीबी एसएटीए II डिस्क के साथ संलग्न (हॉट स्पेयर पर योजना) है। मेरे पास मदरबोर्ड से जुड़ी (4) 32GB SATA II SSDs भी हैं। मैं दो SSDs को बूट मिरर (वर्चुअल होस्ट के लिए) को मिरर करने की उम्मीद कर रहा हूं, और ZIL और L2ARC (ZFS VM गेस्ट के लिए) के लिए अन्य दो SSDs छोड़ दूंगा। मैं VM मेहमानों को संग्रहीत करने और ZFS भंडारण के रूप में वर्तमान डिस्क के सभी सात को आवंटित करने के लिए दो और डिस्क जोड़ने के लिए तैयार हूं। नोट: मदरबोर्ड में IOMMU सपोर्ट नहीं है क्योंकि 880G इसका समर्थन नहीं करता है, लेकिन मेरे पास एक 890FX बोर्ड है जिसमें IOMMU होता है यदि यह बहुत बड़ा अंतर रखता है।

मेरे प्रश्न हैं:

1) क्या ऐसा करना बुद्धिमानी है? मुझे कोई स्पष्ट रूप से नकारात्मक नहीं दिखता (जो मुझे आश्चर्यचकित करता है कि किसी और ने इसका उल्लेख क्यों नहीं किया है)। मुझे ऐसा लगता है कि मैं एक बहुत बड़ा निरीक्षण कर सकता हूं और मैं इसके लिए घृणा करना चाहता हूं, अपने सभी डेटा को केवल कुछ मिनट के विस्तार से याद करने के लिए आगे बढ़ना है जो मैंने याद किया।

2) ZFS आभासी अतिथि प्रदर्शन? मैं एक छोटे से प्रदर्शन को हिट करने के लिए तैयार हूं, लेकिन मुझे लगता है कि अगर वीएम अतिथि डिस्क पर पूर्ण डिस्क का उपयोग करता है, तो बहुत कम से कम, डिस्क I / O प्रदर्शन नगण्य होगा (ZFS गैर-वर्चुअलाइज्ड चलाने की तुलना में) । क्या कोई एक ZFS सर्वर को VM अतिथि के रूप में होस्ट करने के अनुभव से इस पर बात कर सकता है?


आप कहते हैं कि आप अन्य सभी VM के लिए डेटा होस्ट करना चाहते हैं। क्या आप अपने आप को कुछ बिंदु पर समर्पण चाहते हैं? यदि हां, तो यह वास्तव में स्वयं की मशीन पर होना चाहिए, क्योंकि कटौती बहुत स्मृति गहन है। अपनी ZFS की ज़रूरतों के लिए स्मार्टओएस जैसी किसी चीज़ पर नज़र क्यों नहीं डालें? इस तरह आपको एक हाइपरवाइजर भी मिल जाता है।
देवीकेनुल

मैंने डिडअप के बारे में सोचा है, लेकिन तत्काल समय के लिए, नहीं, मैं इसका उपयोग नहीं करूंगा। मैं स्मार्टओएस की जांच करूंगा। मैंने इसके बारे में नहीं सुना है इसलिए मैं इसकी जाँच करूँगा।
ऑसिजेनिस

जवाबों:


38

मैंने इनमें से कई "ऑल-इन-वन" ZFS स्टोरेज सेटअप बनाए हैं। शुरुआत में यूबीक्विटस टॉक में उत्कृष्ट पोस्ट से प्रेरित होकर , मेरा समाधान हार्डवेयर डिज़ाइन के लिए थोड़ा अलग दृष्टिकोण लेता है, लेकिन एन्कैप्सुलेटेड वर्चुअलाइज्ड ज़ेडएफएस स्टोरेज का परिणाम देता है।

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

  • यह निर्धारित करना कि क्या यह एक बुद्धिमान दृष्टिकोण है वास्तव में आपके लक्ष्यों पर निर्भर करता है। आप क्या खत्म करने की कोशिश कर रहे हैं? यदि आपके पास एक तकनीक (ZFS) है और इसके लिए एक आवेदन खोज रहे हैं, तो यह एक बुरा विचार है। आप एक उचित हार्डवेयर RAID नियंत्रक का उपयोग करना और अपने VMs को स्थानीय VMFS विभाजन पर चलाना बेहतर समझते हैं। यह कम से कम प्रतिरोध का रास्ता है। हालांकि, यदि आपके पास ZFS (प्रतिकृति, संपीड़न, डेटा सुरक्षा, पोर्टेबिलिटी, आदि) का उपयोग करने की इच्छा के लिए एक विशिष्ट कारण है, तो यह निश्चित रूप से संभव है यदि आप प्रयास में लगाने के इच्छुक हैं।

  • प्रदर्शन आपके डिज़ाइन पर बहुत अधिक निर्भर करता है, भले ही आप नंगे-धातु या आभासी पर चल रहे हों। का उपयोग करते हुए पीसीआई-पासथ्रू (या अपने मामले में एएमडी IOMMU), आवश्यक है के रूप में आप एक एसएएस भंडारण नियंत्रक और डिस्क के लिए अपने ZFS वीएम सीधी पहुँच प्रदान की जाएगी। जब तक आपके वीएम को उचित मात्रा में रैम और सीपीयू संसाधनों का आवंटन किया जाता है, तब तक प्रदर्शन निकट-मूल है। बेशक, आपका पूल डिजाइन मायने रखता है। कृपया RAID Z2 के दर्पणों पर विचार करें। जेडएफएस को वीवीएस में तराजू और डिस्क की संख्या नहीं है


मेरा मंच VMWare ESXi 5 है और मेरा पसंदीदा ZFS- सक्षम ऑपरेटिंग सिस्टम NexentaStor कम्युनिटी एडिशन है

यह मेरा होम सर्वर है । यह एक HP SDL7070 G6 है जो ईएसएक्सआई फ्रॉन को आंतरिक एसडी कार्ड से चलाता है। केंद्र में दो प्रतिबिंबित 72GB डिस्क आंतरिक स्मार्ट सरणी P410 RAID नियंत्रक से जुड़ी हुई है और VMFS वॉल्यूम बनाती है। उस वॉल्यूम में एक NexentaStor VM है। याद रखें कि ZFS वर्चुअल मशीन को स्थिर भंडारण पर कहीं रहने की आवश्यकता है ।

वहाँ एक LSI 9211-8i एसएएस नियंत्रक है जो ड्राइव केज हाउसिंग से जुड़ा हुआ है 1 1TB SATA डिस्क दाईं ओर। इसे नेक्सेंटास्टोर वर्चुअल मशीन से गुजारा जाता है, जिससे नेक्सेंटा को RAID 1 + 0 सेटअप के रूप में डिस्क को देखने की अनुमति मिलती है। डिस्क एल- सस्तेो वेस्टर्न डिजिटल ग्रीन WD10EARS ड्राइव हैं जो एक संशोधित बाइनरी के साथ ठीक से संरेखित हैंzpool

मैं इस स्थापना में एक ZIL डिवाइस या किसी L2ARC कैश का उपयोग नहीं कर रहा हूं।

यहाँ छवि विवरण दर्ज करें

VM के पास 6GB RAM और 2 vCPU का आवंटन है। ESXi में, यदि आप PCI-passthrough का उपयोग करते हैं, तो VM के असाइन किए गए RAM की पूरी राशि के लिए एक स्मृति आरक्षण बनाया जाएगा।

मैं NexentaStor VM दो नेटवर्क इंटरफेस देता हूं। एक प्रबंधन यातायात के लिए है। अन्य एक अलग vSwitch का हिस्सा है और इसमें एक vmkernel इंटरफ़ेस है (बिना बाहरी अपलिंक के)। यह वीएम को निजी नेटवर्क के माध्यम से ईएक्सएक्सआई द्वारा माउंट किए गए एनएफएस भंडारण प्रदान करने की अनुमति देता है। आप बाहरी होस्ट तक पहुंच प्रदान करने के लिए आसानी से एक अपलिंक इंटरफ़ेस जोड़ सकते हैं।

ZFS- निर्यात किए गए डेटास्टोर पर अपने नए VMs स्थापित करें। ESXi में "वर्चुअल मशीन स्टार्टअप / शटडाउन" पैरामीटर सेट करना सुनिश्चित करें। आप चाहते हैं कि संग्रहण VM अतिथि प्रणालियों से पहले बूट हो और अंतिम बंद हो।


यहाँ छवि विवरण दर्ज करें

यहाँ सीधे नेन्स्टेंटस्टोर वीएम पर एक रन के बोनी ++ और iozone परिणाम हैं। परीक्षण के लिए अधिक भरोसेमंद संख्या दिखाने के लिए ZFS संपीड़न बंद है, लेकिन व्यवहार में, ZFS डिफ़ॉल्ट संपीड़न (gzip नहीं) को हमेशा सक्षम होना चाहिए।

# bonnie++ -u root -n 64:100000:16:64

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
saint           12G   156  98 206597  26 135609  24   410  97 367498  21  1478  17
Latency               280ms    3177ms    1019ms     163ms     180ms     225ms
Version  1.96       ------Sequential Create------ --------Random Create--------
saint               -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
    64:100000:16/64  6585  60 58754 100 32272  79  9827  58 38709 100 27189  80
Latency              1032ms     469us    1080us     101ms     375us   16108us

# iozone -t1 -i0 -i1 -i2 -r1m -s12g

    Iozone: Performance Test of File I/O

    Run began: Wed Jun 13 22:36:14 2012

    Record Size 1024 KB
    File size set to 12582912 KB
    Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s12g
    Output is in Kbytes/sec
    Time Resolution = 0.000001 seconds.
    Throughput test with 1 process
    Each process writes a 12582912 Kbyte file in 1024 Kbyte records

    Children see throughput for  1 initial writers  =  234459.41 KB/sec
    Children see throughput for  1 rewriters        =  235029.34 KB/sec
    Children see throughput for  1 readers          =  359297.38 KB/sec
    Children see throughput for 1 re-readers        =  359821.19 KB/sec
    Children see throughput for 1 random readers    =   57756.71 KB/sec
    Children see throughput for 1 random writers    =  232716.19 KB/sec

यह एक NexentaStor DTrace ग्राफ है जो टेस्ट रन के दौरान स्टोरेज VM के IOPS और ट्रांसफर दरों को दिखाता है। 4000 IOPS और 400+ मेगाबाइट / सेकेंड ऐसे लो-एंड डिस्क के लिए बहुत ही उचित है। (बड़ा ब्लॉक आकार, हालांकि) यहाँ छवि विवरण दर्ज करें

अन्य नोट।

  • आप यह देखने के लिए अपने SSDs का परीक्षण करना चाहेंगे कि क्या उन्हें सीधे VM में प्रस्तुत किया जा सकता है या यदि DirectPath पूरे मदरबोर्ड कंट्रोलर को चुनता है।
  • आपके पास ज्यादा CPU पावर नहीं है, इसलिए स्टोरेज यूनिट को 2 vCPU तक सीमित करें।
  • RAIDZ1 / Z2 / Z3 का उपयोग न करें जब तक कि आपको वास्तव में डिस्क स्थान की आवश्यकता न हो।
  • कटौती का उपयोग न करें। संपीड़न VMs के लिए स्वतंत्र और बहुत उपयोगी है। प्रभावी होने के लिए डिडुप्लीकेशन में बहुत अधिक RAM + L2ARC की आवश्यकता होगी।
  • SSDs के बिना शुरू करें और यदि आवश्यक हो तो उन्हें जोड़ें। कुछ कार्यभार ZIL या L2ARC से नहीं टकराते
  • NexentaStor एक पूरा पैकेज है। एक ठोस प्रबंधन जीयूआई होने का एक फायदा है, हालांकि, मैंने नप-इट के साथ सफलता के बारे में सुना है ।

+1। सभी जानकारी के लिए शुक्रिया! आपके प्रश्न का उत्तर देने के लिए, मैं कुछ कारणों से ऐसा कर रहा हूं। मैं बड़े पैमाने पर अन्य सीपीयू कोर का लाभ उठाने के लिए एक या दो अन्य वीएम (जेडएफएस नहीं कर रहा) कर रहा हूं और अपने ओपर्टन वर्चुअल सर्वर को iSCSI लक्ष्य प्रदान कर रहा हूं। ZFS के लिए मेरे कारण (किसी विशेष क्रम में) संपीड़न और डेटा सुरक्षा और प्रतिकृति नहीं हैं। डेडूपे बहुत शांत दिखते हैं, लेकिन संसाधनों और मेरे डेटा के मामले में, मुझे यकीन नहीं है कि यह आवश्यक है। अभी मैं नेक्सेंटा का उपयोग कर रहा हूं, लेकिन अगर मैं 18TB की सीमा से अधिक के डिस्क पर ढेर करना जारी रखता हूं, तो मैं Solaris Express या OpenIndiana पर जाने पर विचार कर रहा था।
osij2is

इसलिए, मैं आपकी टिप्पणी को L2ARC या ZIL के लिए SSDs का उपयोग करने या न करने के बारे में समझता हूं और मैं बस यही करने को तैयार हूं। प्रदर्शन को पहले देखें, यह निर्धारित करें कि क्या ZIL और / या ARC को जोड़ना है। बनाम RAIDZ मिररिंग, अपनी टिप्पणी पढ़ने और इस ब्लॉग पोस्ट (पढ़ने के बाद के रूप में constantin.glez.de/blog/2010/01/... ) मुझे लगता है कि मिरर एक मामूली बढ़त है। मुझे वास्तव में डिस्क स्थान की आवश्यकता नहीं है, लेकिन अगर मेरे पास कुछ अतिरेक और तेज पढ़ने / लिखने की क्षमता हो सकती है, तो मुझे लगता है कि मैं उस पर स्विच करूंगा। जो भी भंडारण स्थान मैं बाहर निकाल सकता हूं, वह वास्तव में इसके लायक नहीं होगा।
ऑसिजे 2

इसके अलावा, याद रखें कि संपीड़न उपयोगी है। मैं क्लाइंट सिस्टम के लिए कमर्शियल नेक्सेंटा के लिए भुगतान करता हूं और 18TB से बड़ा कुछ भी। लेकिन वही टिप्स OpenIndiana पर लागू होती हैं।
इविहित

क्या आप NFS नेटवर्क के लिए E1000 vnic या VMXNet3 vnic का उपयोग कर रहे हैं? क्योंकि मैं केवल एक समान सेटअप का उपयोग कर नेक्सेंटा / सोलारिस और वीएमवेयर के बीच 1 जीबीपीएस प्राप्त कर रहा हूं और यह पता नहीं लगा सकता कि अधिक गति कैसे प्राप्त करें। NexentaStor का क्या संस्करण? मुझे संदेह है कि उनके पास वर्तमान में उपलब्ध संस्करण टूट गया है ...
जोश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.