কম্পিউটার টিউটোরিয়াল

পাওয়ারশেল দিয়ে Hyper-V ভার্চুয়াল মেশিন ম্যানেজমেন্ট

এই নিবন্ধ পাওয়ারশেল কনসোল থেকে Hyper-V ভার্চুয়াল মেশিন ম্যানেজ করার সম্পর্কে। আমরা দেখব কীভাবে ভার্চুয়াল সুইচ এবং ভার্চুয়াল মেশিন তৈরি করতে হয়, VM সেটিংস পরিবর্তন করতে হয়, এবং VM ম্যানেজ করতে হয়। আপনি এই কমান্ডগুলো আপনার Hyper-V VM ম্যানুয়ালি ম্যানেজ করতে বা আপনার পাওয়ারশেল স্ক্রিপ্টে çeşitli টাস্ক অটোমেট করতে ব্যবহার করতে পারেন।

উইন্ডোজ সার্ভার এবং উইন্ডোজ ১০/১১-এ Hyper-V ভূমিকা সক্রিয় করা

Hyper-V ভূমিকা ইনস্টল করার জন্য, হোস্টে SLAT-সক্ষম CPU থাকতে হবে ভার্চুয়ালাইজেশন সাপোর্টসহ। উইন্ডোজ সার্ভারে, Hyper-V ভূমিকা ইনস্টল করতে নিচের পাওয়ারশেল কমান্ড ব্যবহার করা হয়:

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

ডেস্কটপ এডিশনে (উইন্ডোজ ১০ এবং ১১), Hyper-V ভূমিকা নিচেরভাবে ইনস্টল করা হয়:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All

Hyper-V হোস্ট ম্যানেজ করার জন্য, কম্পিউটারে Hyper-V PowerShell module ইনস্টল থাকতে হবে। উপলব্ধ কমান্ডের পুরো তালিকা দেখুন (যেগুলো আপনার উইন্ডোজ সংস্করণের উপর নির্ভর করে):

Get-Command -Module hyper-v

পাওয়ারশেল দিয়ে Hyper-V ভার্চুয়াল মেশিন ম্যানেজমেন্ট

উইন্ডোজ সার্ভার ২০২২-এ, Hyper-V মডিউলে ২৪৫টি কমান্ডলেট উপলব্ধ।

Hyper-V হোস্ট সেটিংসের তালিকা দেখতে নিচের কমান্ড ব্যবহার করুন:

Get-VMHost|fl *

শুধু উপলব্ধ CPU কোর এবং RAM সম্পর্কে তথ্য দেখতে:

Get-VMHost| select LogicalProcessorCount, MemoryCapacity

পাওয়ারশেল দিয়ে Hyper-V ভার্চুয়াল মেশিন ম্যানেজমেন্ট

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 (Single-Root Input/Output (I/O) Virtualization) সমর্থন করে, তবে লক্ষ্য করুন যে আপনার সুইচ তৈরি করার সময় অপশনটি সক্রিয় করতে হবে। আপনি বিদ্যমান vSwitch-এ SR-IOV সক্রিয় করতে পারবেন না। Hyper-V VM-এর জন্য SR-IOV সাপোর্ট সক্ষম করার পদ্ধতি সম্পর্কে আরও জানুন।

এক্সটার্নাল ভার্চুয়াল সুইচ তৈরি করুন:

New-VMSwitch -Name "ExternalVMSwitch" -AllowManagementOS $True -NetAdapterName Ethernet0 -SwitchType External

পাওয়ারশেল দিয়ে Hyper-V ভার্চুয়াল মেশিন ম্যানেজমেন্ট

পাওয়ারশেল ব্যবহার করে Hyper-V ভার্চুয়াল মেশিন তৈরি করা

নতুন Hyper-V ভার্চুয়াল মেশিন তৈরি করতে, New-VM কমান্ডলেট ব্যবহার করা হয়। এই উদাহরণে, আমরা ১GB RAM এবং ১০ GB VHDX ডিস্ক সহ একটি নতুন জেনারেশন ২ 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 ভার্চুয়াল মেশিন ম্যানেজমেন্ট

Hyper-V-এ পাওয়ারশেল ব্যবহার করে উইন্ডোজ ১১ ভার্চুয়াল মেশিন তৈরির একটি উদাহরণ এখানে।

VM সেটিংস পরিবর্তন করতে ব্যবহারযোগ্য কমান্ডগুলো দেখুন।

VM-এর RAM সাইজ বাড়াতে:

Get-VM -Name mun-prx2| Set-VMMemory -StartupBytes 2Gb

vCPU সংখ্যা পরিবর্তন করতে:

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 VM ম্যানেজ করা

Hyper-V হোস্টে ভার্চুয়াল মেশিনের তালিকা দেখতে:

Get-VM

পাওয়ারশেল দিয়ে Hyper-V ভার্চুয়াল মেশিন ম্যানেজমেন্ট

কমান্ডটি কিছু বেসিক প্রোপার্টি সহ VM-এর তালিকা রিটার্ন করে। সব VM প্রোপার্টি দেখতে নিচের কমান্ড রান করুন:

Get-VM -Name mun-dmz1 | fl *

শুধু রানিং VMগুলো দেখতে:

Get-VM | where {$_.State -eq 'Running'}

ভার্চুয়াল মেশিন স্টার্ট করতে:

Start-VM -Name mun-app01

সব বন্ধ VM স্টার্ট করতে:

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 কমান্ডলেট ব্যবহার করে ভার্চুয়াল ডিস্ক ফাইল এক্সটেন্ড বা শ্রিংক করতে পারেন:

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

পাওয়ারশেল দিয়ে Hyper-V ভার্চুয়াল মেশিন ম্যানেজমেন্ট

চেকপয়েন্ট থেকে 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

আপনি বিল্ট-ইন Windows Server Backup (WSB) ব্যবহার করে Hyper-V ভার্চুয়াল মেশিন ব্যাকআপ করতে পারেন।

ভার্চুয়াল মেশিনের গেস্ট OS-এর IP ঠিকানা পেতে:

Get-VM | Select -ExpandProperty NetworkAdapters | Select VMName, IPAddresses, Status

ভার্চুয়াল মেশিন কনসোলে কানেক্ট করতে:

vmconnect.exe localhost mun-app01

পাওয়ারশেল দিয়ে Hyper-V ভার্চুয়াল মেশিন ম্যানেজমেন্ট

আপনি PowerShell Direct ব্যবহার করে ভার্চুয়াল মেশিনের গেস্ট OS-এ সরাসরি vmbus-এর মাধ্যমে কানেক্ট করতে পারেন (উইন্ডোজ সার্ভার ২০১৬, উইন্ডোজ ১০, এবং নতুন সংস্করণে উপলব্ধ)। স্ক্রিপ্ট রান করতে Invoke-Command এবং ইন্টারেক্টিভ পাওয়ারশেল সেশন জন্য Enter-PSSession ব্যবহার করুন:

Invoke-Command -VMName mun-app01 -ScriptBlock {Get-Process}
Enter-PSSession -VMName mun-app01

Hyper-V হোস্ট থেকে ভার্চুয়াল মেশিনে ফাইল কপি করতে PowerShell Direct ব্যবহার করে, নিচের কমান্ড ব্যবহার করুন:

$PSSession = New-PSSession -VMName mun-app01 -Credential (Get-Credential)
Copy-Item -ToSession $PSSession -Path E:\ISO\install_image.iso -Destination D:\ISO\

আপনি পাওয়ারশেল ব্যবহার করে Hyper-V হোস্টে ভার্চুয়াল মেশিন ম্যানেজ করতে পারেন লোকালি বা রিমোটলি (উইন্ডোজ সার্ভার Full GUI বা Server Core মোড, ফ্রি উইন্ডোজ Hyper-V সার্ভার, বা উইন্ডোজ ১০) গ্রাফিক্যাল টুলস যেমন Hyper-V Manager বা Windows Admin Center সহ।

  1. Hyper-V-এ ভার্চুয়াল মেশিন ইম্পোর্ট, এক্সপোর্ট ও ক্লোন করার পদ্ধতি

  2. উইন্ডোজ ১০-এ Hyper-V কনফিগার ও ব্যবহার করে ভার্চুয়াল মেশিন তৈরি

  3. PowerShell ব্যবহার করে Hyper-V 2019-এ ভার্চুয়াল মেশিন তৈরি করা

  4. ভিএমওয়্যার কনভার্টার (VMware Converter) দিয়ে সমস্যারহিত ভিএম রূপান্তর