2008R2 Hyper-v 高可用性(Livemigration)集合

2008R2 Hyper-v 高可用性(Livemigration)集合

说到高可用行,大家肯定想到的是就是Cluster的概念,当然现社会企业的数据及应用程序越来越多,越来越重要了,每个人的需求也同时升温,比如,电脑的性能要求,数据访问的稳定性,连续性,甚至保持机房设备电源的不中断添加UPS等等

近期看了很多Cluster相关的文档,同时也手动去实现了很多,比如,上篇介绍的 SQL SERVER 2008R2 Cluster,这次我们说说Hyper-v的高可用性,那通过什么来实现呢,就是通过Migration,分为:livemigration跟quick migration

要实现Hyper-V的LiveMigration,前提是Hyper-V的故障转移群集要使用一个存储作为群集共享卷,虚拟机必须安装在这个群集共享卷上,才可以实现动态迁移,今天我准备使用软件的方法把一台计算机模拟成一个ISCSI存储。该软件园大概6.43MB,具体链接见下:

http://www.microsoft.com/en-us/download/confirmation.aspx?id=19867

今天我们使用三台计算机来实现该功能,分别为:ABC-DC、ABC-SERVER1、ABC-SERVER2,我们给这三天独立服务器均安装了Windows Server 2008R2 Enterprise系统,ABC-DC扮演的角色为DC、DNS、ISCSI存储。ABC-SERVER1和ABC-SERVER2是两台Hyper-V服务器,它们将组成一个故障转移群集。当然我们首先要把DC部署出来。

环境介绍

Domain name:abc.com

Hostname:abc-dc

Ip:192.168.100.2

Gateway:192.168.100.1

Roles:dc dns ISCSI

Hostname:abc-server1

Ip:192.168.100.10

Heart line:100.100.100.1

Roles:Hyper-v Server

Hostname:abc-server2

Ip:192.168.100.11

Heart line:100.100.100.2

Roles: Hyper-v Server

Cluster virtual IP:192.168.100.100

Cluster Virtual Name: Cluster-Group

clip_image001

我们开始部署DC,首先是更改计算机名;ABC-DC,然后配置管理地址:192.168.100.2 DNS:192.168.100.2,重启后,运行DCPROMO将该独立服务器提升为DC

clip_image003

我们的域名为:ABC.COM

clip_image005

我们的域信息见下;森林及域的功能级别均提升为windows2008R2;开始安装

clip_image007

DC部署完成后,我们通过运行DSA.MSC打开用户和计算机管理控制台

clip_image009

接下来我们将第一台Hyper-v Server更改计算机名:ABC-SERVER1,配置管理地址:192.168.100.10,并且加入到ABC.COM的域

clip_image011

因为我们做Cluster,所以用了两块网卡,一个用于本地网络,一个用于做心跳,现在更改心跳网卡的配置信息;

其实建议除了TCP/IPv4以外的勾选全部去掉。

clip_image013

配置心跳地址:100.100.100.1 255.255.255.0;不要配置网关及DNS,然后单击高级选项

clip_image015

在TCP/IP的高级选项中,切换到DNS标签―去除勾选在DNS中注册此链接的地址级附加主DNS后缀的后缀

clip_image017

然后切换到WINS选项,去除启用LMHOSTS查找选项,同时禁用TCP/IP的Netbios功能

clip_image019

接下来更改网络的优先级;通过在网络连接里面----组织----布局---菜单栏

clip_image021

高级设置

clip_image023

将本地的优先级调制高于心跳网络

clip_image025

最后网络配置完成后,将该独立服务器加如到ABC.COM域内

clip_image027

同时来我们将第二台Hyper-v Server更改计算机名:ABC-SERVER2,管理地址:192.168.100.11并且加入到ABC.COM的域

clip_image029

更改心跳网络配置信息,去除TCP/IPv4以外的所有勾选;

clip_image031

心跳地址为:100.100.100.2 255.255.255.0 然后单击高级选项

clip_image033

在TCP/IP的高级选项中,切换到DNS标签―去除勾选在DNS中注册此链接的地址级附加主DNS后缀的后缀

clip_image035

然后切换到WINS选项,去除启用LMHOSTS查找选项,同时禁用TCP/IP的Netbios功能

clip_image037

接下来更改网络的优先级;通过在网络连接里面----组织----布局---菜单栏---高级---致使本地链接的网络优先级高于心跳线网络

clip_image039

将该服务器添加到ABC.COM域内,成为成员服务器

clip_image041

测试心跳线是否通

clip_image043

部署及配置ISCSI Target

在前面我们已经搭建了一个域(ABC.COM),而且将两台Hyper-v Server服务器加入到ABC.COM域内。上面咱们说了我的ABC-DC除了扮演域控制器外,还要行使另外一个职能:充当群集的共享存储。Windows Server 2008 R2能支持虚拟机的动态迁移,关键是要让虚拟机存储在群集共享卷中。群集共享卷指的是由群集内的每个节点都能共同访问的一个存储设备,接下来我们ABC-DC上来模拟这个存储设备。

首先从微软的官网网站下载ISCSI Target安装文件,同时将该程序拷贝到ABC-DC上。如图下图所示,我们下载后双击安装,提示解压,同时默认的解压路径为:C盘根目录下

http://www.microsoft.com/en-us/download/confirmation.aspx?id=19867

clip_image045

开始解压

clip_image047

解压后,我们看见,在C盘根目录下产生一个ISCSTarget的文件夹

clip_image049

我们打开该文件夹后看见里面有很多文件,尤其是有个X86 X64两个文件夹,肯定一个是32位一个是64位了,我们的系统是64位的,所以我们要安装64位的

clip_image051

我们打开X64位的文件夹后,看见两个文件,我们只需要双击运行iscsitarget-Public即可

clip_image053

开始安装

clip_image055

我们开始安装iscsi software target 程序

clip_image057

clip_image059

默认安装到C盘下,这个无所谓

clip_image061

clip_image063

clip_image065

clip_image067

安装完成。

clip_image069

部署完ISCSI Target后,我们在ABC-DC上启动ISCSI Target的管理工具。如图下图所示,我们右键点击ISCSI目标,选择“创建ISCSI目标”。创建ISCSI目标的目的是允许特定的计算机访问ABC-DC模拟出的存储设备

clip_image071

clip_image073

clip_image075

我们为要创建的ISCSI目标取名为ABC-SERVER,及描述:FOR SERVER CLUSTER点击“下一步”继续

clip_image077

我们要创建一个ISCSI发起程序标识符,标识符可以用于识别ISCSI发起程序,我们准备用IP地址来表示ISCSI发起程序标识符,点击“高级”按钮继续

clip_image079

单击添加,开始添加

clip_image081

主要支持四种方式,我们再次选项IP地址

clip_image083

我们准备用IP地址来创建ISCSI发起程序标识符,首先我们添加了ABC-SERVER1的IP地址192.168.100.10,单击确认

clip_image085

clip_image087

我们用同样的方法创建了IP地址为192.168.100.11(ABC-SERVER2)的ISCSI发起程序标识符。这样我们就允许了ABC-SERVER1和ABC-SERVER2两台计算机来访问用ABC-DC(192.168.100.2)模拟出的ISCSI存储设备

clip_image089

单击是

clip_image091

单击确认后,我们看ABC-SERVER1和ABC-SERVER2的地址均添加到了该目标

clip_image093

clip_image095

目标创建完成

clip_image097

clip_image099

创建了ISCSI目标后,我们就开始创建ISCSI存储了。我们准备创建两个ISCSI虚拟磁盘,一个用于群集仲裁,一个用于存储虚拟机。如图下图所示,右键点击“设备”,选择“创建虚拟磁盘”。

clip_image101

clip_image103

我们先来创建一个存储虚拟机的ISCSI虚拟磁盘,我们把D:\Virtual Disk\DATA.vhd文件模拟为ISCSI虚拟磁盘。

clip_image105

我之前在D盘创建了一个Virtual Disk路径

clip_image107

再此路径创建一个DATA.vhd的文件

clip_image109

我们选择虚拟磁盘的大小为200G。

clip_image111

我们输入对虚拟磁盘的描述,FOR CLUSTER DATA点击“下一步”继续

clip_image113

选择ISCSI目标,单击添加

clip_image115

选择之前新建 的ISCSI目标;该目标里面包括了两台Hyper-v server;在虚拟磁盘下选择目标主要就是把这些磁盘分配到该ISCSI目标里面的计算机上

clip_image117

clip_image119

创建虚拟磁盘完成

clip_image121

第一块虚拟磁盘创建完成

clip_image123

用同样的方法再创建一个虚拟磁盘用于群集仲裁,容量为10G, clip_image125

clip_image127

分配的空间为10G

clip_image129

clip_image131

ISCSI目标选择

clip_image133

clip_image135

两块虚拟磁盘已创建完成

clip_image137

配置ISCSI虚拟磁盘

在前面我们利用ISCSI Target软件在ABC-ISCSCI上创建了两个ISCSI虚拟磁盘,再次我们将为大家继续介绍ABC-SERVER1和ABC-SERVER2如何访问这些ISCSI虚拟磁盘。ABC-SERVER1和ABC-SERVER2可以使用ISCSI协议访问ABC-ISCSCI上的虚拟ISCSI磁盘,由于Windows Server 2008系统内已经内置了ISCSI协议,因此我们无需在ABC-SERVER1和ABC-SERVER2上安装ISCSI客户端软件。

下面我们以ABC-SERVER1为例为大家演示如何在Windows Server 2008 R2上访问ISCSI磁盘,我们在ABC-SERVER1的管理工具中执行“ISCSI 发起程序”。如图下图所示,系统提示我们ISCSI服务尚未运行,是否需要启动ISCSI服务并将服务设置为自动启动,我们选择“Yes”。

clip_image139

clip_image141

在ISCSI发起程序的目标标签中,我们输入ABC-DC;该名称为我的ISCSI目标服务器

clip_image143

输入我的ISCSI服务的FQDN后单击快速链接

clip_image145

同时我们也可以在ISCSI 发起程序的“发现”标签中,点击“发现门户”。然后输入ABC-DC(ISCSI服务器的FQDN)的IP地址192.168.100.2,端口使用默认的3260即可

clip_image147

clip_image149

单击连接

clip_image151

在“ISCSI 发现程序”的目标标签中,点击“链接”按钮。如果ISCSI目标设备的状态显示是“连接”,那就表明ABC-SERVER1已经利用ISCSI协议连接到了ABC-DC上的ISCSI虚拟磁盘

clip_image153

clip_image155

ABC-SERVER1利用ISCSI发起程序连接到了ABC-DC上的ISCSI磁盘后,我们在ABC-SERVER1的磁盘管理器中就可以对ISCSI磁盘进行管理了。如图下图所示,在ABC-SERVER1的磁盘管理下多了两块磁盘,一块200G,一块10G。这两块磁盘就是ABC-DC上创建的ISCSI虚拟磁盘

clip_image157

我们对两块ISCSI虚拟磁盘进行联机、初始化、分区,格式化。如图下图所示,我们给200G的ISCSI磁盘分配了S盘符,S盘将用于存储Hyper-V虚拟机。10G的ISCSI磁盘分配了Q盘符,Q盘将用作群集的仲裁磁盘。

clip_image159

clip_image161

ABC-SERVER1设置完毕后,我们需要在ABC-SERVER2上进行同样的ISCSI设置,并且对ABC-DC上的两块ISCSI虚拟磁盘分配同样的盘符,这样我们就在ABC-SERVER1和ABC-SERVER2上就可以访问之前创建的ISCSI磁盘了

clip_image163

clip_image165

部署Hyper-V角色

我们在ABC-SERVER1和ABC-SERVER2上通过ISCSI发起程序,连接到了ABC-DC上的ISCSI虚拟磁盘,存储设备的问题已经解决了。我们接下来需要在ABC-SERVER1和ABC-SERVER2上部署及配置Hyper-V角色.

我们在ABC-SERVER1的“服务器管理”中右键点击“角色”,选择“添加角色

clip_image167

勾选Hyper-v

clip_image169

clip_image171

安装完成后提示重启

clip_image173

同样我们也在ABC-SERVER 2上安装安装hyper-v角色

clip_image175

clip_image177

clip_image179

clip_image181

重启完成后,打开Hyper-v管理器

clip_image183

clip_image185

ABC-SERVER2上的Hyper-v管理器

clip_image187

创建故障转移群集

在ABC-SERVER1和ABC-SERVER1上安装了Hyper-V角色后,我们就可以来创建故障转移群集了。只有在故障转移群集中,我们才可以实现Hyper-V虚拟机的动态迁移和快速迁移。我们在ABC-SERVER1进行故障转移群集的创建,如图下图所示,在ABC-SERVER1和ABC-SERVER2的“服务器管理”中右键点击“功能”,选择“添加功能

我们勾选群集故障转移及多路径I/O

clip_image189

开始安装

clip_image191

clip_image193

安装完成

clip_image195SERVER 2安装配置

我们同样在ABC-SERVER2上安装故障转移群集功能

clip_image197

clip_image199

安装完成

clip_image201

添加了故障转移群集功能后,我们在ABC-SERVER1的“管理工具”中打开“群集故障转移

clip_image203

clip_image205

在配置群集前我们需要在DNS上创建一个 群集虚拟IP的地址解析记录

解析名称为:CLUSTERGROUP

解析IP:192.168.100.100

clip_image207

clip_image209

通过ping域名是否能正常解析出地址

通过以下图示看能正常解析出地址

clip_image211

下面就开始创建群集

clip_image213

添加我两台Hyper-v server的FQDN

clip_image215

创建前需要验证,当前是否满足创建群集的需求

clip_image217

clip_image219

运行所有测试

clip_image221

clip_image223

开始验证测试。

clip_image225

你是通过;说明当前环境满足创建群集故障转移功能

clip_image227

开始画创建群集故障转移;输入一个群集名称和一个没有冲突的IP地址:192.168.100.100

Cluster name:CLUSTER-GROUP;填写相关信息后,下一步开始验证并且创建,同时会自动在DNS服务器中创建一条记录

clip_image229

clip_image231

确认群集信息;下一步开始创建群集

clip_image233

clip_image235

群集创建完成

clip_image237

clip_image239

配置故障转移群集

首先是该群集配置仲裁;右击CLUSTERSERVER群集---更多操作----配置群集仲裁设置

clip_image241

clip_image243

选择一种合适当前自己环境的可用性;一般系统会自动选择适合当前环境的一种可用性

clip_image245

我们选择仲裁磁盘;10G

clip_image247

clip_image249

仲裁配置完成

clip_image251

clip_image253

启用群集共享:右击CLUSTERSERVER----启用群集共享磁盘

clip_image255

clip_image257

启用后,发现多了一个选项;群集共享卷;我们群集共享卷开启后,我们还需要添加群集共享磁盘

clip_image259

右击群集共享磁盘----添加存储

clip_image261

我们 选择S盘DATA=200G

clip_image263

开始添加磁盘

clip_image265

添加完成

clip_image267

添加完成后,我们会发现在C盘的根目录下多出一个ClusterStorage目录

clip_image269

打开该目录后发现有一个Volume1的目录,这个就是刚才的群集共享目录里添加的共享磁盘

clip_image271

配置高可用性虚拟机

前面创建了故障转移群集,接下来我们将配置故障转移群集,让故障转移群集支持Hyper-V角色。我们在ABC-SERVER1上进行故障转移群集的配置,首先在ABC-SERVER1的“管理工具”中打开“Hyper-V 管理器”,如图下图所示,点击“Hyper-V 设置并且创建虚拟机

clip_image273

计算机名暂时起Test,虚拟机的安装路径为:C盘的ClusterStorage\Volume1下

clip_image275

创建磁盘并且存放位置C盘的ClusterStorage\Volume1下

clip_image277

创建虚拟机完成后开始安装操作系统。

clip_image279

虚机创建并且系统安装完成后看到的结果见下

clip_image281

接下来我们要配置故障转移群集,让故障转移群集支持Hyper-V。在ABC-SERVER1上打开“群集故障转移”,如图12所示,右键点击群集根节点,选择配置服务或应用程序

clip_image283

clip_image285

我们选择虚拟机

clip_image287

这个时候我们能看见,刚才在hyper-v管理器上创建的虚拟机;如果把这个虚拟机添加到高可用内需要将该虚拟机关机才能添加

clip_image289

关机后我们再次尝试添加

clip_image291

我们选择该虚拟机

clip_image293

clip_image295

开始添加到高可用性组

clip_image297

添加成功

clip_image299

clip_image301

我们现在将该高可用虚拟机启动

clip_image303

我们根据以下图示可知,该Test虚拟机本身是运行在ABC-SERVER1这个节点上的,如果这个节点失败正常应该是能自动切换到ABC-SERVER2这个节点上的

clip_image305

测试LiveMigrationQuickMigration

我们在前面的文章中已经为Hyper-V的Livemigration和QuickMigration搭好了实验环境,现在我们有了一个支持Hyper-V的故障转移群集,配置了群集共享卷,有了一个在群集共享卷上创建的高可用性虚拟机。我们现在终于可以测试一下Windows Server 2008 R2中的实时迁移(LiveMigration)和快速迁移(QuickMigration)了。

我们先来测试一下LiveMigration,这也是我们这个实验系列的主要目的。LiveMigration的主要原理是当我们把第一个节点上的虚拟机迁移到第二个节点时,原本是第一个节点负责读取群集共享卷上的虚拟机,现在改为第二个节点来读取,同时第一个节点上的内存数据将通过网络传送到第二个节点。整个迁移过程只有当第二个节点接替第一个节点读取群集共享卷时才会出现非常短暂的服务中断,中断时间仅仅在毫秒级别,用户基本体验不到。

下图所示,我们打开ABC-SERVER1上的“群集故障转移”,我们可以看到TEST虚拟机目前在ABC-SERVER1节点上正在运行。右键点击TEST虚拟机,选择把虚拟机迁移到ABC-SERVER2节点上。

clip_image307

时迁移开始,我们可以在群集管理器中看到迁移的进度。注意,在迁移的过程中虚拟机并没有中断服务,虚拟机的网络连接一直在持续,我们的测试结果显示,如果用ping测试迁移过程中的Test虚拟机,那么在迁移过程中最多只会丢一个包

clip_image309

Test虚拟机现在已经迁移到群集中的ABC-SERVER2节点上了。

clip_image311

测试完动态迁移后,接下来我们再来顺便测试一下虚拟机的快速迁移。当我们把节点1上的虚拟机快速迁移到节点2时,那么故障转移群集会先把节点1上的内存数据保存下来,然后通过网络传递到节点2后再把内存数据给还原出来。在快速迁移过程中虚拟机的网络连接会中断,中断的时间视虚拟机内存大小及网络速度而定,一般情况下要几秒到几分钟不等

如图下图所示,我们在ABC-SERVER2的群集管理器中,选择把ABC-SERVER2节点上的Test虚拟机快速迁移到ABC-SERVER1节点上。

clip_image313

clip_image315

clip_image317

迁移成功

clip_image319

删除群集节点、然后添加提示节点已存在

通过以下命令清楚节点遗留文件

Cluster node 节点名称 /forcecleanup

clip_image321

本文出自 “高文龙” 博客,转载请与作者联系!

你可能感兴趣的:(Hyper-v,高可用性,Livemigration,2008R2)