Hyper-V-এ, আপনি আপনার হোস্ট OS বুট বা রিস্টার্ট করার সময় আপনার ভার্চুয়াল মেশিনগুলির জন্য স্বয়ংক্রিয় স্টার্টআপ এবং শাটডাউন বিকল্পগুলি কনফিগার করতে পারেন। এই প্রবন্ধে, আমরা দেখাব কিভাবে একটি হাইপার-V হোস্ট ভার্চুয়াল মেশিনে ক্রিয়াকলাপগুলিকে কনফিগার করতে হবে যখন এটি চালিত হয় বা ভালভাবে বন্ধ করা হয় এবং কীভাবে ভার্চুয়াল মেশিনগুলির বুট অর্ডার সেট করা যায়।
হাইপার-ভি ভার্চুয়াল মেশিনের জন্য স্বয়ংক্রিয় স্টার্টআপ এবং শাটডাউন অ্যাকশন কনফিগার করুন
ডিফল্টরূপে, হাইপার-ভি হোস্ট পুনরায় চালু হলে নিবন্ধিত ভার্চুয়াল মেশিনের অবস্থা সংরক্ষণ করে। এর মানে হল যে যদি একটি VM রিস্টার্ট করার আগে চলমান থাকে, হাইপার-V এটি স্বয়ংক্রিয়ভাবে শুরু হবে। স্বয়ংক্রিয় স্টার্টআপ সেটিংস প্রতিটি VM-এর জন্য পৃথকভাবে কনফিগার করা হয়।
হাইপার-ভি কনসোল চালান, যেকোনো ভিএম-এর বৈশিষ্ট্য খুলুন এবং সেটিংস-> স্বয়ংক্রিয় স্টার্ট অ্যাকশন-এ যান . একটি ভার্চুয়াল মেশিনের স্বয়ংক্রিয় স্টার্টআপ পরিচালনা করার জন্য তিনটি বিকল্প উপলব্ধ:
- কিছুই না - যখন একটি হোস্ট শুরু হয়, একটি ভার্চুয়াল মেশিন স্বয়ংক্রিয়ভাবে শুরু হয় না (হোস্ট পুনরায় চালু হওয়ার আগে তার অবস্থা নির্বিশেষে)
- পরিষেবা বন্ধ হওয়ার সময় এটি চলমান থাকলে স্বয়ংক্রিয়ভাবে শুরু করুন – হোস্ট শাটডাউন/রিস্টার্টের আগে চলমান থাকলেই VM স্বয়ংক্রিয়ভাবে শুরু হবে
- সর্বদা এই ভার্চুয়াল মেশিনটি স্বয়ংক্রিয়ভাবে শুরু করুন – হাইপার-V হোস্ট বুট করার সময় সর্বদা এই ভার্চুয়াল মেশিনটি চালু করুন।
শেষ বিকল্পের জন্য আরও একটি প্যারামিটার উপলব্ধ – স্টার্টআপ বিলম্ব৷ . এখানে আপনি ভার্চুয়াল মেশিনের জন্য স্টার্টআপ বিলম্বের সময় নির্দিষ্ট করতে পারেন (সেকেন্ডে)। বিলম্ব ব্যবহার করে, আপনি আপনার ভার্চুয়াল মেশিনের বুট অর্ডার পরিচালনা করতে পারেন (উদাহরণস্বরূপ, SQL সার্ভারের সাথে একটি VM শুরু করার আগে একটি ডোমেন কন্ট্রোলার বুট করতে) এবং একাধিক VM চালু করার কারণে ডিস্ক স্টোরেজের লোড কমাতে পারেন।পি>
এটি আকর্ষণীয় যে এখনও হাইপার-ভি ভার্চুয়াল মেশিনগুলির স্বয়ংক্রিয় স্টার্টআপ পরিচালনা করার জন্য উইন্ডোজ অ্যাডমিন সেন্টার (ডব্লিউএসি) এ কোন বিকল্প নেই।
এছাড়াও, স্বয়ংক্রিয় স্টপ অ্যাকশনে বিভাগে, হোস্ট শাটডাউন বা পুনরায় চালু হলে আপনি আপনার ভার্চুয়াল মেশিনগুলির সাথে কী করবেন তা সেট করতে পারেন৷
সেটিংটি হাইপার-V হোস্টের সঠিক পুনঃসূচনা বোঝায় যখন ভার্চুয়াল মেশিনগুলি জরুরী পরিস্থিতিতে (অপ্রত্যাশিত বিদ্যুত বিভ্রাট, BSOD) থেকে ভিন্ন, সুন্দরভাবে বন্ধ করার সময় থাকে।- ভার্চুয়াল মেশিনের অবস্থা সংরক্ষণ করুন - একটি ভার্চুয়াল মেশিনের একটি সম্পূর্ণ অবস্থা সংরক্ষিত হয় (এর মেমরি সহ)। পরবর্তী স্টার্টআপে, ভার্চুয়াল মেশিনটি এই বিন্দু থেকে পুনরায় চালু হবে। মনে রাখবেন যে আপনার VM মেমরি (*.BIN ফাইল) রাখতে আপনার ডিস্কে অতিরিক্ত খালি স্থান থাকতে হবে। গেস্ট ওএস রিস্টার্ট করা হয়নি;
- ভার্চুয়াল মেশিন বন্ধ করুন - যখন একটি হাইপার-ভি হোস্ট বন্ধ হয়ে যায়, তখন একটি ভার্চুয়াল মেশিনও বন্ধ হয়ে যায় (যেমন একটি ফিজিক্যাল কম্পিউটার শাটডাউন হয়)। VM অবস্থা সংরক্ষণ করা হয়নি, একটি গেস্ট OS একটি সম্পূর্ণ বুট চক্রের সাথে শুরু হবে। এই মোডে, VM-এ চলমান অ্যাপগুলিতে অসামঞ্জস্যপূর্ণ ডেটা পাওয়ার কিছু ঝুঁকি রয়েছে৷
- অতিথি অপারেটিং সিস্টেম বন্ধ করুন - হাইপার-ভি ইন্টিগ্রেশন সার্ভিস ব্যবহার করে একটি গেস্ট ওএস শাটডাউন করা হয়েছে (সুন্দর শাটডাউন)। VM-এ চলমান সমস্ত অ্যাপ বন্ধ হয়ে গেছে এবং অসামঞ্জস্যপূর্ণ ডেটা পাওয়ার ঝুঁকি খুবই কম৷
আপনি PowerShell ব্যবহার করে আপনার হাইপার-ভি ভার্চুয়াল মেশিনগুলির স্বয়ংক্রিয় স্টার্টআপ এবং শাটডাউন সেটিংস দেখতে এবং পরিবর্তন করতে পারেন৷
সমস্ত VM-এর বর্তমান স্টার্টআপ এবং শাটডাউন সেটিংস প্রদর্শন করুন:
Get-VM –VMname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay,AutomaticStopAction
আপনি AutomaticStartAction ব্যবহার করে একটি VM এর স্বয়ংক্রিয় স্টার্টআপ সেটিংস পরিবর্তন করতে পারেন বিকল্প এর সম্ভাব্য মান হল Nothing
, StartIfRunning
, Start
.
Get-VM –VMname lon-win10| Set-VM –AutomaticStartAction Start
একটি ছাড়া সব VM-এর জন্য স্টার্টআপ বিলম্ব সেট আপ করতে (উদাহরণস্বরূপ, FSMO ভূমিকা সহ একটি ডোমেন কন্ট্রোলার):
Get-VM –VMname * | Where-object –FilterScript {$_.vmname –notlike “lon-dc*”} | Set-VM –AutomaticStartDelay 90
–AutomaticStopAction ব্যবহার করে বিকল্প, আপনি VM শাটডাউন সেটিংস সেট করতে পারেন (Save
, TurnOff
, ShutDown
)।
হাইপার-ভি ভার্চুয়াল মেশিনের বুট (স্টার্টআপ) অর্ডার
একটি স্বতন্ত্র হাইপার-ভি হোস্ট শুরু করার সময়, একজন প্রশাসককে এটিতে ভার্চুয়াল মেশিনের স্টার্টআপ অর্ডার পরিচালনা করতে হবে। উদাহরণস্বরূপ, ডোমেন কন্ট্রোলার উপলব্ধ হওয়ার পরেই বুট করার জন্য আপনার এক্সচেঞ্জ 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-এর জন্য নিম্নলিখিত ট্যাগগুলি সেট করেছি:
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"
নিম্নলিখিত PowerShell স্ক্রিপ্ট একটি নির্দিষ্ট ক্রমে ভার্চুয়াল মেশিন শুরু করে এবং PowerShell cmdlet Test-NetConnection ব্যবহার করে VM-এ কিছু পরিষেবার (TCP পোর্ট) জন্য অতিরিক্ত উপলব্ধতা পরীক্ষা চালায়:
$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-এর জন্য স্বয়ংক্রিয় স্টার্টআপ নিষ্ক্রিয় করতে ভুলবেন না)। মনে রাখবেন যে PowerShell স্ক্রিপ্ট চালানো ডিফল্টরূপে Windows এ সীমাবদ্ধ। প্রয়োজনে, PS1 স্ক্রিপ্টে স্বাক্ষর করুন বা PowerShell স্ক্রিপ্ট এক্সিকিউশন নীতি পরিবর্তন করুন৷