虚拟化:存储平台迁移实战

日期: 2009-05-13 作者:沈之扬 来源:TechTarget中国 英文

  如今,在多个硬件主机之间迁移虚拟机是一种相当简单、无缝的操作。使用VMware的ESX 3.5和Virtual Center 2.5来迁移只要采用VMotion方法,最多点击几下鼠标,就能把每个虚拟机从一个ESX主机迁移至另一个ESX主机。Storage VMotion在2007年12月宣布推出,它便于把实际的vmdk(虚拟硬盘驱动器)文件迁移至其他的备用存储位置,不会造成停机时间,进一步改善了可移植性和迁移工作。这似乎相当简单,不过我们遇到裸设备映射(RDM),情况就有点复杂了。简而言之,RDM是VMFS卷上的一个特殊文件,充当虚拟机的代理,以便直接访问裸设备。不像VMFS分区,VMware的ESX Server并不管理处于物理模式的设备。这时,负责直接管理设备的是虚拟机的操作系统。

  在功能上,微软集群服务(Microsoft Cluster Services)等应用依赖用裸设备即RDM格式显示的共享存储。如果有些人期望改换存储阵列或平台,或者把这些虚拟机从一个ESX集群完全迁移至另一个ESX集群,这带来了几个难题(尽管可以克服);另外需要一番规划,才能确保集群的完整性。为了获得成功,必须创建及配置新的RDM,以便与原始RDM一样,本文介绍的正是这个过程。

  我们这次迁移过程将用到:

  ·ESX 3.5 update2
  ·Virtual Center 2.5
  ·Windows 2003企业版
  ·微软集群服务器(Microsoft Cluster Server)
  ·Windows 2000资源工具包

  整个过程分为8个基本步骤:

  1、 记录原始配置
  2、 添加新的逻辑单元号(LUN)
  3、 添加RDM配置
  4、 拷贝数据
  5、 克隆虚拟机
  6、 配置克隆机
  7、 改变微软磁盘签名(Disk Signature)
  8、 为集群中的额外节点添加RDM

  第一步:记录原始配置

  1、登录到Virtual Center,鼠标右击Cluster配置中的Primary Node。该服务器将被名为Node1.
  2、选择Edit Setting。
  3、记录所有SCSI控制器设置。
  4、记录每个Raw Mapped LUN、Datastore Mapping和Virtual Device Node。
  5、登录到Node 1。
  6、点击”开始”,然后点击”运行”,输入”compmgmt.msc”,然后点击OK。
  7、在Computer Management->System Tools->Device Manager,找到Disk Drives,你就能查看展示给该节点的所有逻辑磁盘。
  8、记录左边的磁盘号及右边与之相关的驱动器名。(比如:Disk 1 = 1GB Quorum Q drive,Disk 2 = 10GB Data E drive)
  9、把dumpcfg.exe(Windows 2000资源工具包)拷贝到c:。
  10、点击”开始”->”运行”,输入”cmd”,点击OK。
  11、输入”cd to c:”。
  12、运行”dumpcfg”。
  13、记录磁盘签名以及上面记录的磁盘号。(比如:Disk 1 = Quorum Q drive =1234567: Disk 2 = Data E Drive = 7654321)

  第二步:添加新的LUN

  注意:第1至第3个步骤需要存储管理员来完成,除非你本身也是存储管理员。

  1、创建Quorum LUN(通常是1GB大小)。
  2、创建额外的LUN(LUN大小即使与原始LUN的大小不一样,也应当能够容纳将来拷贝到上面的数据量)。
  3、把LUN展示给原始集群环境的ESX主机以及克隆虚拟机的新ESX主机。
  4、登录到VC,选择能看到新LUN的每个ESX主机,然后浏览至Configuration->Storage Adapters,选择Rescan,就选择Scan for New Storage Devices。
  5、识别分配给所有LUN的SCSI LUN ID(比如:对光纤通道而言,VHBA1:5:6将是SCSI ID 6。这个ID在所有主机上应当都一样)。
  对iSCSI而言,被分配的iSCSI别名将识别哪个SCSI目标被分配给了RDM Example:iSCSI别名brian-rdm-data-n在VMHBA32:12:0 Target 12上加以配置。目标号在所有主机上可能不一样。
  6、记录这些信息。到时添加新的RDM时要用到

  第三步:添加RDM配置

  1、在VC中选择Node 1。
  2、选择Edit Settings和Add Disk.
  3、选择Raw Device Mappings。
  4、使用前几步中记录的信息,选择目标LUN。这里,目标是16和17。
  5、选择元数据文件与虚拟机一起存储。
  6、选择Physical Compatibility Mode。
  7、选择Virtual Device Node(就本文这个过程而言,不需要另外的SCSI控制器,因为我们只要把数据拷贝到这些LUN上)。点击Next。
  如果虚拟机已启动,可以略过第8步,点击OK。
  9、 把控制器设成Physical Mode后点击OK

  第四步:拷贝数据

  1、添加新的LUN。
  2、登录到Node1。
  3、启动Disk Manager。
  4、让窗口对诸磁盘进行初始化,并进行格式化以便用,点击Next。
  5、点击Next。
  6、让它空着,点击Next。
  7、创建分区。

  注意:添加额外磁盘时,建议创建对齐的磁盘。

  1、 打开命令提示符窗口。
  2、输入diskpart
  3、输入list disk
  4、然后选择其中一个新添加的磁盘。
  5、输入命令来选择磁盘号。
  6、输入select disk #。
  7、创建对齐的主分区。
  8、输入create partition primary align=64。
  8、分配驱动器名(对于新的LUN,请选择比原始LUN高一个驱动器名)。
  9、对驱动器进行格式化,更改卷标,并把Allocation unit size设成32K。
  终止所有集群应用服务(比如SQL Server Service)。
  10、启动Cluster Administrator小应用程序。
  11、点击”开始”->”运行”,输入cluadmin,点击OK。
  12、在cluster or server name下,输入.,点击OK。
  13、让磁盘之外的所有资源处于脱机(Take offline)。
  14、把来自所有集群磁盘的所有数据拷贝到新连接的LUN。建议使用能够输出/通知故障的拷贝工具。
  15、一旦文件拷贝在这时完成,关闭Node1及该集群中的其他任何节点。
  16、从Node 1移除Raw Device Mappings。鼠标右击虚拟机,点击Edit Setting,选择每个硬盘,点击Remove。选择Remove from Virtual Machine选项,点击OK。
  17、把虚拟机克隆到新的存储/文件夹(以便保持名称相同)。
  18、对集群中其他节点重复步骤11至13(在移除磁盘之前,核实记录的有关Node 1的RDM信息与每个节点的配置相符)。

  第五步:克隆虚拟机

  1、创建一个新的文件夹。
  2、鼠标右击虚拟机,选择Clone。
  3、输入虚拟机名称(使用与原始虚拟机同样的名称)。选择前一个步骤中创建的文件夹,点击Next。
  4、选择你希望虚拟机驻留在上面的集群组或ESX主机上,点击Next。
  5、选择指定的存储位置。
  6、不定制。选择Do not customize。
  7、不启动,也不对配置进行任何更改,点击Finish。

  第六步:配置克隆机

  1、登录到虚拟机,鼠标右击Cloned Node1。
  2、选择Edit Setting。
  3、Add Disk,选择Raw Device Mapping。
  4、添加创建的RDM(核实VMHBA路径和LUN Size与记录的信息相符)。
  5、务必要选择一个新的SCSI目标ID(这会自动为物理RDM创建额外的SCSI控制器;还要记下SCSI ID,万一多个RDM在虚拟机操作系统中有着同样的磁盘大小,它有助于确认哪个RDM被访问)。
  6、把SCSI控制器配置成Physical Mode,然后点击OK和Finish。
  7、启动Clone Node1。
  8、点击”开始”->”运行”,输入”compmgmt.msc”,然后点击OK。
  9、把磁盘号记录成驱动器(比如:Disk1 = Q Drive Quorum Disk,Disk 2 = E Drive Data Disk)。

  第七步:更改磁盘签名

  1、鼠标右击磁盘号,选择Properties。
  2、比如,该例子中Disk2拥有Target ID 1。Target ID 1与数据磁盘驱动器名E联系起来。
  3、一旦识别了集群磁盘的所有磁盘号,可以使用记录的有关原始Node1的信息来分配磁盘签名(比如:Disk1 = Quorum Drive Q = 12344567,Disk 2 = Data Drive E = 7654321)
  4、打开命令提示符窗口,输入”cd to c:”。
  记录的每个磁盘都有相关签名。
  5、运行”dumpcfg <signature of the disk> Disk #”
  (比如dumpcfg -s 1234567 1)
  该命令把原始签名改写成了新的quorum LUN。
  注意:万一没有记录下原始系统的磁盘签名,就在克隆虚拟机中,打开Event Viewer,找到system events
  搜索event ID 1034
  该错误会表明驱动器名及相关签名。最初被识别的只有Quorum。一旦Quorum进行了相应配置,该集群中其他任何磁盘的Events会随之出现。
  5、运行该命令,为所有集群磁盘更改签名。
  6、打开Computer Management->Disk Management,为磁盘分配相应的驱动器名。
  7、重启。

  第八步:为集群中的额外节点添加RDM

  1、鼠标右击Node,选择Edit Settings。
  2、选择Add Disk和Select Existing Disk。
  3、 浏览至RDM元数据文件的位置(通常存储在主节点文件夹里面,大小通常是RDM的1/500)。
  4、再次选择新的SCSI DEVICE ID。
  5、把SCSI控制器设成Physical Mode;如果略过了这一步,虚拟机就无法启动。
  6、点击Off and Power On VM。
  7、测试集群的故障切换功能。故障切换应当能成功。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • VMware快照工作原理以及如何运用

    当你更新或修复应用程序和服务器时,VMware快照无疑是你的救星。而如果你负责监管虚拟环境,你更是应该知道什么 […]

  • 配置ESXi Autostart,自动打补丁

    顾名思义,VMware ESXi Autostart能够实现自动开启、关闭ESXi服务器上的虚拟机,让虚拟机管理变得更轻松。如果运行了多个虚拟机并且给主机打补丁后需要重启主机,那么ESXi Autostart的作用就更大了,没有Autostart的话,你需要在给主机打补丁后,手动重启每个虚拟机。

  • 推荐一款好的虚拟主机提供商

    推荐一款好的虚拟主机提供商 推荐理由:   第一:种类多:有经济型,全能型,功能型等   […]

  • 哪里的虚拟主机最便宜?

    鱼和熊掌不可兼得, 想要找即便宜又好用的虚拟谁有办法? 我来推荐一款,可以了解 新网云虚拟主机一年只要1元钱 […]