এই নিবন্ধটি PowerShell কনসোল থেকে হাইপার-ভি ভার্চুয়াল মেশিন পরিচালনা সম্পর্কে। আমরা কীভাবে ভার্চুয়াল সুইচ এবং ভার্চুয়াল মেশিন তৈরি করব, ভিএম সেটিংস পরিবর্তন করব এবং ভিএম পরিচালনা করব তা দেখব। আপনি আপনার Hyper-V VM ম্যানুয়ালি পরিচালনা করতে বা আপনার PowerShell স্ক্রিপ্টে বিভিন্ন কাজ স্বয়ংক্রিয় করতে এই কমান্ডগুলি ব্যবহার করতে পারেন।
উইন্ডোজ সার্ভার এবং উইন্ডোজ 10/11 এ হাইপার-ভি রোল কিভাবে সক্ষম করবেন
Hyper-V ভূমিকা ইনস্টল করার জন্য, একটি হোস্টের ভার্চুয়ালাইজেশন সমর্থন সহ একটি SLAT- সক্ষম CPU থাকতে হবে। উইন্ডোজ সার্ভারে, হাইপার-ভি ভূমিকা ইনস্টল করতে নিম্নলিখিত পাওয়ারশেল কমান্ড ব্যবহার করা হয়:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
ডেস্কটপ সংস্করণে (উইন্ডোজ 10 এবং 11), হাইপার-ভি ভূমিকা নিম্নরূপ ইনস্টল করা হয়:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
একটি Hyper-V হোস্ট পরিচালনা করতে, Hyper-V PowerShell মডিউল কম্পিউটারে ইনস্টল করা আবশ্যক। আপনি উপলব্ধ কমান্ডগুলির একটি সম্পূর্ণ তালিকা প্রদর্শন করতে পারেন (সেগুলি আপনার উইন্ডোজ সংস্করণের উপর নির্ভর করে) নিম্নরূপ:
Get-Command -Module hyper-v
উইন্ডোজ সার্ভার 2022-এ, হাইপার-ভি মডিউলে 245টি cmdlet পাওয়া যায়।
হাইপার-ভি হোস্ট সেটিংসের একটি তালিকা প্রদর্শন করতে, নীচের কমান্ডটি ব্যবহার করুন:
Get-VMHost|fl *
উপলব্ধ CPU কোর এবং RAM এর সংখ্যা সম্পর্কে শুধুমাত্র তথ্য দেখানোর জন্য:
Get-VMHost| select LogicalProcessorCount, MemoryCapacity
নির্বাচন করুন
Set-VMHost
ব্যবহার করুন হাইপার-ভি হোস্ট সেটিংস পরিবর্তন করতে। নিম্নলিখিত কমান্ডটি ভার্চুয়াল ডিস্ক এবং VM কনফিগারেশন ফাইলগুলিতে ডিফল্ট পাথগুলি পরিবর্তন করবে:
Set-VMHost -VirtualMachinePath E:\VMs -VirtualHardDiskPath E:\VMs\VHD'
PowerShell দিয়ে একটি হাইপার-ভি ভার্চুয়াল সুইচ তৈরি করুন
প্রথমত, আপনার হাইপার-ভি হোস্টে একটি ভার্চুয়াল সুইচ তৈরি করুন। ভার্চুয়াল মেশিন শুধুমাত্র ভার্চুয়াল সুইচের মাধ্যমে নেটওয়ার্ক অ্যাক্সেস করতে পারে।
আসুন হাইপার-ভি হোস্টে উপলব্ধ শারীরিক নেটওয়ার্ক অ্যাডাপ্টারের একটি তালিকা প্রদর্শন করি:
Get-NetAdapter | where {$_.status -eq "up"}
একটি বাহ্যিক ভার্চুয়াল সুইচ তৈরি করুন:
New-VMSwitch -Name "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType External
পাওয়ারশেল ব্যবহার করে একটি হাইপার-ভি ভার্চুয়াল মেশিন তৈরি করুন
একটি নতুন হাইপার-ভি ভার্চুয়াল মেশিন তৈরি করতে, New-VM
cmdlet ব্যবহার করা হয়। এই উদাহরণে, আমরা 1GB RAM এবং 10GB 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
হাইপার-ভিতে একটি উইন্ডোজ 11 ভার্চুয়াল মেশিন তৈরি করতে পাওয়ারশেল ব্যবহার করার একটি উদাহরণ এখানে রয়েছে।
আসুন VM সেটিংস পরিবর্তন করতে আপনি যে কমান্ডগুলি ব্যবহার করতে পারেন তা দেখুন।
একটি VM-এর জন্য RAM আকার বাড়াতে:
Get-VM -Name mun-prx2| Set-VMMemory -StartupBytes 2Gb
vCPU এর সংখ্যা পরিবর্তন করতে:
Set-VMProcessor mun-prx2 -Count 2
একটি হাইপার-ভি ভার্চুয়াল মেশিনের জন্য স্বয়ংক্রিয় স্টার্টআপ সক্ষম করুন:
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'
পাওয়ারশেল দিয়ে হাইপার-ভি ভিএম কীভাবে পরিচালনা করবেন?
হাইপার-ভি হোস্টে ভার্চুয়াল মেশিনের একটি তালিকা প্রদর্শন করতে:
Get-VM
কমান্ড কিছু মৌলিক বৈশিষ্ট্য সহ VM-এর তালিকা প্রদান করে। সমস্ত VM বৈশিষ্ট্য প্রদর্শন করতে, নীচের কমান্ডটি চালান:
Get-VM -Name mun-dmz1 | fl *
শুধুমাত্র চলমান VM দেখানোর জন্য:
Get-VM | where {$_.State -eq 'Running'}
একটি ভার্চুয়াল মেশিন শুরু করতে:
Start-VM -Name mun-app01
সব বন্ধ ভার্চুয়াল মেশিন চালু করতে:
Get-VM | where {$_.State -eq 'Off'} | Start-VM
VM বন্ধ করুন (অতিথি ওএসে ইন্টিগ্রেশন পরিষেবা ব্যবহার করে সঠিক শাটডাউন):
Stop-VM -Name mun-app01
VM বন্ধ করতে, টার্নঅফ করুন বিকল্প ব্যবহার করা হয়:
Stop-VM -Name mun-app01 –TurnOff
একটি ভার্চুয়াল সিডি/ডিভিডি ডিভাইসে ISO ফাইল মাউন্ট করুন:
Set-VMDvdDrive -VMName mun-app01 -Path c:\iso\WinSrv2022.iso
সমস্ত 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
চেকপয়েন্ট থেকে ভিএমকে আগের অবস্থায় ফিরিয়ে আনতে:
Restore-VMCheckpoint -Name "Before upgrading SAP" -VMName mun-app01 -Confirm:$false
একটি স্ন্যাপশট সরাতে:
Remove-VMCheckpoint -VMName mun-app01 -Name "Before upgrading SAP"
হাইপার-ভিতে একটি VM রপ্তানি, আমদানি এবং ক্লোনিং এই নিবন্ধে বর্ণনা করা হয়েছে:
Export-VM -Name mun-app01 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentState
ভার্চুয়াল মেশিনের গেস্ট ওএসের আইপি ঠিকানা পেতে:
Get-VM | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status
নির্বাচন করুন
একটি ভার্চুয়াল মেশিন কনসোলে সংযোগ করতে:
vmconnect.exe localhost mun-app01
আপনি vmbus (Windows Server 2016, Windows 10, এবং পরবর্তীতে উপলব্ধ) মাধ্যমে ভার্চুয়াল মেশিনের গেস্ট OS-এর সাথে সরাসরি সংযোগ করতে PowerShell Direct ব্যবহার করতে পারেন। ইনভোক-কমান্ড ব্যবহার করুন (স্ক্রিপ্ট চালানোর জন্য) এবং এন্টার-PSSession (একটি ইন্টারেক্টিভ পাওয়ারশেল সেশন চালানোর জন্য):
Invoke-Command -VMName mun-app01 -ScriptBlock {Get-Process}
Enter-PSSession -VMName mun-app01
PowerShell ডাইরেক্ট ব্যবহার করে একটি হাইপার-ভি হোস্ট থেকে একটি ভার্চুয়াল মেশিনে ফাইল কপি করতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
$PSSession = New-PSSession -VMName mun-app01 -Credential (Get-Credential)
Copy-Item -ToSession $PSSession -Path E:\ISO\install_image.iso -Destination D:\ISO\
আপনি হাইপার-ভি হোস্টে ভার্চুয়াল মেশিনগুলিকে স্থানীয়ভাবে বা দূরবর্তীভাবে (উইন্ডোজ সার্ভার ফুল জিইউআই বা সার্ভার কোর মোডে, ফ্রি উইন্ডোজ হাইপার-ভি সার্ভারে, বা উইন্ডোজ 10) গ্রাফিকাল টুলগুলির সাথে হাইপার-ভি ম্যানেজার বা উইন্ডোজ অ্যাডমিন সেন্টার।