可能有人说,重新添加HyperV主机有啥难的?打开SCVMM,直接连接呗?

事实上今天说这个话题,肯定是有个前提,那就是主机已经不能和SCVMM通信了。那么当灾难发生时,我们的群集或者某一个单台HyperV挂掉而不得不重装系统或者永久下线的时候,在SCVMM中是不可能通过图形界面直接删除成功的。

如果说客户需要你做这个工作,把有问题的HyperV主机删除,而机器已经无法连接了,你有没有办法做这个事情,那客户会觉得"你小子很不给力啊",而你大概会想,"SystemCenter2012SP1这么弱智啊,删都删不掉"

 

有两种环境下会用到脱机删除HyperV主机:

  1. HyperV主机残废了

  2. HyperV主机没残废,但是SystemCenter主机残废了,通过备份文件恢复到了一个较早的时间点,但是这个时间点上有一堆乱七八糟已经不存在的主机。

好了,前置条件已经都说了,我们来看看如何解决的。

 

为什么不能直接删除:

肯定会有人为,为什么SCVMM2012SP1这么弱智,主机已经连接不上了,干嘛不让我们自己删除?

根据我的经验来看,不能直接图形下删除其实是有两个原因的

  1. VMM并不知道主机无法通信了是不是因为主机硬件损坏造成的

  2. 万一某一台机器正常关机的情况下,有人很轻易的将主机从VMM管理列表中删除了,那么会给工作带来很大的影响。

如何删除脱机的HyperV主机

方法肯定有,但是这个只能借助于命令行操作,无法在图形界面下使用,同样,不仅仅是SCVMM2012SP1,这个机制在SCVMM2008中就开始存在了,但是比较奇怪的是,在technetSCVMM2012文档下,并没有关于这个事情的说明。

  1. 打开带有VMM模块的PowerShell(安装VMM客户端后就有)

  2. 使用带 Force 参数的 Remove-VMHost cmdlet来完成操作,这样会强制删除VMM与HyperV主机的联系,同时这个删除过程不去验证HyperV主机以及删除它的代理程序。

什么叫做带Force 参数的 Remove-VMHost cmdlet呢?下面一组图为大家介绍。

SystemCenter2012SP1实践(34)强删不可用HyperV主机_第1张图片

啥也不会的前提下,可以help+cmdlet查看一下相应的帮助。

SystemCenter2012SP1实践(34)强删不可用HyperV主机_第2张图片

对于学习下PS来说,-examples  -full –online 都是不错的参数。通过这些参数,我们可以快速学习相关命令

强制删除的例子其实只有两句话,第一句定义某一个主机名为vmhost的变量,第二部是强制移除这个vmhost主机,事实上不需要变量,直接一句话就可以完成。其中蓝色部分就是需要删除的主机名。

Remove-SCVMHost -VMHosthahv-manager -Force –Confirm

SystemCenter2012SP1实践(34)强删不可用HyperV主机_第3张图片

搞定收工,PS又帮了我们大忙。