使用Windows PowerShell配置Hyper-V虚拟机自动重启

简介:

在企业实际生产环境,尤其是部署了服务器虚拟化之后,配置虚拟机自动重启是一个很有必要的措施,即使当服务器出现问题或者计划内维护完成之后又能够自动重启虚拟机,亦可以减少宕机时间。

今天的文章主要介绍在Hyper-V环境中使用PowerShell配置虚拟机自动重启。

一、 使用Windows PowerShell查看尚未配置虚拟机自动重启

系统内置的PowerShell可以允许您查看虚拟机配置的哪种自动启动。而不是用鼠标右键VM选择设置查看,在HYPER-V主机上使用如下 PowerShell命令和使用Get VM cmdlet通过管道输送到选择对象:

1
Get-VM  –VMname * |  Select-Object  VMname,AutomaticStartAction

通过使用以上命令,我们不仅能查看其上承载的VM,并且显示是否配置为自动重启

image

能够发现当前主机上有两台虚拟机并且没有被配置为自动重启

二、 配置虚拟机自动重启

在Hyper-V中微软提供了三种VM自启动方式,即:

1) 无-不执行任何操作

2) 自动启动(如果当服务停止时它仍然运行)

3) 始终自动重启次虚拟机

当选择自动启动时,您也可以选择是否配置为延时启动。

image

使用以下命令配置某一台虚拟机为自动启动

1
Get-VM  –VMname BJ-VMM-01 |  Set-VM  –AutomaticStartAction Start

image

image

如果想设置Hyper-V服务器上所有的虚拟机为自动重启,使用如下命令

1
Get-VM  –VMname * |  Set-VM  –AutomaticStartAction Start

三、 配置虚拟机自动重启(延迟)

如果Hyper-V服务器上运行着关键性业务,如DC服务器、SQL服务器以及System Center服务器,由于存在相应的依赖环境,尚未启动SQL数据库服务,那么SCCM服务器的服务则无法启动,因此,您可以配置SQL数据自动重启,配置SCCM服务器延迟启动,并设置一个延迟时间(如120S)

1
Get-VM  –VMname BJ-SRV-01 |  Set-VM  –AutomaticStartDelay 120

image

使用如下命令查看已配置为延迟启动的虚拟机

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

image

四、 配置多Hyper-V主机上VM自动重启

在大型数据中心中,部署有大量的Hyper-V主机,那么登录到每一台主机配置为自动重启将是不现实的操作,那么同时多Hyper-V主机上启用虚拟机自动重启成为了一种需求。

1
Get-VM  –computername sysvh-33-202,sysvh-98-250 –VMname * |  Select-Object  VMname,AutomaticStartAction,AutomaticStartDelay

image

如果您有很多Hyper-V主机需要配置为虚拟机自启动,那么下面的也是一种配置方式

1
2
3
$hosts  = @{ComputerName =  "sysvh-33-201" , "sysvh-33-202
Get-VM @hosts –VMname * | Set-VM –AutomaticStartAction start
Get-VM @hosts –vmname * | Select-Object VMname,AutomaticStartAction,AutomaticStartDelay" }





     本文转自 徐庭 51CTO博客,原文链接:http://blog.51cto.com/ericxuting/1683633 ,如需转载请自行联系原作者

相关文章
|
5月前
|
运维 监控 关系型数据库
运维实战:Windows服务挂掉了怎么办,通过Bat脚本实现自动重启
本文介绍了如何使用Bat脚本自动监控并重启Windows服务器上的挂掉服务,例如MySQL,以避免在假期等情况下需要紧急处理问题。首先,创建一个Bat脚本,设定每小时检查一次服务状态,如果服务停止则自动重启。脚本内容包括检查服务是否运行并根据状态执行相应操作。同时,脚本中包含了确保以管理员权限运行的代码。 脚本需设置为ANSI编码以防止乱码。推荐将Bat脚本封装为Windows服务以保证稳定运行,提供了使用NSSM工具、Windows服务程序和开源的Java工具winsw将批处理脚本转化为服务的方法。这些方法可以确保服务在后台可靠运行,即使在服务意外停止时也能自动恢复。
|
30天前
|
监控 关系型数据库 MySQL
PowerShell 脚本编写 :自动化Windows 开发工作流程
PowerShell 脚本编写 :自动化Windows 开发工作流程
26 0
|
2月前
|
Windows
Powershell 重新排列去重 Windows环境变量
【9月更文挑战第13天】本文介绍如何使用PowerShell对Windows环境变量进行重新排列和去重。首先通过`$env:`访问环境变量,接着使用`-split`命令分割路径,再利用`Select-Object -Unique`去除重复项。之后可根据需要对路径进行排序,最后将处理后的路径组合并更新环境变量。注意修改环境变量前应备份重要数据并了解潜在影响。
123 10
|
3月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
|
3月前
|
安全
【Azure 云服务】Azure Cloud Service 关于虚拟机资源,杀毒软件配置,补丁机制的问答
【Azure 云服务】Azure Cloud Service 关于虚拟机资源,杀毒软件配置,补丁机制的问答
|
3月前
|
存储 网络协议 搜索推荐
在Linux中,如何配置和管理虚拟机的网络和存储?
在Linux中,如何配置和管理虚拟机的网络和存储?
|
3月前
|
网络协议 Linux 网络安全
Hyper-v 如何配置 Centos7 虚拟机网络?
Hyper-v 如何配置 Centos7 虚拟机网络?
127 0
|
5月前
|
存储 IDE 开发工具
【读书笔记】 玩转虚拟机基于Vmware+Windows 虚拟化技术
【读书笔记】 玩转虚拟机基于Vmware+Windows 虚拟化技术
|
5月前
|
网络安全 C++ Windows
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
【Windows驱动开发】(主机)VS2017+(虚拟机)win10系统------双机调试
|
4月前
|
缓存 监控 Java
Java中的虚拟机参数配置详解
Java中的虚拟机参数配置详解