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

Hyper-V: VM-দের অটোমেটিক স্টার্টআপ ও বুট অর্ডার কনফিগার করা

Hyper-V-এ, আপনার ভার্চুয়াল মেশিনগুলোর জন্য হোস্ট OS বুট বা রিস্টার্ট হওয়ার সময় অটোমেটিক স্টার্টআপ ও শাটডাউন অপশন কনফিগার করা যায়। এই আর্টিকেলে আমরা দেখবো Hyper-V হোস্ট পাওয়ার অন বা গ্রেসফুলি শাটডাউন হওয়ার সময় ভার্চুয়াল মেশিনগুলোর সাথে কী করবে সেটি কনফিগার করা, এবং ভার্চুয়াল মেশিনগুলোর বুট অর্ডার সেট করা।

Hyper-V ভার্চুয়াল মেশিনের অটোমেটিক স্টার্টআপ ও শাটডাউন অ্যাকশন কনফিগার করা

ডিফল্টভাবে, একটি Hyper-V হোস্ট রিস্টার্ট হওয়ার সময় রেজিস্টার্ড ভার্চুয়াল মেশিনগুলোর স্টেট সংরক্ষণ করে। অর্থাৎ, যদি রিস্টার্ট করার আগে VM চলছে থাকে, Hyper-V সেটি অটোমেটিক্যালি শুরু করবে। অটোমেটিক স্টার্টআপ সেটিং প্রতিটি VM-এর জন্য আলাদা কনফিগার করা হয়।

Hyper-V কনসোল চালু করুন, যেকোনো VM-এর প্রপার্টিজ খুলুন, এবং Settings → Automatic Start Action-এ যান। ভার্চুয়াল মেশিনের অটোমেটিক স্টার্টআপ ম্যানেজ করার তিনটি অপশন আছে:

  • Nothing — হোস্ট শুরু হলে, ভার্চুয়াল মেশিন অটোমেটিক্যালি শুরু হবে না (হোস্ট রিস্টার্ট করার আগে এর স্টেট যেকোনো হোক)
  • Automatically start if it was running when the service stopped — VM তখনই অটোমেটিক্যালি শুরু হবে যদি হোস্ট শাটডাউন/রিস্টার্ট করার আগে সেটি চলত থাকে
  • Always start this virtual machine automatically — Hyper-V হোস্ট বুট হওয়ার সময় এই ভার্চুয়াল মেশিনটি সবসময় স্বয়ংক্রিয়ভাবে শুরু করুন

শেষ অপশনের জন্য একটি আরো প্যারামিটার আছে — Startup Delay। এখানে আপনি ভার্চুয়াল মেশিনের জন্য স্টার্টআপ ডিলে টাইম স্পেসিফাই করতে পারেন (সেকেন্ডে)। ডিলে ব্যবহার করে আপনি আপনার ভার্চুয়াল মেশিনগুলোর বুট অর্ডার ম্যানেজ করতে পারেন (উদাহরণস্বরূপ, SQL Server VM শুরু করার আগে ডোমেন কন্ট্রোলার বুট করান), এবং একসাথে একাধিক VM শুরু হওয়ার কারণে ডিস্ক স্টোরেজের ওপর লোড কমাতে পারেন।

আশচর্যजनকভাবে Windows Admin Center (WAC)-এ Hyper-V ভার্চুয়াল মেশিনের অটোমেটিক স্টার্টআপ ম্যানেজ করার অপশন এখনো নেই।

Automatic Stop Action সেকশনে, আপনি সেট করতে পারেন হোস্ট শাটডাউন বা রিস্টার্ট হলে আপনার ভার্চুয়াল মেশিনগুলোর সাথে কী হবে।

এই সেটিং ইম্প্লাই করে হোস্টের সঠিক রিস্টার্ট যেখানে ভার্চুয়াল মেশিনগুলোর গ্রেসফুল শাটডাউনের জন্য সময় থাকে, অপ্রত্যাশিত পরিস্থিতির বিপরীতে (অনেকের পাওয়ার আউটেজ, BSOD)।

  • Save the virtual machine state — ভার্চুয়াল মেশিনের পূর্ণ স্টেট সংরক্ষিত হয় (ইনক্লুডিং ইটস মেমরি)। পরবর্তী স্টার্টআপে, ভার্চুয়াল মেশিন এই পয়েন্ট থেকে রিজিউম করবে। মনে রাখবেন আপনার ডিস্কে VM মেমরি (*.BIN ফাইল) রাখার জন্য অতিরিক্ত ফ্রি স্পেস থাকতে হবে। গেস্ট OS রিস্টার্ট হয় না;
  • Turn off the virtual machine — Hyper-V হোস্ট শাটডাউন হলে, ভার্চুয়াল মেশিনও বন্ধ হবে (ফিজিক্যাল কম্পিউটার শাটডাউন হওয়ার মতো)। VM স্টেট সংরক্ষিত হয় না, গেস্ট OS ফুল বুট সাইকেল দিয়ে শুরু হবে। এই মোডে, VM-এ চলমান অ্যাপ্লিকেশনে ইনকনসিস্টেন্ট ডেটা পাওয়ার কিছু রিস্ক আছে।
  • Shutdown the guest operating system — Hyper-V ইন্টিগ্রেশন সার্ভিস ব্যবহার করে গেস্ট OS শাটডাউন করা হয় (গ্রেসফুল শাটডাউন)। VM-এ চলমান সকল অ্যাপ বন্ধ হয় এবং ইনকনসিস্টেন্ট ডেটা পাওয়ার রিস্ক খুব কম।

পাওয়ারশেল ব্যবহার করে আপনার Hyper-V ভার্চুয়াল মেশিনগুলোর অটোমেটিক স্টার্টআপ ও শাটডাউন সেটিংস দেখতে ও পরিবর্তন করতে পারেন।

সকল VM-এর বর্তমান স্টার্টআপ ও শাটডাউন সেটিংস দেখান:

Get-VM –VMname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay,AutomaticStopAction

VM-এর অটোমেটিক স্টার্টআপ সেটিংস পরিবর্তন করতে AutomaticStartAction অপশন ব্যবহার করুন। এর সম্ভাব্য মান: Nothing, StartIfRunning, Start।

Get-VM –VMname lon-win10 | Set-VM –AutomaticStartAction Start

PowerShell ব্যবহার করে ফ্রি Windows Hyper-V Server হোস্টে (যার GUI নেই) ভার্চুয়াল মেশিন সেটিংস কনফিগার করা যায়।

একটি VM বাদ দিয়ে (উদাহরণস্বরূপ, FSMO রোলসহ ডোমেন কন্ট্রোলার) বাকি সকল VM-এর জন্য স্টার্টআপ ডিলে সেট করতে:

Get-VM –VMname * | Where-object –FilterScript {$_.vmname –notlike "lon-dc*"} | Set-VM –AutomaticStartDelay 90

AutomaticStopAction অপশন ব্যবহার করে VM শাটডাউন সেটিং সেট করুন (Save, TurnOff, ShutDown)।

Hyper-V ভার্চুয়াল মেশিনের বুট (স্টার্টআপ) অর্ডার

স্ট্যান্ডঅ্যালোন Hyper-V হোস্ট শুরু হলে, একজন অ্যাডমিনিস্ট্রেটরকে এর ওপর ভার্চুয়াল মেশিনগুলোর স্টার্টআপ অর্ডার ম্যানেজ করতে হয়। উদাহরণস্বরূপ, এক্সচেঞ্জ VM ডোমেন কন্ট্রোলার উপলব্ধ হওয়ার পরেই বুট হওয়া উচিত, এবং অ্যাপ সার্ভার ডেটাবেস সার্ভারের পর শুরু হওয়া উচিত। Hyper-V-তে VM-দের স্টার্টআপ অর্ডার ম্যানেজ করার কোনো বিল্ট-ইন টুল নেই, ছাড়া স্টার্ট ডিলে অপশন (AutomaticStartDelay)।

সিম্পল কেসে, আপনি ভিন্ন স্টার্টআপ ডিলে সেট করে VM স্টার্টআপ অর্ডার কনফিগার করতে পারেন:

Get-VM –VMname lon-dc01 | Set-VM –AutomaticStartDelay 0
Get-VM –VMname lon-exch1,lon-db01 | Set-VM –AutomaticStartDelay 90
Get-VM –VMname lon-rds01,lon-app01 | Set-VM –AutomaticStartDelay 180

অন্য একটি পদ্ধতি হলো PowerShell স্টার্টআপ স্ক্রিপ্ট ব্যবহার করে VM-গুলো ক্রমবদ্ধভাবে শুরু করা। স্ক্রিপ্টে আপনি পরবর্তী VM শুরু করার আগে ডিলে সেট করতে পারেন এবং VM-এ কোনো অ্যাপ্লিকেশন বা সার্ভিসের উপলব্ধতা চেক করতে পারেন (নিশ্চিত করতে যে অ্যাপ বা সার্ভিস শুরু হয়েছে)। আরও সুবিধার্থে, আপনি ট্যাগ ব্যবহার করে একাধিক VMকে একটি গ্রুপে যোগ করতে পারেন। উদাহরণস্বরূপ, আমি VM-দের জন্য নিচের ট্যাগ সেট করেছি:

set-vm lon-dc01,lon-dc02 -Notes "Boot order 1"
set-vm lon-exch1, lon-db01 -Notes "Boot order 2"
set-vm lon-rds01,lon-app01 -Notes "Boot order 3"

নিচের পাওয়ারশেল স্ক্রিপ্ট নির্দিষ্ট ক্রমে ভার্চুয়াল মেশিন শুরু করে এবং কিছু সার্ভিসের (TCP পোর্ট) উপলব্ধতা জন্য এক্সট্রা চেক করে PowerShell কমান্ডলেট Test-NetConnection ব্যবহার করে:

$VMtoStart = Get-VM | where notes -contains 'Boot order 1'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}
While (!(Test-NetConnection lon-dc01 -Port 445 -WarningAction SilentlyContinue).tcpTestSucceeded ){
 Start-Sleep 30
}
$VMtoStart = Get-VM | where notes -contains 'Boot order 2'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}
While ((Test-NetConnection lon-exch1 -Port 25 -WarningAction SilentlyContinue).tcpTestSucceeded ){
 Start-Sleep 30
}
$VMtoStart = Get-VM | where notes -contains 'Boot order 3'
foreach ($cn in $VMtoStart)
{Start-VM $cn.name -asjob}

তারপর পাওয়ারশেল স্ক্রিপ্টটি অটোস্টার্টে যোগ করুন বা টাস্ক স্কেডিউলার ব্যবহার করে চালান (এই স্ক্রিপ্ট দিয়ে শুরু হওয়া সকল VM-এর অটোমেটিক স্টার্টআপ ডিজেবল করা মনে রাখবেন)। মনে রাখবেন Windows-এ ডিফল্টভাবে পাওয়ারশেল স্ক্রিপ্ট চালানো রিস্ট্রিক্টেড। প্রয়োজনে PS1 স্ক্রিপ্ট সাইন করুন বা PowerShell স্ক্রিপ্ট এক্সিকিউশন পলিসি পরিবর্তন করুন।

  1. Hyper-V 2019-এ ভার্চুয়াল স্যুইচ কনফিগারেশন

  2. Hyper-V 2019 ব্যবহার করে VM এক লোকেশন থেকে অন্য লোকেশনে সরানো

  3. Hyper-V 2019-এ ভার্চুয়াল মেশিন এক্সপোর্ট এবং ইম্পোর্ট করা

  4. ডুয়াল-বুট উইন্ডোজ ১০ এবং ১১: সুষ্ঠু স্যুইচিং-এর জন্য স্টেপ-বাই-স্টেপ গাইড