जो बेहतर छवि प्रारूप है, कच्चे या qcow2, अन्य वीएम के लिए एक आधार के रूप में उपयोग करने के लिए?


25

मैं एक बेसिमेज का उपयोग कर रहा हूं और इसके आधार पर कई वीएम बना रहा हूं। और अब मैं जानना चाहता हूं कि एक बेसिमेज के लिए उपयोग करने के लिए कौन सा बेहतर, qcow2 या कच्चा है। इसके अलावा, क्या आप मुझे बता सकते हैं कि क्या पूरी डिस्क को क्लोन करने के बजाय इस बेसिमेज चीज का उपयोग करने का कोई फायदा है। गति एक कारक हो सकती है लेकिन दक्षता में एक बेसिमेज का उपयोग करने और फिर उस बेसिमेज का उपयोग करके वीएम बनाने में कोई समस्या है?

1 संपादित करें:

मैंने कुछ प्रयोग किए और हासिल किया यहाँ छवि विवरण दर्ज करेंयहाँ छवि विवरण दर्ज करेंयहाँ छवि विवरण दर्ज करें

पहले एक है जब दोनों बेसिमेज और ओवरले qcow2 हैं। दूसरा जब बेसिमेज कच्चा है, लेकिन ओवरले qcow2 है और तीसरे मामले में मैं प्रत्येक वीएम को व्यक्तिगत कच्ची डिस्क छवि दे रहा हूं। हैरानी की बात है, अन्य दो की तुलना में अंतिम मामला बहुत अधिक कुशल है।

प्रयोगिक व्यवस्था: 
बेसिमेज में ओएस: उबंटू सर्वर 14.04 64 बिट।
होस्ट ओएस: उबंटू 12.04 64 बिट
रैम: 8 जीबी
प्रोसेसर: Intel® Core ™ i5-4440 CPU @ 3.10GHz × 4 
डिस्क: 500 जीबी 

X- अक्ष पर: VM की संख्या एक साथ बूट हुई। 1 से शुरू और 15 तक बढ़ा हुआ।

Y- अक्ष पर: मशीनों की संख्या "x" बूट करने के लिए कुल समय।

ग्राफ़ से, ऐसा लगता है कि VM को पूर्ण डिस्क छवि देना बहुत अधिक कुशल है फिर अन्य 2 विधियाँ।

2 संपादित करें: यहाँ छवि विवरण दर्ज करें

यह उस स्थिति के लिए है जब हम प्रत्येक वीएम को व्यक्तिगत कच्ची छवि दे रहे हैं। कैश फ्लशिंग करने के बाद, यह ग्राफ है। यह लगभग कच्चे बेसिम + क्यूबेक ओवरले के समान है।

धन्यवाद।


1
मैं qcow2 के बजाय एक कच्ची आधार-छवि और ओवरले QED का उपयोग करूंगा। QED qcow2 की तुलना में तेज़ है और डिज़ाइन द्वारा दूषित होने की संभावना कम है।
मैट

@ मैट संपादित सवाल पर टिप्पणी करें।
एबी

प्रदर्शन के अंतर दिलचस्प हैं। क्या आप इसे qed के साथ आज़मा सकते हैं? qcow2 कार्यान्वयन में एक विवाद / लॉकिंग मुद्दा हो सकता है। मेरा मानना ​​है कि इसमें कुछ समस्याएं हैं जिसके कारण उन्होंने क्यूड का आविष्कार किया।
मैट

1
@ मैट मैंने कच्चे बेसिमेज-क्यूड ओवरले और कच्चे बेसिमेज-क्यूसीक्यू 2 ओवरले के साथ जांच की। लेकिन qed इस सेटिंग में qcow2 की तुलना में बहुत धीमा है।
एबी

जवाबों:


18

आपके विशिष्ट उपयोग के मामले (आधार छवि + qcow2 ओवरले) के लिए, RAW प्रारूप को प्राथमिकता दी जानी चाहिए:

  1. यह तेज़ है: क्योंकि इसमें कोई मेटाडेटा संबद्ध नहीं है, यह जितना संभव हो उतना तेज़ है। दूसरी ओर, Qcow2 में अप्रत्यक्ष की दो परतें हैं जिन्हें वास्तविक डेटा को हिट करने से पहले पार किया जाना चाहिए
  2. जैसा कि ओवरले परत एक Qcow2 फ़ाइल होनी चाहिए, आप कभी भी उपयोगी स्नैपशॉट क्षमता नहीं खोते हैं (RAW छवियां स्नैपशॉट का समर्थन नहीं करती हैं)

बेस इमेज + qcow2 ओवरले बनाम मल्टीपल फुल कॉपी के बीच का चुनाव आपकी प्राथमिकता पर निर्भर करता है:

  1. पूर्ण प्रदर्शन के लिए, फॉलोकेटेड RAW छवियों का उपयोग करें। यह स्नैपशॉट का समर्थन नहीं करने का नकारात्मक पक्ष है, अधिकांश वातावरण में भुगतान करने के लिए बहुत अधिक कीमत है
  2. लचीलेपन और अंतरिक्ष-दक्षता के लिए रॉ बेस छवियों + Qcow2 ओवरले का उपयोग करें।

वैसे भी, मैं कुछ नाजुक qcow2 फाइलें मिली।

मेरे उत्पादन केवीएम हाइपरविजर के लिए मैं मूल रूप से दो अलग-अलग सेटअपों का उपयोग करता हूं:

  1. जहां प्रदर्शन # 1 है मैं वर्चुअल मशीनों से सीधे LVM वॉल्यूम का उपयोग करता हूं, और लगातार बैकअप लेने के लिए मैं LVM स्नैपशॉट क्षमता का उपयोग करता हूं
  2. जहां मैं बेहतर लचीलेपन के लिए कुछ प्रदर्शन का त्याग कर सकता हूं, मैं एक एकल, बड़े LVM पतले प्रावधान की मात्रा + XFS + RAW छवियों का उपयोग करता हूं

एक और संभावना एक सामान्य LVM वॉल्यूम + XFS + RAW छवियों का उपयोग करना है। केवल नकारात्मक पक्ष यह है कि सामान्य (गैर-पतला) एलवीएम स्नैपशॉट बहुत धीमी गति से होते हैं और एक व्यस्त सामान्य एलवीएम वॉल्यूम स्नैपशॉटिंग प्रदर्शन (स्नैपशॉट के जीवनकाल के लिए) को मार देगा। वैसे भी, यदि आप स्नैपशॉट के केवल छिटपुट उपयोग की योजना बनाते हैं, तो यह सबसे सरल और सुरक्षित दांव हो सकता है।

कुछ संदर्भ:
RHEL 6 पर KVM I / O सुस्ती 6
KVM भंडारण प्रदर्शन और RHEL 6.1 और Fedora 16
केवीएम 2 प्री-एलोकेशन पर Red Hat Enterprise Linux 6.2 LVM पतली मात्रा पर केवीएम भंडारण प्रदर्शन और कैश सेटिंग्स की
व्याख्या की गई


जैसा कि ऊपर कहा गया है: कोई अप्रत्यक्ष परतों के कारण व्यक्तिगत RAW छवियां तेज़ होने वाली हैं। याद रखें कि आप स्नैपशॉट (छवि स्तर पर) और अंतरिक्ष दक्षता दे रहे हैं, हालांकि। इसके अलावा, मैं इस धारणा के अधीन हूं कि आपका तीसरा परिणाम होस्ट कैश द्वारा तिरछा किया गया था। सुनिश्चित होने के लिए, प्रत्येक रन के बीच "सिंक 3; / proc / sys / vm / drop_caches" जारी करने वाले अपने सभी परीक्षणों को फिर से करें।
शोडान्शोक

दरअसल मैं भी यही सोच रहा था। लेकिन फिर मैंने सोचा कि, वास्तविक उपयोग के मामले में भी यह उसी प्रवाह का अनुसरण करेगा।
एबी

वास्तव में नहीं: इस परीक्षण के माहौल में, आप बस अपनी वर्चुअल मशीनों को बूट कर रहे हैं, उनका उपयोग किए बिना। एक वास्तविक मामले में, बूट करने के बाद वर्चुअल मशीनों का उपयोग किया जाएगा, जो कैश को प्रदूषित करेंगे। सामान्य तौर पर, एक उचित उपयोग के मामले में बेंचमार्क के लिए सबसे अच्छा है।
शोदांशोक

क्या आपको इस बात का कोई अंदाजा है कि कैशिंग ग्राफ 1 और ग्राफ 2 यानी Qcow2 आधार-छवि + Qcow2 ओवरले और रॉ बेस-इमेज + Qcow2 ओवरले में इतनी भूमिका क्यों नहीं निभा रहा है।
एबी

6

कृपया सलाह दी जाए .... यदि आप linux का उपयोग कर रहे हैं, तो आप उपयोग कर सकते हैं rawऔर qcow2जहाँ तक आकार जाता है , उतने ही लाभ प्राप्त कर सकते हैं ।

... यदि आपका फ़ाइल सिस्टम छेद का समर्थन करता है (उदाहरण के लिए ext2 या ext3 लिनक्स या NTFS पर विंडोज में), तो केवल लिखित क्षेत्र ही स्थान आरक्षित करेंगे।

https://docs.fedoraproject.org/en-US/Fedora/18/html/Virtualization_Administration_Guide/sect-Virtualization-Tips_and_tricks-Using_qemu_img.html

कच्ची कच्ची डिस्क छवि प्रारूप (डिफ़ॉल्ट)। यह सबसे तेज़ फ़ाइल-आधारित प्रारूप हो सकता है। यदि आपकी फ़ाइल प्रणाली छेद का समर्थन करती है (उदाहरण के लिए ext2 या ext3 लिनक्स या NTFS पर विंडोज में), तो केवल लिखित क्षेत्र ही स्थान आरक्षित करेंगे। Unix / Linux पर छवि या ls -ls द्वारा उपयोग किए जाने वाले वास्तविक आकार को प्राप्त करने के लिए qemu-img जानकारी का उपयोग करें।


अच्छी बात! लेकिन बैकअप / कॉपी / संपीड़न में लगता है कि कच्ची छवि-फ़ाइल के पूरे आकार का उपयोग किया जाता है। एक 20GB कच्ची फ़ाइल केवल डिस्क पर 4MB आवंटित करने पर 20MB तक ज़िप की गई
MrCalvin

यह मेरे लिए पूरी तरह से नया था। मेरे पास 30 जीबी की वर्चुअल डिस्क के साथ प्रोक्समॉक्स वीई में एक वीएम है ... और मैं देख सकता हूं कि डिस्क में होस्ट सिस्टम में आकार है। लेकिन होस्ट फ़ाइल सिस्टम में << 10GB के सभी उपयोग हैं। अब यही कारण है कि मैं क्या देख रहा था।
cljk
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.