標籤:windows powershell、hyper-v虛擬機器、自動重啟
在企業實際生產環境,尤其是部署了伺服器虛擬化之後,配置虛擬機器自動重啟是一個很有必要的措施,即使當伺服器出現問題或者計劃內維護完成之後又能夠自動重啟虛擬機器,亦可以減少宕機時間。
今天的文章主要介紹在Hyper-V環境中使用PowerShell配置虛擬機器自動重啟。
一、 使用Windows PowerShell查看尚未配置虛擬機器自動重啟
系統內建的PowerShell可以允許您查看虛擬機器設定的哪種自動啟動。而不是用滑鼠右鍵VM選擇設定查看,在HYPER-V主機上使用如下 PowerShell命令和使用Get VM cmdlet通過管道輸送到選擇對象:
Get-VM –VMname * | Select-Object VMname,AutomaticStartAction
通過使用以上命令,我們不僅能查看其上承載的VM,並且顯示是否配置為自動重啟
650) this.width=650;" height="141" title="image" style="margin:0px;border:0px;padding-top:0px;padding-right:0px;padding-left:0px;background-image:none;" alt="image" src="http://s3.51cto.com/wyfs02/M02/71/3A/wKioL1XJkoSg_tx7AACHdA10Fmw946.jpg" border="0" />
能夠發現當前主機上有兩台虛擬機器並且沒有被配置為自動重啟
二、 配置虛擬機器自動重啟
在Hyper-V中微軟提供了三種VM自啟動方式,即:
1) 無-不執行任何操作
2) 自動啟動(如果當服務停止時它仍然運行)
3) 始終自動重啟次虛擬機器
當選擇自動啟動時,您也可以選擇是否配置為延時啟動。
650) this.width=650;" height="242" title="image" style="margin:0px;border:0px;padding-top:0px;padding-right:0px;padding-left:0px;background-image:none;" alt="image" src="http://s3.51cto.com/wyfs02/M00/71/3A/wKioL1XJkoWQSuB9AADerQDOsMk971.jpg" border="0" />
使用以下命令配置某一台虛擬機器為自動啟動
Get-VM –VMname BJ-VMM-01 | Set-VM –AutomaticStartAction Start
650) this.width=650;" height="48" title="image" style="margin:0px;border:0px;padding-top:0px;padding-right:0px;padding-left:0px;background-image:none;" alt="image" src="http://s3.51cto.com/wyfs02/M01/71/3B/wKioL1XJkoXjv88wAABa3JXDeLw060.jpg" border="0" />
650) this.width=650;" height="300" title="image" style="margin:0px;border:0px;padding-top:0px;padding-right:0px;padding-left:0px;background-image:none;" alt="image" src="http://s3.51cto.com/wyfs02/M02/71/3B/wKioL1XJkofhWdg2AAEgNGr4pyU145.jpg" border="0" />
如果想設定Hyper-V伺服器上所有的虛擬機器為自動重啟,使用如下命令
Get-VM –VMname * | Set-VM –AutomaticStartAction Start
三、 配置虛擬機器自動重啟(延遲)
如果Hyper-V伺服器上運行著關鍵性業務,如DC伺服器、SQL伺服器以及System Center伺服器,由於存在相應的依賴環境,尚未啟動SQL資料庫服務,那麼SCCM伺服器的服務則無法啟動,因此,您可以配置SQL資料自動重啟,配置SCCM伺服器延遲啟動,並設定一個延遲時間(如120S)
Get-VM –VMname BJ-SRV-01 | Set-VM –AutomaticStartDelay 120
650) this.width=650;" height="40" title="image" style="margin:0px;border:0px;padding-top:0px;padding-right:0px;padding-left:0px;background-image:none;" alt="image" src="http://s3.51cto.com/wyfs02/M02/71/3E/wKiom1XJkIfwYndTAABPAvapALQ965.jpg" border="0" />
使用如下命令查看已配置為延遲啟動的虛擬機器
Get-VM –VMname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay
650) this.width=650;" height="92" title="image" style="margin:0px;border:0px;padding-top:0px;padding-right:0px;padding-left:0px;background-image:none;" alt="image" src="http://s3.51cto.com/wyfs02/M00/71/3E/wKiom1XJkIfADbpSAABi4l5qLDw203.jpg" border="0" />
四、 配置多Hyper-V主機上VM自動重啟
在大型資料中心中,部署有大量的Hyper-V主機,那麼登入到每一台主機配置為自動重啟將是不現實的操作,那麼同時多Hyper-V主機上啟用虛擬機器自動重啟成為了一種需求。
Get-VM –computername sysvh-33-202,sysvh-98-250 –VMname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay
650) this.width=650;" height="143" title="image" style="margin:0px;border:0px;padding-top:0px;padding-right:0px;padding-left:0px;background-image:none;" alt="image" src="http://s3.51cto.com/wyfs02/M01/71/3E/wKiom1XJkIrDjyKKAACbXjOrKZQ294.jpg" border="0" />
如果您有很多Hyper-V主機需要配置為虛擬機器自啟動,那麼下面的也是一種配置方式
$hosts = @{ComputerName = "sysvh-33-201","sysvh-33-202Get-VM @hosts –VMname * | Set-VM –AutomaticStartAction startGet-VM @hosts –vmname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay"}
本文出自 “徐庭的部落格-IT技術分享” 部落格,請務必保留此出處http://ericxuting.blog.51cto.com/8995534/1683633
使用Windows PowerShell配置Hyper-V虛擬機器自動重啟