公司有几台服务器,安装的是ESXI5.0的虚拟机,原来使用的是普通的台式机,现在新购的专用服务器并安装的LSI 8708 SAS RAID卡(服务器自带的板载RAID卡ESXI不支持),现在要将虚拟机进行迁移。

本来最好的办法应该是挂载阵列,现将虚拟机移动到阵列中,然后再移到新的服务器上。但是公司的阵列中已经满了,没有足够的空间进行迁移。所以决定用最笨的办法,新服务器3块硬盘组RAID5(迁移完成后将扩展为4硬盘RAID5),台式机硬盘插在3号位组单盘RAID0,然后就是单机拷贝了。

办法到是没问题,但是每次换硬盘必需重启服务器,然后进web bios配置RAID,然后再重启进EXSI,太痛苦了。在晚上搜寻良久,找到完美方式如下:

1.让EXSI5.0中能看到LSI RAID卡状态

准备

ESXI5.0现在默认是不支持RAID卡的,因为移出了所有不必要的provider,所以必须先手动安装相应的vib驱动。我是在LSI官网下的驱动:00_37_V0_04_SMIS_VMware_Installer.zip。再下一个putty(其他 的SSH软件也可以),还有一个MegaCli,这个是我在IBM的网站中找到的。

安装VIB文件

00_37_V0_04_SMIS_VMware_Installer.zip和MegaCli解压,打开vSphere client,然后将ESXI 5.0对应的VIB文件拷贝到虚拟机存储器中(我的叫datastore,你的是什么名字?)。然后在“配置->软件->安全配置文件->服务”中打开SSH服务。

打开putty,使用SSH登入服务器(IP,用户名还有密码不用我写了吧),接下来是命令行操作(习惯就好了)。

cp命令将两个文件copy到tmp目录:

cp /vmfs/volumes/xxxx(记得上面问你存储器叫什么吗?)/*.vib /tmp/

然后是安装:

cd /usr/bin
esxcli software vib install -v /tmp/xxxxxxxxxx(一定要记得文件名,不过tab键是可以用的).vib --no-sig-check   //这个要执行两次,因为我们有两个文件要安装。



执行成功是类似这样:



Installation Result
 Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
 Reboot Required: true
 VIBs Installed: LSI_bootbank_lsiprovider_500.04.V0.39-0006
 VIBs Removed:
 VIBs Skipped:



看到了succ 和true基本就是安装完成了。然后就是重启ESXI服务器。

重启完成后你应该能在“配置->硬件->健康状况"中看到存储器的状态了,包括硬盘,电池等。

2.如何在线更换硬盘

IBM那个MegaCli干嘛的?本来我是想用MSM管理的,但是安装后死活搜寻不到服务器,于是放弃。所以转用MegaCli命令行管理。这个vib安装后,会在/opt/lsi/MegaCLI下生成可执行文件,不过有时候会无法执行,这时给它个权限就行了(继续putty SSH):



chmode -x MegaCli



将新硬盘插入3号位,然后运行:



cd /opt/lsi/MegaCLI/
MegaCli -PDList –a0 //所有磁盘信息



在输出信息中主要看Enclosure Device ID 是多少

然后看咱们新插入的硬盘():



MegaCli -pdInfo -PhysDrv[E0:S0] –a0     //E0就是咱们上一步记下的ID,S0是盘位,从0开始



有看到unconfigure good就没问题了。然后是在线创建R0:



MegaCli -cfgldadd -r0 [E0:S0] -wb -ra -cached -cachedbadbbu -force -a0



最后一步,回到vSphere client,在重新扫描存储适配器,然后就能看到你新建的VD了,重新加载存储。开始快乐的拷贝吧。

换一块硬盘时就重复上述过程。

3.参考资料

如何使用 MegaRAID Storage Manager 監控 VMware 主機的磁碟陣列

MegaCli命令总结