प्रत्येक नए ESXi रिलीज़ में, VMware वर्चुअल मशीन और वर्चुअल हार्डवेयर के संस्करण को अपडेट करता है। VMware VMs के नए संस्करणों में, नई कार्यक्षमता दिखाई देती है, नए वर्चुअल डिवाइस जोड़े जाते हैं, संसाधन सीमा बढ़ाई जाती है (PCI स्लॉट, RAM, vCPU), बग्स को ठीक किया जाता है, आदि। इसलिए जब एक नए ESXi संस्करण में माइग्रेट किया जाता है, तो इसे अपग्रेड करना वांछनीय है। सभी वर्चुअल मशीनों पर वर्चुअल हार्डवेयर संस्करण। केवल संगतता उद्देश्यों के लिए पुराने VM संस्करणों का उपयोग करना बेहतर है। इस लेख में, हम देखेंगे कि VMWare ESXi होस्ट पर चलने वाले VM के वर्चुअल हार्डवेयर संस्करण को कैसे अपग्रेड किया जाए।
ESXi और VM हार्डवेयर संस्करणों की संगतता नीचे दी गई तालिका में दिखाई गई है।
हाइपरवाइजर वर्जन | VM संस्करण |
ESX/ESXi 4.X | 7 |
ESXi 5.0 | 8 |
ESXi 5.1 | 9 |
ESXi 5.5 | 10 |
ESXi 6.0 | 11 |
ESXi 6.5 | 13 |
ESXi 6.7 | 14 |
ESXi 6.7 U2 | 15 |
ESXi 7.0 (7.0.0) | 17 |
ESXi 7.0 U1 (7.0.1) | 18 |
ESXi 7.0 U2 (7.0.2) | 19 |
आप सारांश . पर वर्तमान वर्चुअल मशीन (वर्चुअल हार्डवेयर) संस्करण की जांच कर सकते हैं संगतता . में वर्चुअल मशीन का टैब अनुभाग। नीचे दिया गया स्क्रीनशॉट दिखाता है कि VM संस्करण 18 (ESXI 7.0 U1 and later
.) ) का उपयोग किया जाता है।
VMware वर्चुअल हार्डवेयर संस्करण को अपडेट करने की अनुशंसा नहीं करता है जब तक कि आपको नए hw द्वारा प्रदान की गई नई सुविधाओं की आवश्यकता न हो।
आप ESXi होस्ट पर VM नहीं चला पाएंगे जो VM हार्डवेयर के नए संस्करण का समर्थन नहीं करता है। ऐसे VM को ESXi के पुराने संस्करण के साथ VMotion का उपयोग करके किसी होस्ट में माइग्रेट करने का प्रयास करते समय, एक त्रुटि दिखाई देगी:
वर्चुअल मशीन संस्करण होस्ट munexi1 के संस्करण के साथ संगत नहीं है।
VM संस्करण को अपग्रेड करने से पहले, इसकी अनुशंसा की जाती है:
- VM स्नैपशॉट बनाएं
- VMware टूल अपडेट करें। यदि आप नवीनतम VMware उपकरण संस्करण को स्थापित करने से पहले VM हार्डवेयर को अपग्रेड करते हैं, तो नेटवर्क सेटिंग्स को Windows अतिथि वर्चुअल मशीन में रीसेट किया जा सकता है।
वर्चुअल हार्डवेयर संस्करण को अपग्रेड करने के लिए, वर्चुअल मशीन को बंद करना होगा। उसके बाद VM पर राइट-क्लिक करें और संगतता -> . चुनें VM संगतता अपग्रेड करें ।
वर्चुअल हार्डवेयर अपडेट की पुष्टि करें और VM हार्डवेयर संस्करण का चयन करें। इस उदाहरण में, मैंने नवीनतम ESXi 7.0 U1 और बाद के संस्करण . का चयन किया है मेरे होस्ट पर उपलब्ध है।
अगली बार VM के शान से पुनरारंभ होने पर आप वर्चुअल मशीन हार्डवेयर संस्करण के स्वचालित अपग्रेड को शेड्यूल कर सकते हैं।
- संगतता चुनें -> VM संगतता अपग्रेड शेड्यूल करें VM संदर्भ मेनू में;
- इसके साथ संगत . से ड्रॉप-डाउन सूची में, VM हार्डवेयर संस्करण का वह संस्करण चुनें जिसे आप अपग्रेड करना चाहते हैं;
- विकल्प को सक्षम करें सामान्य अतिथि OS बंद होने के बाद ही अपग्रेड करें;
- अगली बार वर्चुअल मशीन के रीबूट होने पर वर्चुअल मशीन का वर्चुअल हार्डवेयर संस्करण अपडेट किया जाएगा।
आप VMware PowerCLI मॉड्यूल से PowerShell cmdlets का उपयोग करके VM हार्डवेयर संस्करण को भी अपडेट कर सकते हैं। अपने vCenter या ESXi होस्ट से कनेक्ट करें:
Connect-VIServer esxi_hostname
अपनी वर्चुअल मशीनों के वर्चुअल हार्डवेयर संस्करणों की सूची बनाएं:
Get-VM | select Name, hardwareversion, PowerState
VMware ESXi के नए संस्करणों में, हार्डवेयर संस्करण VM के संस्करण . के बजाय उपयोग किया जाना चाहिए गुण। पुराने विशेषता नाम का उपयोग करते समय एक चेतावनी दिखाई देती है: <पूर्व>चेतावनी:VirtualMachine प्रकार की 'संस्करण' संपत्ति बहिष्कृत है। इसके बजाय 'हार्डवेयर वर्जन' प्रॉपर्टी का इस्तेमाल करें।
PoweShell का उपयोग करके VM हार्डवेयर संस्करण को अपडेट करने के लिए, कमांड चलाएँ:
Set-VM -VM lon-fs03 -HardwareVersion vmx-19 -Confirm:$false
यदि निर्दिष्ट VM हार्डवेयर संस्करण ESXi होस्ट द्वारा समर्थित नहीं है, तो एक त्रुटि दिखाई देगी:
इकाई mytestVM1 के लिए ऑपरेशन निम्न संदेश के साथ विफल रहा:ऑपरेशन ऑब्जेक्ट पर समर्थित नहीं है।
आप उन वीएम को सूचीबद्ध कर सकते हैं जिन्हें आउट-ग्रिड व्यू cmdlet का उपयोग करके अपग्रेड करने की आवश्यकता है:
Get-VM |Where-object {$_.powerstate -eq "poweredoff"} | Out-GridView -PassThru | Set-VM -HardwareVersion vmx-19 -Confirm:$false
आपको एक ग्राफिक तालिका दिखाई देगी जिसमें आपको उन VMs का चयन करना होगा जिन्हें आप अपग्रेड करना चाहते हैं (CTRL का उपयोग करें) एकाधिक VMs का चयन करने के लिए कुंजी)।
आप एक साधारण पावरशेल स्क्रिप्ट के साथ होस्ट पर सभी वीएम पर स्वचालित हार्डवेयर अपग्रेड शेड्यूल कर सकते हैं:
$AllVMs = Get-VM
Foreach ($VM in ($AllVMs)) {
$VMConfig = Get-View -VIObject $VM.Name
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.ScheduledHardwareUpgradeInfo = New-Object -TypeName VMware.Vim.ScheduledHardwareUpgradeInfo
$vmConfigSpec.ScheduledHardwareUpgradeInfo.UpgradePolicy = “always”
$vmConfigSpec.ScheduledHardwareUpgradeInfo.VersionKey = “vmx-19”
$VMConfig.ReconfigVM($vmConfigSpec)
}
अगले रीबूट पर सभी वर्चुअल मशीन स्वचालित रूप से निर्दिष्ट VM हार्डवेयर संस्करण में अपग्रेड हो जाएंगी।
कॉर्पोरेट नेटवर्क में VM हार्डवेयर और VM टूल के केंद्रीकृत उन्नयन के लिए, vSphere 7+ में vCenter अपडेट मैनेजर या vSphere लाइफसाइकल मैनेजर (VLCM) का उपयोग करना बेहतर है।यदि आप एक मुफ्त ESXi संस्करण (VMware vSphere Hypervisor) का उपयोग कर रहे हैं, तो आप API प्रतिबंधों के कारण PowerCLI के माध्यम से VM हार्डवेयर संस्करण में सक्षम नहीं होंगे। लेकिन आप vim-cmd . का उपयोग कर सकते हैं ESXi शेल में कमांड:
सर्वर पर VMs की सूची प्राप्त करें:
vim-cmd vmsvc/getallvms
VM का VMID ढूंढें जिसे आप अपग्रेड करना चाहते हैं और इसे निम्न कमांड में निर्दिष्ट करें:
vim-cmd vmsvc/upgrade vmid vmx-17
VM प्रारंभ करें और सुनिश्चित करें कि इसे VM संस्करण 17 में अपग्रेड किया गया है।
VM कॉन्फ़िगरेशन फ़ाइल (VMX) को सीधे संपादित करके VM हार्डवेयर संस्करण को अपडेट करने का एक और, असमर्थित संस्करण भी है।
SSH के माध्यम से ESXi होस्ट से कनेक्ट करें और VM के साथ निर्देशिका में जाएं:
cd /vmfs/volumes/datastore_name/test_vm
test_vm.vmx फ़ाइल संपादित करें:
vi myvm.vmx
कॉन्फिग लाइन ढूंढें:
वर्चुअलHW.version ="12"
और इसमें बदलें:
वर्चुअलHW.version ="17"
VMX फ़ाइल को सहेजें और बंद करें ( Esc
, :
, w
, q
)।