इस लेख में हम दिखाएंगे कि VMWare ESXi पर चलने वाली वर्चुअल मशीन की वर्चुअल डिस्क (vmdk) फ़ाइल के आकार को कैसे कम किया जाए। VMWare वर्चुअल मशीन की डिस्क का विस्तार करने के विपरीत, आप वर्चुअल मशीन को बंद किए बिना ऑन-द-फ्लाई कर सकते हैं, VMWare ESXi हाइपरवाइजर पर vmdk फ़ाइल के आकार को कम करना अधिक जटिल है, और आप इसे vSphere के माध्यम से नहीं कर सकते हैं। वेब क्लाइंट ग्राफिकल इंटरफ़ेस। vSphere क्लाइंट आपको एक छोटा वर्चुअल डिस्क आकार निर्दिष्ट करने की अनुमति नहीं देता है।
महत्वपूर्ण . यह मार्गदर्शिका आधिकारिक रूप से समर्थित समाधान नहीं है कि VMWare में vmdk डिस्क के आकार को कैसे कम किया जाए। हालाँकि, मैंने इस पद्धति का दर्जनों बार उपयोग किया। इस आलेख में VMWare ESXi 6.7 का उपयोग किया गया है।
वर्चुअल डिस्क के आकार को कम करने से पहले, अपने VMWare ESXi होस्ट पर निम्न कार्य करें:
- वर्चुअल मशीन के सभी स्नैपशॉट हटाएं (अन्यथा, आप वर्चुअल डिस्क को नुकसान पहुंचा सकते हैं);
- वर्चुअल मशीन का पूर्ण बैकअप बनाएँ, या vmdk और फ़्लैट फ़ाइलों की एक प्रति बनाएँ, जिन्हें आप सिकोड़ना चाहते हैं। इन आदेशों का प्रयोग करें:
cp vmname.vmdk backup_vmname.vmdk
cp vmname-flat.vmdk backup_vmname-flat.vmdk
वर्चुअल डिस्क आकार को कम करने की प्रक्रिया में दो चरण होते हैं:
- अतिथि OS के अंदर विभाजन को सिकोड़ें;
- VMFS (NFS) डेटास्टोर पर VMWare वर्चुअल मशीन की VMDK फ़ाइल का आकार कम करें।
गेस्ट OS में पार्टिशन साइज़ को कैसे सिकोड़ें?
सबसे पहले, अतिथि ऑपरेटिंग सिस्टम में डिस्क विभाजन के आकार को कम करें। यदि आपकी वर्चुअल मशीन विंडोज ओएस चला रही है, तो डिस्क मैनेजर diskmgmt.msc
. का उपयोग करें (वॉल्यूम सिकोड़ें संचालन सभी समर्थित विंडोज संस्करणों में उपलब्ध है; sdelete
विभाजन के आकार को कम करने के लिए पुराने विंडोज संस्करणों में टूल का उपयोग किया जाता है) या तीसरे पक्ष के उपकरण (जैसे Acronis डिस्क निदेशक)। यदि आप ऐसा नहीं करते हैं, तो उसके बाद वर्चुअल डिस्क का आकार छोटा करने के बाद आपका फ़ाइल सिस्टम क्रैश हो सकता है।
मान लीजिए, आप डिस्क का आकार 40 जीबी कम करना चाहते हैं। तो वॉल्यूम का आकार 40960 एमबी (40 GB x 1024
.) कम किया जाना चाहिए ) वॉल्यूम सिकोड़ें . के संगत फ़ील्ड में यह मान दर्ज करें जादूगर। विभाजन के आकार को कम करने के बाद, कुछ अनआवंटित होगा स्पेस (हमारे उदाहरण में 40 जीबी) आपके विभाजन के दाईं ओर।
ध्यान दें कि OEM या Windows पुनर्प्राप्ति विभाजन कभी-कभी डिस्क को विस्तारित या कम करने से रोक सकता है।
Linux में, आप parted का उपयोग करके विभाजन आकार को कम कर सकते हैं। यदि LVM लॉजिकल वॉल्यूम का उपयोग किया जाता है, तो परिदृश्य भिन्न होता है।
VMWare वर्चुअल मशीन की VMDK फ़ाइल का आकार कम करें
फिर VMWare VMFS फ़ाइल सिस्टम पर VMDK फ़ाइल का आकार कम करें।
- उस वर्चुअल मशीन को शट डाउन करें जिसे आप डिस्क का आकार कम करना चाहते हैं;
- SSH का उपयोग करके, ESXi होस्ट के कंसोल से कनेक्ट करें जिस पर VM पंजीकृत है (आप पुट्टी या अंतर्निहित Windows SSH क्लाइंट का उपयोग कर सकते हैं);
- आपके VM की VMDK फ़ाइल जिस निर्देशिका में स्थित है उस पर जाएँ (आप vSphere क्लाइंट के वर्चुअल डिस्क गुणों में इसके लिए एक पथ प्राप्त कर सकते हैं):
cd /vmfs/volumes/datastore/test-VM
- वर्चुअल डिस्क कॉन्फ़िगरेशन फ़ाइल (*.vmdk) की सामग्री को cat का उपयोग करके प्रदर्शित करें कमांड:
# cat test_vm_3.vmdk
vmdk डिस्क का आकार #विस्तार विवरण में दिखाया गया है अनुभाग (आरडब्ल्यू वर्णों के बाद)। इस मामले में, यह 167772160 . है (80 GB *1024*1024*1024 / 512
); - मैं अपनी वीएमडीके डिस्क को 80 से 40 जीबी तक कम करना चाहता हूं। इसका मतलब है कि मुझे 83886080 . निर्दिष्ट करना होगा (
40 GB*1024*1024*1024 / 512
) विस्तार विवरण अनुभाग में। टेक्स्ट एडिटर (vi या नैनो) का उपयोग करके अपनी वर्चुअल डिस्क का नया आकार सेट करें; - मैं vi का उपयोग कर रहा हूं:
# vi test_vm_3.vmdk
- नीचे तीर कुंजी का उपयोग करके, डिस्क आकार वाली लाइन पर जाएं और
i
दबाएं (इसे संपादित करने के लिए)। वर्चुअल डिस्क का नया आकार निर्दिष्ट करें। संपादन मोड से बाहर निकलने के लिए ESC दबाएँ और फिर:wq
. टाइप करें -> परिवर्तनों को सहेजने के लिए दर्ज करें; - फिर वर्चुअल मशीन को किसी अन्य डेटास्टोर में क्लोन या माइग्रेट करें (स्टोरेज vMotion का उपयोग करके)। वर्चुअल मशीन फ़ाइलों को स्थानांतरित करने के बाद, इसकी वर्चुअल डिस्क का नया आकार इसके गुणों में प्रदर्शित होगा। युक्ति . यदि आपके पास केवल एक ESXi होस्ट, एक VMFS डेटास्टोर है, तो आप स्टोरेज vMotion का उपयोग नहीं कर पाएंगे। फिर आप इस कमांड का उपयोग करके vmdk को क्लोन कर सकते हैं:
vmkfstools -i test_vm_3.vmdk test_vm_3_newsize.vmdk
स्रोत VMDK डिस्क निकालें, रीमिंग VMDK डिस्क को फिर से क्लोन करें और उसका मूल निर्दिष्ट करके उसका नाम बदलें नाम:rm test_vm_3.vmdk
rm test_vm_3-flat.vmdk
vmkfstools -i test_vm_3_newsize.vmdk test_vm_3.vmdk - सुनिश्चित करें कि वर्चुअल डिस्क का नया आकार अब VM गुणों में प्रदर्शित होता है।
- फिर VM प्रारंभ करें, अतिथि OS लॉगिन करें और सुनिश्चित करें कि असंबद्ध क्षेत्र गायब हो गया है, और डिस्क का आकार कम कर दिया गया है।
- वर्चुअल मशीन को VMware vCenter Converter का उपयोग करके परिवर्तित करके वर्चुअल डिस्क का आकार कम करना . इसे बदलने के लिए स्रोत एक से छोटा डिस्क आकार निर्दिष्ट करें (हम इसे अगले भाग में दिखाएंगे);
- आप तृतीय-पक्ष सॉफ़्टवेयर (जैसे Acronis True Image या Symantec Ghost32) का उपयोग करके वर्चुअल डिस्क सामग्री को क्लोन कर सकते हैं। यह कार्य वर्चुअल मशीन में एक नई छोटी डिस्क जोड़कर और बड़ी डिस्क की सामग्री को क्लोन करके किया जाता है। तब आप बड़ी डिस्क को हटा सकते हैं।
VMware vCenter कनवर्टर स्टैंडअलोन का उपयोग करके VMDK को सिकोड़ना
VMWare वर्चुअल मशीन के वर्चुअल डिस्क आकार को कम करने का दूसरा तरीका एक मुफ्त GUI टूल VMware vCenter कन्वर्टर स्टैंडअलोन का उपयोग करना है।
विपक्ष:
- V2V रूपांतरण धीमा है;
- नए VM को सहेजने के लिए डेटास्टोर पर पर्याप्त जगह होनी चाहिए;
- नई वर्चुअल मशीन में एक नया मैक पता होगा।
पेशेवरों:
- आपको vCenter या ESXi होस्ट कंसोल खोलने की आवश्यकता नहीं है;
- VM की सटीक कॉपी बनाई जाती है;
- रूपांतरण कार्य सेटिंग में किसी त्रुटि के मामले में स्रोत डिस्क क्षतिग्रस्त नहीं हो सकती।
ESXi होस्ट पता निर्दिष्ट करें।
स्रोत VM चुनें.
अपने नए VM के पैरामीटर सेट करें।
डिस्क संपादन मोड पर जाएं (डेटा कॉपी करने के लिए -> संपादित करें)।
कॉपी मोड चुनें:कॉपी करने के लिए वॉल्यूम चुनें ।
अपने नए VM के लिए नया डिस्क आकार निर्दिष्ट करें। जैसा कि आप देख सकते हैं, अतिथि ओएस में 48 जीबी का कब्जा है, और डिस्क का आकार 150 जीबी है। हम वर्चुअल डिस्क का आकार घटाकर 60 GB कर देंगे।
VM रूपांतरण प्रक्रिया चलाएँ। फिर आप स्रोत VM को बंद कर सकते हैं और नए पर पावर कर सकते हैं। सुनिश्चित करें कि डिस्क का आकार छोटा कर दिया गया है। उसके बाद मूल VM को हटाया जा सकता है।
नोट . माइक्रोसॉफ्ट हाइपर-वी के नवीनतम संस्करणों में, आप वर्चुअल डिस्क को गतिशील रूप से आकार (विस्तार और सिकुड़ने दोनों) के लिए हाइपर-वी ऑनलाइन वीएचडीएक्स रिसाइज टूल का उपयोग कर सकते हैं।