这几天测试hyper-v server 2008 R2与存储设备的兼容性,碰到了一些问题,不是很顺利,最终还是解决了,特此记录一下:
1 管理hyper-v server 2008 R2(下简称hyper-v server)有两个工具:hyper-v manager和SCVMM 2008,前者在windows 2008的optional component里可以安装(通过安装role实现),后者需要单独下载;开始以为存储管理相关的功能需要通过SCVMM 2008完成,后来通过使用比较,两者在用于存储兼容性测试方面的管理功能都差不多(比如创建虚拟机,虚拟网络管理,在VM中添加pass-through的磁盘等),所以用hyper-v manager管理足够了,当然,如果要测试migrate等高级功能,则需要用到SCVMM 2008了;

2 hyper-v manager连接hyper-v server 2008 R2时,出现了"Cannot connect to the RPC service on computer <Hyper-V Server>. Make sure your RPC service is running的错误,查遍了网络,都没有解决,后来发现是之前服务器安装了exchange,active directory等后,对系统安全权限等修改引起的,无奈重装了windows 2008和hyper-v manager后,问题解决;

3 SCVMM 2008连接hyper-v server 2008 R2时,需要hyper-v server和hyper-v manager都加入域;安装SCVMM 2008管理hyper-v server时,需要安装VMM Server和VMM administrator console;

4 hyper-v manager和SCVMM 2008连接hyper-v Server时,需要使用hyper-v server的计算机名而不是IP地址,所以最简单的方法是在安装hyper-v manager或者SCVMM 2008的机器上,在\windows\system32\drivers\etc\hosts文件中增加hyper-v server和ip地址的entry,并保证能够通过计算机名ping通hyper-v server;

5 hyper-v server 2008 R2上的防火墙设置会阻断管理软件的连接,所以为了测试简便,直接把hyper-v server上的防火墙都关了,通过命令netsh advfirewall set mode offline和netsh firewall set opmode disable(都试试);

6 hyper-v server连接iSCSI存储时比较简单,直接在命令行下运行iscsicpl就可以调出那个熟悉的iSCSI Initiator图形化界面;

7 hyper-v server连接FC存储可能会比较麻烦,首先,可能需要安装FC HBA在hyper-v server下的驱动程序;幸运的是,我用的HBA在Hyper-v Server下直接驱动了;另外,如果需要做MPIO,则可能需要安装存储厂商开发的相关MPIO软件,我用的是hyper-v server自带的MPIO软件,但是如何配置这个MPIO软件困扰我半天,因为没有GUI啊。感谢google和baidu,最后发现需要进行如下操作:1)通过ocsetup MultipathIo /norestart安装mpio软件(MultipathIo需要注意大小写哦);2)通过mpiocpl调出mpio的图形化界面,然后通过“发现多路径”自动添加存储设备信息后重启,mpio就自动生效了;

8 如何将映射给hyper-v server的卷assign给里面的VM用呢?在ESX server上很简单,但在hyper-v下就相对复杂一点:先要把存储卷初始化,创建MBR或者GPT的分区信息,然后使其offline,然后在VM的setting里添加pass-through的磁盘,具体的操作步骤可以参考帖子:
http://defaultreasoning.wordpress.com/2009/04/28/add-a-pass-through-hdd-to-a-vm-in-hyper-v-using-scvmm-2008/
不过这个帖子里没说怎么通过命令行进行磁盘初始化。我自己试了一下,利用diskpart工具,然后通过select disk *,然后clean再create partition primary是可行的。diskpart是个好东西,测试存储相关功能就靠它了,hyper-v server上的diskpart功能比一般服务器上的强大一些;在VM里直接连接存储,如果是iscsi就比较简单,配个ip,通过iscsi initiator就行,如果是Fc就比较麻烦了,要通过NPIV的功能;

今天先写这些,测试完后有必要再补充一些。