其实很早就想写这篇博文了,但是因为一些事情给耽误了,这次升级时我公司里的一个真实过程,在这里和大家分享,由于没有截图,所以在这里只能和大家说下思路。下面我们开始。

现状:

目前的状况是,在Windows Server 2008 的Hyper-V上运行了一些虚拟机,并实现了群集(可以参考我以前的博文),与有Hyper-V 2008的群集在添加新的应用程序和故障转移时都要造成不同程度的停机,所以决定对Hyper-V 2008 群集升级到Hyper-V 2008 R2

问题:

在计划的过程中也考虑到了一些问题,我只有现有的两台已群集的服务器,如何升级,存储是使用新的存储,还是使用原来的存储,用什么方式将群集中的虚拟机迁移。

思路:

我的这个思路可能是一个比较笨的办法,后来我也想到了另外一个办法,我会在后面补充,我使用的办法大致步骤如下:

1、由于没有多余的服务器,所以只能将群集中的一个节点退出(这里称为计算机A),这个操纵在“故障转移群集管理器”中完成。

2、将退去群集节点的那台计算机A重装系统,安装Windows Server 2008 R2,安装更新,并添加Hyper-V和故障转移群集功能。

3、在安装了新系统的计算机A中配置好网络和存储。

4、在群集管理器中启用群集共享卷,然后会在c盘中看到一个C:\ClusterStorage\Volume1目录

5、在群集的另一台服务器(这里称为计算机B)上将所有虚拟机导出,在导出之前,先建立一个临时文件夹Temp,让后到导出的虚拟机全部保存到这个文件夹下,然后将Temp文件夹下所有导出的虚拟机文件全部复制到计算机A上的C:\ClusterStorage\Volume1目录

6、在后再计算机A上将C:\ClusterStorage\Volume1目录中的虚拟机逐个导入。

7、在计算机A上将所有虚拟机添加到群集中。然后将所有虚拟机启动

8、将计算机B重装系统,安装Windows Server 2008 R2,安装更新,并添加Hyper-V和故障转移群集功能。

9、在安装了新系统的计算机B中配置好网络和存储。

10、将计算机B加入到新的群集中。

到这里我们的群集升级算是完成了,但还有做最后一步的测试

11、测试虚拟机在群集的两个节点中进行实时迁移的会不会有问题

注意:有可能会出现问题,我就出现过迁移失败的问题,后来发现可能是由于虚拟网络的问题,所以大家一定要测试一下。

Ok!如果你完成了这些步骤,虚拟机和群集的各项功能都正常,恭喜你,你成功了。呵呵

补充:

后来我又想到了一个方法,这个方法可能比较简单,这个方法和上面的方法比较类似,区别是在迁移虚拟机的方法上。但我没有试过,如果某位有兴趣,可以试一下

1、完成上面一个方法中的1-4步

2、使用SCVMM 2008 R2将计算机B中的虚拟机迁移到计算机A上

3、完成上面一个方法中的8-11步

大家可以看到这个思路的和前面的那个思路的区别就是在迁移的方法上,在这里要注意的是:在我们建立群集的时候会有一个群集的名称,在SCVMM中可以用这个群集名称管理该群集中所有节点的计算机,所以如果你在SCVMM中是一这种方式来管理的,那么你在讲计算机B上的虚拟机迁移到计算机A之前,建议将你的计算机A配置成单节点群集,然后使用SCVMM来管理这个群集。这样会比较稳妥一点。

 

就说这么多吧,有些地方可能没有说清楚,如果各位有疑问,可以给我留言,对后面的方法有兴趣的可以试试,如果有成功的,也可以和大家分享一下。