यह लेख पावरशेल कंसोल से Hyper-V वर्चुअल मशीनों के प्रबंधन के बारे में है। हम देखेंगे कि वर्चुअल स्विच और वर्चुअल मशीन कैसे बनाएं, VM सेटिंग्स बदलें, और VMs को प्रबंधित करें। आप इन कमांड्स का उपयोग अपने Hyper-V VMs को मैन्युअल रूप से प्रबंधित करने के लिए या अपने पावरशेल स्क्रिप्ट्स में विभिन्न कार्यों को स्वचालित करने के लिए कर सकते हैं।
विंडोज सर्वर और विंडोज 10/11 पर Hyper-V भूमिका कैसे सक्षम करें
Hyper-V भूमिका इंस्टॉल करने के लिए, होस्ट में वर्चुअलाइजेशन सपोर्ट के साथ SLAT-सक्षम CPU होना चाहिए। विंडोज सर्वर पर, Hyper-V भूमिका इंस्टॉल करने के लिए निम्न पावरशेल कमांड का उपयोग किया जाता है:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
डेस्कटॉप संस्करणों (विंडोज 10 और 11) में, Hyper-V भूमिका निम्न प्रकार से इंस्टॉल की जाती है:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
Hyper-V होस्ट को प्रबंधित करने के लिए, कंप्यूटर पर Hyper-V पावरशेल मॉड्यूल इंस्टॉल होना चाहिए। आप उपलब्ध कमांड्स की पूरी सूची प्रदर्शित कर सकते हैं (वे आपके विंडोज संस्करण पर निर्भर करते हैं) इस प्रकार:
Get-Command -Module hyper-v
विंडोज सर्वर 2022 में, Hyper-V मॉड्यूल में 245 cmdlets उपलब्ध हैं।
Hyper-V होस्ट सेटिंग्स की सूची प्रदर्शित करने के लिए, नीचे दी गई कमांड का उपयोग करें:
Get-VMHost|fl *
केवल उपलब्ध CPU कोर और RAM के बारे में जानकारी दिखाने के लिए:
Get-VMHost| select LogicalProcessorCount, MemoryCapacity
Hyper-V होस्ट सेटिंग्स बदलने के लिए Set-VMHost का उपयोग करें। निम्न कमांड वर्चुअल डिस्क और VM कॉन्फ़िगरेशन फ़ाइलों के डिफ़ॉल्ट पथ को बदल देगी:
Set-VMHost -VirtualMachinePath E:\VMs -VirtualHardDiskPath E:\VMs\VHD'
पावरशेल के साथ Hyper-V वर्चुअल स्विच बनाना
सबसे पहले, अपने Hyper-V होस्ट पर एक वर्चुअल स्विच बनाएं। वर्चुअल मशीनें केवल वर्चुअल स्विच के माध्यम से नेटवर्क तक पहुंच सकती हैं।
आइए Hyper-V होस्ट पर उपलब्ध भौतिक नेटवर्क एडाप्टर्स की सूची प्रदर्शित करें:
Get-NetAdapter | where {$_.status -eq "up"}
यदि आपका सर्वर SR-IOV (सिंगल-रूट इनपुट/आउटपुट (I/O) वर्चुअलाइजेशन) का समर्थन करता है, तो ध्यान दें कि आपको अपना स्विच बनाते समय विकल्प को सक्षम करना चाहिए। आप मौजूदा vSwitch के लिए SR-IOV सक्षम नहीं कर सकते। Hyper-V VMs के लिए SR-IOV समर्थन सक्षम करने के बारे में और जानें।
एक एक्सटर्नल वर्चुअल स्विच बनाएं:
New-VMSwitch -Name "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType External
पावरशेल का उपयोग करके Hyper-V वर्चुअल मशीन बनाना
एक नई Hyper-V वर्चुअल मशीन बनाने के लिए, New-VM cmdlet का उपयोग किया जाता है। इस उदाहरण में, हम 1GB RAM और 10 GB VHDX डिस्क के साथ एक नई जेनरेशन 2 VM बनाएंगे।
$VMName = "mun-prx2"
$VM = @{
Name = $VMName
MemoryStartupBytes = 1Gb
Generation = 2
NewVHDPath = "E:\HV\$VMName\$VMName.vhdx"
NewVHDSizeBytes = 10Gb
BootDevice = "VHD"
Path = "E:\HV\$VMName"
SwitchName = "ExternalVMSwitch"
}
New-VM @VM
यहां पावरशेल का उपयोग करके Hyper-V पर विंडोज 11 वर्चुअल मशीन बनाने का एक उदाहरण है।
आइए उन कमांड्स को देखें जिनका उपयोग आप VM सेटिंग्स बदलने के लिए कर सकते हैं।
VM के लिए RAM आकार बढ़ाने के लिए:
Get-VM -Name mun-prx2| Set-VMMemory -StartupBytes 2Gb
vCPUs की संख्या बदलने के लिए:
Set-VMProcessor mun-prx2 -Count 2
Hyper-V वर्चुअल मशीन के लिए स्वचालित स्टार्टअप सक्षम करें:
Get-VM –VMname mun-prx2 | Set-VM –AutomaticStartAction Start
VM में एक अतिरिक्त वर्चुअल डिस्क कनेक्ट करने के लिए, पहले vhdx फ़ाइल बनाएं:
New-VHD -Path 'C:\VM\new-prx2-drive.vhdx' -SizeBytes 2GB
और फिर इसे अपने VM से कनेक्ट करें:
Add-VMHardDiskDrive -VMName mun-prx2 -Path 'C:\VM\new-prx2-drive.vhdx'
पावरशेल के साथ Hyper-V VMs को कैसे प्रबंधित करें?
Hyper-V होस्ट पर वर्चुअल मशीनों की सूची प्रदर्शित करने के लिए:
Get-VM
कमांड कुछ बुनियादी गुणों के साथ VMs की सूची लौटाती है। सभी VM गुण प्रदर्शित करने के लिए, नीचे दी गई कमांड चलाएं:
Get-VM -Name mun-dmz1 | fl *
केवल चल रही VMs दिखाने के लिए:
Get-VM | where {$_.State -eq 'Running'}
वर्चुअल मशीन शुरू करने के लिए:
Start-VM -Name mun-app01
सभी रुकी हुई वर्चुअल मशीनों को शुरू करने के लिए:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
VM को बंद करें (गेस्ट OS में इंटीग्रेशन सर्विसेज का उपयोग करके सही शटडाउन):
Stop-VM -Name mun-app01
VM को पावर ऑफ करने के लिए, TurnOff विकल्प का उपयोग किया जाता है:
Stop-VM -Name mun-app01 –TurnOff
अनुत्तरदायी Hyper-V VM को रोकना सीखें।
वर्चुअल CD/DVD डिवाइस पर ISO फ़ाइल माउंट करें:
Set-VMDvdDrive -VMName mun-app01 -Path c:\iso\WinSrv2022.iso
आप USB पासथ्रू का उपयोग करके USB डिवाइस (मीडिया/ड्राइव) को Hyper-V VM पर रीडायरेक्ट कर सकते हैं।
सभी VM फ़ाइलों को ऑन-द-फ्लाई किसी अन्य डिस्क पर ले जाने के लिए, नीचे दी गई कमांड का उपयोग करें:
Move-VMStorage mun-app01 -DestinationStoragePath D:\VM\mun-app01
आप Resize-VHD cmdlet का उपयोग करके वर्चुअल डिस्क फ़ाइल को बढ़ा या घटा सकते हैं:
Resize-VHD -Path 'C:\VM\mun-fs01.vhdx' -SizeBytes 50Gb
VM का चेकपॉइंट (स्नैपशॉट) बनाने के लिए:
Get-VM -Name mun-app01| Checkpoint-VM -SnapshotName "Before upgrading SAP"
उपलब्ध चेकपॉइंट्स की सूची प्रदर्शित करने के लिए:
Get-Vm -Name mun-app01| Get-VMCheckpoint
चेकपॉइंट से VM को उसकी पिछली स्थिति में पुनर्स्थापित करने के लिए:
Restore-VMCheckpoint -Name "Before upgrading SAP" -VMName mun-app01 -Confirm:$false
स्नैपशॉट हटाने के लिए:
Remove-VMCheckpoint -VMName mun-app01 -Name "Before upgrading SAP"
Hyper-V में VM को एक्सपोर्ट, इम्पोर्ट, और क्लोन करना इस लेख में वर्णित है:
Export-VM -Name mun-app01 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentState
आप बिल्ट-इन विंडोज सर्वर बैकअप (WSB) का उपयोग करके Hyper-V वर्चुअल मशीनों का बैकअप ले सकते हैं।
वर्चुअल मशीनों के गेस्ट OS के IP पते प्राप्त करने के लिए:
Get-VM | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status
वर्चुअल मशीन कंसोल से कनेक्ट करने के लिए:
vmconnect.exe localhost mun-app01
आप पावरशेल डायरेक्ट का उपयोग करके वर्चुअल मशीनों के गेस्ट OSs से सीधे vmbus के माध्यम से कनेक्ट कर सकते हैं (विंडोज सर्वर 2016, विंडोज 10, और नए में उपलब्ध)। स्क्रिप्ट चलाने के लिए Invoke-Command और इंटरैक्टिव पावरशेल सत्र के लिए Enter-PSSession का उपयोग करें:
Invoke-Command -VMName mun-app01 -ScriptBlock {Get-Process}
Enter-PSSession -VMName mun-app01
पावरशेल डायरेक्ट का उपयोग करके Hyper-V होस्ट से वर्चुअल मशीन में फ़ाइलें कॉपी करने के लिए, निम्न कमांड का उपयोग करें:
$PSSession = New-PSSession -VMName mun-app01 -Credential (Get-Credential)
Copy-Item -ToSession $PSSession -Path E:\ISO\install_image.iso -Destination D:\ISO\
आप पावरशेल का उपयोग करके Hyper-V होस्ट्स पर वर्चुअल मशीनों को स्थानीय या रिमोट रूप से प्रबंधित कर सकते हैं (विंडोज सर्वर फुल GUI या सर्वर कोर मोड पर, फ्री विंडोज Hyper-V सर्वर पर, या विंडोज 10 पर) ग्राफिकल टूल्स जैसे Hyper-V मैनेजर या विंडोज एडमिन सेंटर के साथ।