Computer >> कंप्यूटर >  >> सॉफ्टवेयर >> आभासी मशीन

KVM में वर्चुअल मशीन का क्लोन कैसे करें - ट्यूटोरियल

नोट:यह ट्यूटोरियल मानता है कि आपके पास virt-sysprep नहीं है; नीचे देखें!

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

ठीक है, मैं आपको अद्वितीय प्रति-होस्ट जानकारी के साथ KVM तकनीक में आपकी वर्चुअल मशीनों की समान प्रतियां बनाने का एक अलग तरीका दिखाऊंगा ताकि आपके नेटवर्क पर कितने भी डुप्लिकेट अलग-अलग होस्ट बन जाएं। दूसरे शब्दों में, एक बार स्थापित करें और फिर अतिथि के जितने चाहें उतने उदाहरण बनाएं, प्रत्येक का अपना होस्टनाम, मैक पता, आईपी पता और इसी तरह। पूरी तरह से पटकथा योग्य और वह सब। तो कृपया मुझे फॉलो करें।

नोट:यह छवि विकिमीडिया से ली गई है, जिसे CC BY 2.0 के तहत लाइसेंस प्राप्त है।

कम कुशल तरीका

आइए एक पल के लिए वर्चु-क्लोन पर संक्षेप में चर्चा करें। यह एक खराब उपयोगिता नहीं है, लेकिन वितरण में इसका उपयोग मानक नहीं है। वर्चुअल मशीन मैनेजर के हिस्से के रूप में कुछ जीयूआई घटक दोनों को शिप करते हैं, अन्य कमांड लाइन टूल भी प्रदान करते हैं। दोनों ही मामलों में, क्लोन को केवल नई विशिष्ट आईडी और मैक पता निर्दिष्ट किया जाएगा, लेकिन कोई अन्य जानकारी नहीं। कॉन्फ़िगरेशन फ़ाइलें /etc/libvirt/qemu के अंतर्गत संग्रहीत की जाएंगी।

यहाँ एक उदाहरण है:

अब, हम यह नहीं चाहते। अच्छा नहीं।

क्लोनिंग + व्यापार के उपकरण

अब, सही तरीका। वांछित परिणाम प्राप्त करने के लिए आपको बहुत कम उपकरणों की आवश्यकता होगी; वास्तव में, केवल एक उपकरण, और इसे kpartx कहा जाता है, एक उपयोगिता जो विभाजन तालिका से उपकरण मानचित्र बना सकती है। विशेष रूप से यहां, आप वर्चुअल डिस्क को क्वेरी करके अपनी अतिथि मशीनों के लिए विभाजन मैपिंग बनाने के लिए इसका उपयोग कर सकते हैं। हम Linux का उपयोग करके प्रदर्शित करेंगे, लेकिन अधिकांश UNIX-आधारित सिस्टम कार्य करेंगे।

इसलिए हमें जो करना है वह वर्चुअल डिस्क से विभाजन तालिका को पढ़ना है। सबसे पहले, हमें वर्चुअल डिस्क की एक प्रति बनानी होगी, क्योंकि प्रत्येक मशीन का अपना होगा। यह क्लोन प्रक्रिया का एक धीमा चरण है, और यह इस बात पर निर्भर करेगा कि आपकी फाइलें कितनी बड़ी हैं और डिस्क कितनी धीमी हैं। सामान्य तौर पर, आपको एक विशिष्ट 20GB डिस्क फ़ाइल को कॉपी करने के लिए कुछ मिनटों की आवश्यकता होगी।

सीपी <पुरानी डिस्क फ़ाइल> <नई डिस्क फ़ाइल>

अब, विभाजन तालिका:

kpartx -a <वर्चुअल डिस्क फ़ाइल>

यह कुछ आउटपुट उत्पन्न करेगा। वास्तव में, आप वर्चुअल मशीन के अंदर निहित प्रत्येक अलग-अलग विभाजन के लिए एक अलग मैपर देखेंगे। उदाहरण के लिए, यदि आपके पास / और / घर है, तो आपके पास दो मैपर होंगे।

kpartx -av /kvm/disk.raw
मैप लूप जोड़ें0p1 (253:0):0 4206592 लीनियर /देव/लूप0 2048
मैप लूप0p2 जोड़ें (253:1):0 79677440 लीनियर /देव/लूप0 4208640

अब, प्रासंगिक डिवाइस को माउंट करने और प्रति-होस्ट परिवर्तन करने की बात है:

माउंट / देव / मैपर / <प्रासंगिक विभाजन लूपबैक> / माउंटपॉइंट

उदाहरण के लिए:

माउंट/देव/मैपर/लूप0p1/mnt

अद्वितीय होस्ट परिवर्तन

अब आपकी वर्चुअल मशीन को निम्नलिखित परिवर्तनों की सबसे अधिक आवश्यकता है:

/आदि/होस्ट
/etc/HOSTNAME

और निर्भर करता है कि आप डेबियन या रेडहैट/एसयूएसई का उपयोग कर रहे हैं, नेटवर्क कॉन्फ़िगरेशन, हालांकि यदि आप डीएचसीपी का उपयोग कर रहे हैं तो ये आवश्यक नहीं हो सकते हैं। हालाँकि, यदि आप स्थिर IP पतों का उपयोग कर रहे हैं, तो यह आवश्यक है:

/etc/sysconfig/network/ifcfg-<डिवाइस>

या

/आदि/नेटवर्क/इंटरफेस

अन्य परिवर्तन आवश्यक हो सकते हैं, लेकिन मूलभूत हैं। परिवर्तनों को सहेजने के बाद, umount. आपका अगला चरण नए क्लोन के लिए KVM कॉन्फ़िगरेशन फ़ाइल को संपादित करना है। XML फ़ाइलें सामान्यतया /etc/kvm/vm या /etc/libvirt/qemu निर्देशिकाओं में रखी जाती हैं, यदि मशीनों को वर्चुअल मशीन प्रबंधक का उपयोग करके स्वतः बनाया गया था।

XML फ़ाइल में परिवर्तन

सबसे पहले, टेम्प्लेट कॉन्फ़िगरेशन की एक प्रति बनाएँ।

अब आपको अपने डोमेन की विशिष्ट आईडी, नाम और मैक पते को संपादित करने की आवश्यकता होगी। पहले की तरह, आपको किसी प्रकार की विशिष्टता तर्क को लागू करना होगा, शायद grep, awk और इनलाइन खोज का उपयोग करना और sed के साथ बदलना, साथ ही आवश्यकता पड़ने पर नियमित अभिव्यक्तियों की एक स्वस्थ खुराक, ताकि आप अपनी प्रक्रिया को पूरी तरह से स्क्रिप्ट कर सकें। स्वाभाविक रूप से, आपको हार्ड डिस्क निर्देश को सही फ़ाइल पर इंगित करने की भी आवश्यकता होगी।

एक उदाहरण के रूप में, यहाँ कमांड्स का सेट है जिसकी आपको आवश्यकता हो सकती है:

sed -i -e 's/\.*/\<\/uuid\>/uuid\>dedoimedo\<\/uuuid/'
file.xml

और grep के साथ यह सुनिश्चित करने के लिए कि यह काम करता है:

sed -i -e 's/\.*/\<\/uuid\>/uuid\>dedoimedo\<\/uuuid/'
file.xml। | grep dedoimedo

dedoimedo

सभी को एक साथ रखना

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

#!/बिन/बैश

# क्लोनिंग करते समय टेम्प्लेट OS को निलंबित करें

वर्श सस्पेंड <डोमेन>
सीपी <पुरानी डिस्क> <नई डिस्क>
वायरल रिज्यूमे <डोमेन>

kpartx -a <नई डिस्क>

# प्रासंगिक विभाजनों को पढ़ने के लिए कुछ तर्क

माउंट <वांछित विभाजन> <माउंट पॉइंट>

# होस्ट-अनन्य फ़ाइलों की सामग्री को पार्स करने के लिए कुछ तर्क

sed -i -e की/पुरानी होस्टनाम लाइन/नई होस्टनाम लाइन/' /etc/HOSTNAME
sed -i -e 's/पुरानी होस्टनाम लाइन/नई होस्टनाम लाइन/' /etc/hosts
sed -i -e 's/पुराना IP कॉन्फिग/नया IP कॉन्फिग/' /etc/sysconfig/network/ifcfg-eth0

उमाउंट <माउंट पॉइंट>

सीपी /etc/kvm/vm/old.xml /etc/kvm/vm/new.xml

# नया यूआईडी, नाम, मैक आदि बनाने के लिए कुछ तर्क
# XML फ़ाइलों को सही ढंग से पार्स करने के लिए कुछ तर्क

sed -i -e 's/पुराना uuid/नया uuid/' /etc/kvm/vm/new.xml
sed -i -e का/पुराना नाम/नया नाम/' /etc/kvm/vm/new.xml
sed -i -e 'एस/पुराना मैक/नया मैक/' /etc/kvm/vm/new.xml
sed -i -e की/पुरानी डिस्क/नई डिस्क/' /etc/kvm/vm/new.xml

वायरल क्रिएट /etc/kvm/vm/new.xml

बाहर निकलें 0

और हमारा काम हो गया। बूट करें और आनंद लें!

भविष्य की सबसे अधिक संभावना:virt-sysprep

यदि आपके पास अपने बॉक्स पर virt-sysprep उपलब्ध है, तो यह संपूर्ण ट्यूटोरियल बेकार हो जाता है, जिसका अर्थ है कि आप अपने पसंदीदा ऑपरेटिंग सिस्टम के बाद के संस्करणों में से एक का उपयोग कर रहे हैं। हालांकि, एक कारोबारी माहौल में, यह सबसे अधिक संभावना नहीं है, इसलिए उपकरण अधिकांश सिस्टम प्रशासकों के लिए उपलब्ध नहीं होगा। यदि आपको इसका उपयोग करने का मौका मिलता है, तो यह मूल क्लोन टूल में वास्तव में कुछ आसान सुधार प्रदान करता है। मूल दस्तावेज का हवाला देते हुए:

Virt-sysprep वर्चुअल मशीन को रीसेट या अनकॉन्फ़िगर करता है ताकि इससे क्लोन बनाए जा सकें। इस प्रक्रिया के चरणों में SSH होस्ट कुंजियों को हटाना, लगातार नेटवर्क MAC कॉन्फ़िगरेशन को हटाना और उपयोगकर्ता खातों को हटाना शामिल है। आवश्यकतानुसार प्रत्येक चरण को सक्षम या अक्षम किया जा सकता है। पुण्य-sysprep जगह में अतिथि या डिस्क छवि को संशोधित करता है। अतिथि बंद होना चाहिए। यदि आप अतिथि की मौजूदा सामग्री को सुरक्षित रखना चाहते हैं, तो आपको पहले डिस्क को कॉपी या क्लोन करना होगा।

हम इस उपयोगी टूल के बारे में दूसरे ट्यूटोरियल में अलग से चर्चा करेंगे।

और पढ़ना

केवीएम के मजे के बारे में अधिक जानकारी के लिए:

केवीएम + वर्चुअलबॉक्स सद्भाव में रहते हैं

KVM ब्रिज्ड नेटवर्क ट्यूटोरियल

केवीएम स्टोरेज और नेटवर्क एडमिनिस्ट्रेशन

और यहां ESXi मशीनों को क्लोन करने का तरीका बताया गया है - अवधारणा में समान

वर्चुअल मशीन डिस्क इमेज टूल्स का एक और बांका संसाधन - libguestfs

निष्कर्ष

यह एक बहुत ही सरल और सुरुचिपूर्ण ट्यूटोरियल है। मुझे लगता है कि आप इसे बेहद उपयोगी पाएंगे क्योंकि यह अन्य टूल्स के साथ अधिकतर मैन्युअल क्लोनिंग प्रक्रियाओं को पूरा करता है। आपको कमांड का एक सेट मिलता है जिसे आप आसानी से एक BASH स्क्रिप्ट में रख सकते हैं, और फिर बॉब आपके चाचा हैं।

अधिक गंभीर नोट पर, आपने KVM कॉन्फ़िगरेशन और फ़ाइल स्थानों के बारे में थोड़ा और सीखा, पुण्य-क्लोन का एक बहुत ही अल्पविकसित उपयोग, वर्चुअल मशीन डिस्क को कैसे माउंट करें और नेटवर्क और होस्ट कॉन्फ़िगरेशन सहित partx का उपयोग करके प्रासंगिक विभाजनों में डेटा संपादित करें, और अपने वर्चुअल डोमेन को अद्वितीय फ़ील्ड कैसे असाइन करें। और वहाँ libguestfs भी है। साथ ही कुछ अन्य अत्यधिक उपयोगी मार्गदर्शिकाएँ। सब सब में, पाँच मिनट के काम के लिए बुरा नहीं है।

अंत में, virt-sysprep क्लोनिंग को इतना आसान बना देता है, हालांकि, मैन्युअल विधि, जबकि थोड़ी अधिक जटिल है, फुलप्रूफ है। आप इसका उपयोग करके कुछ भी कर सकते हैं, और आप कमांड-लाइन स्विच और विकल्पों के मौजूदा सबसेट तक सीमित नहीं हैं। यह हमेशा काम करेगा, और यह हमेशा पूरी तरह से स्क्रिप्टेड हो सकता है। उत्कृष्ट।

अच्छा, मुझे लगता है कि यह सब होगा।

प्रोत्साहित करना।

  1. VMware सर्वर में वर्चुअल मशीन का क्लोन कैसे बनाएं

    यदि आप वर्चुअलाइजेशन के प्रशंसक हैं, तो देर-सवेर आप VMware सर्वर से परिचित होंगे। सर्वर एक नि:शुल्क समाधान है जो आपको अपने मौजूदा डेस्कटॉप के शीर्ष पर विभिन्न ऑपरेटिंग सिस्टम के कई उदाहरण चलाने की अनुमति देता है, जिससे आपके सामने दक्षता, उत्पादकता, प्रतिरूपकता, परीक्षण और ट्वीकिंग की दुनिया खुल जाती

  1. आभासी मशीनों में 3D त्वरण - भाग 2:VirtualBox और OpenGL - ट्यूटोरियल

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

  1. आभासी मशीनों में 3D त्वरण - भाग 1:VMware और DirectX - ट्यूटोरियल

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