हाइपर-V में, आप अपने वर्चुअल मशीन के लिए स्वचालित स्टार्टअप और शटडाउन विकल्पों को कॉन्फ़िगर कर सकते हैं जब आप अपने होस्ट ओएस को बूट या पुनरारंभ करते हैं। इस लेख में, हम दिखाएंगे कि हाइपर-वी होस्ट को वर्चुअल मशीनों पर चलने वाली क्रियाओं को कैसे कॉन्फ़िगर करना चाहिए, जब इसे संचालित किया जाता है या इनायत से बंद किया जाता है, और वर्चुअल मशीनों के बूट ऑर्डर को कैसे सेट किया जाए।
हाइपर-V वर्चुअल मशीन के लिए स्वचालित स्टार्टअप और शटडाउन क्रिया कॉन्फ़िगर करें
डिफ़ॉल्ट रूप से, हाइपर-V होस्ट पुनरारंभ होने पर पंजीकृत वर्चुअल मशीन की स्थिति को सहेजता है। इसका मतलब है कि यदि कोई VM पुनरारंभ होने से पहले चल रहा था, तो हाइपर- V इसे स्वचालित रूप से प्रारंभ कर देगा। प्रत्येक VM के लिए स्वचालित स्टार्टअप सेटिंग्स व्यक्तिगत रूप से कॉन्फ़िगर की जाती हैं।
हाइपर-V कंसोल चलाएँ, किसी भी VM के गुण खोलें, और सेटिंग्स पर जाएँ -> स्वचालित प्रारंभ क्रिया . वर्चुअल मशीन के स्वचालित स्टार्टअप को प्रबंधित करने के लिए तीन विकल्प उपलब्ध हैं:
- कुछ नहीं - जब कोई होस्ट प्रारंभ होता है, तो वर्चुअल मशीन स्वचालित रूप से प्रारंभ नहीं होती है (होस्ट के पुनरारंभ होने से पहले उसकी स्थिति की परवाह किए बिना)
- स्वचालित रूप से प्रारंभ करें यदि यह सेवा बंद होने पर चल रहा था - एक VM स्वचालित रूप से तभी प्रारंभ होगा जब वह होस्ट शटडाउन/पुनरारंभ करने से पहले चल रहा हो
- इस वर्चुअल मशीन को हमेशा अपने आप चालू करें - हाइपर-V होस्ट बूट होने पर इस वर्चुअल मशीन को हमेशा प्रारंभ करें।
अंतिम विकल्प के लिए एक और पैरामीटर उपलब्ध है - स्टार्टअप विलंब . यहां आप वर्चुअल मशीन (सेकंड में) के लिए स्टार्टअप विलंब समय निर्दिष्ट कर सकते हैं। विलंब का उपयोग करके, आप अपनी वर्चुअल मशीन के बूट क्रम को प्रबंधित कर सकते हैं (उदाहरण के लिए, SQL सर्वर के साथ VM प्रारंभ करने से पहले डोमेन नियंत्रक को बूट करने के लिए), और बदले में एकाधिक VMs प्रारंभ करने के कारण डिस्क संग्रहण पर लोड को कम कर सकते हैं।पी>
यह दिलचस्प है कि हाइपर-वी वर्चुअल मशीनों के स्वचालित स्टार्टअप को प्रबंधित करने के लिए विंडोज एडमिन सेंटर (डब्ल्यूएसी) में अभी तक कोई विकल्प नहीं है।
साथ ही, स्वचालित रोक कार्रवाई . में अनुभाग में, आप सेट कर सकते हैं कि होस्ट के शटडाउन या पुनरारंभ होने पर आपकी वर्चुअल मशीन के साथ क्या करना है।
आपातकालीन स्थितियों (अप्रत्याशित पावर आउटेज, बीएसओडी) के विपरीत, जब वर्चुअल मशीनों के पास इनायत से शटडाउन करने का समय होता है, तो सेटिंग का तात्पर्य हाइपर-वी होस्ट के सही पुनरारंभ से है।- वर्चुअल मशीन स्थिति सहेजें - वर्चुअल मशीन की पूरी स्थिति सहेजी जाती है (इसकी मेमोरी सहित)। अगले स्टार्टअप पर, वर्चुअल मशीन इस बिंदु से फिर से शुरू होगी। ध्यान दें कि आपकी VM मेमोरी (*.BIN फ़ाइलें) रखने के लिए आपकी डिस्क पर अतिरिक्त खाली स्थान होना चाहिए। अतिथि OS पुनरारंभ नहीं हुआ है;
- वर्चुअल मशीन बंद करें - जब एक हाइपर-वी होस्ट शटडाउन होता है, तो एक वर्चुअल मशीन भी बंद हो जाएगी (उसी तरह जैसे एक भौतिक कंप्यूटर शटडाउन होता है)। VM स्थिति सहेजी नहीं गई है, एक अतिथि OS को पूर्ण बूट चक्र के साथ प्रारंभ किया जाएगा। इस मोड में, VM में चल रहे ऐप्स में असंगत डेटा मिलने का कुछ जोखिम होता है।
- अतिथि ऑपरेटिंग सिस्टम को शट डाउन करें - हाइपर-V एकीकरण सेवा (सुंदर शटडाउन) का उपयोग करके अतिथि OS शटडाउन होता है। VM में चलने वाले सभी ऐप्स बंद हो जाते हैं और असंगत डेटा मिलने का जोखिम बहुत कम होता है।
आप पावरशेल का उपयोग करके अपनी हाइपर-वी वर्चुअल मशीनों की स्वचालित स्टार्टअप और शटडाउन सेटिंग्स को देख और बदल सकते हैं।
सभी VMs की वर्तमान स्टार्टअप और शटडाउन सेटिंग्स प्रदर्शित करें:
Get-VM –VMname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay,AutomaticStopAction
आप AutomaticStartAction . का उपयोग करके किसी VM की स्वचालित स्टार्टअप सेटिंग बदल सकते हैं विकल्प। इसके संभावित मान हैं Nothing
, StartIfRunning
, Start
.
Get-VM –VMname lon-win10| Set-VM –AutomaticStartAction Start
एक को छोड़कर सभी VMs के लिए स्टार्टअप विलंब सेट करने के लिए (उदाहरण के लिए, FSMO भूमिकाओं वाला एक डोमेन नियंत्रक):
Get-VM –VMname * | Where-object –FilterScript {$_.vmname –notlike “lon-dc*”} | Set-VM –AutomaticStartDelay 90
–स्वचालित स्टॉपएक्शन . का उपयोग करना विकल्प, आप VM शटडाउन सेटिंग सेट कर सकते हैं (Save
, TurnOff
, ShutDown
)।
हाइपर-V वर्चुअल मशीन का बूट (स्टार्टअप) क्रम
एक स्टैंडअलोन हाइपर-वी होस्ट शुरू करते समय, एक व्यवस्थापक को उस पर वर्चुअल मशीन के स्टार्टअप ऑर्डर का प्रबंधन करना चाहिए। उदाहरण के लिए, आपको केवल डोमेन नियंत्रक उपलब्ध होने के बाद बूट करने के लिए एक्सचेंज वीएम और डेटाबेस सर्वर के बाद शुरू करने के लिए एक ऐप सर्वर की आवश्यकता होती है। हाइपर-V में वर्चुअल मशीन के स्टार्टअप ऑर्डर को प्रबंधित करने के लिए कोई अंतर्निहित टूल नहीं है, सिवाय स्टार्ट डिले विकल्प (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
दूसरा तरीका यह है कि VMs को बदले में PowerShell स्टार्टअप स्क्रिप्ट का उपयोग करके प्रारंभ किया जाए। स्क्रिप्ट में, आप अगले वीएम को शुरू करने से पहले देरी सेट कर सकते हैं और वीएम में किसी एप्लिकेशन या सेवा की उपलब्धता के लिए अतिरिक्त जांच कर सकते हैं (यह सुनिश्चित करने के लिए कि ऐप या सेवा शुरू हो गई है)। इसे और अधिक सुविधाजनक बनाने के लिए, आप टैग का उपयोग करके कई VMs को एक समूह में शामिल कर सकते हैं। उदाहरण के लिए, मैंने VMs के लिए निम्नलिखित टैग सेट किए हैं:
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}
फिर पॉवरशेल स्क्रिप्ट को ऑटोस्टार्ट में जोड़ें या टास्क शेड्यूलर का उपयोग करके इसे चलाएं (इस स्क्रिप्ट का उपयोग करके शुरू किए गए सभी वीएम के लिए स्वचालित स्टार्टअप को अक्षम करना न भूलें)। याद रखें कि विंडोज़ में डिफ़ॉल्ट रूप से पावरशेल स्क्रिप्ट चलाना प्रतिबंधित है। यदि आवश्यक हो, PS1 स्क्रिप्ट पर हस्ताक्षर करें या PowerShell स्क्रिप्ट निष्पादन नीति बदलें।