在ESXi 5实现iSCSI多路径和负载均衡.docx
《在ESXi 5实现iSCSI多路径和负载均衡.docx》由会员分享,可在线阅读,更多相关《在ESXi 5实现iSCSI多路径和负载均衡.docx(12页珍藏版)》请在冰点文库上搜索。
在ESXi5实现iSCSI多路径和负载均衡
在ESXi5.0之前的版本中,要想实现完整的iSCSIMPIO(容错/负载均衡),需要通过复杂的命令行才能实现。
在ESXi5.0中,可以通过图形管理界面来简单的实现。
步骤:
1首先,新增一个iSCSI-1VMKernel(同时会新建一个vSwitch2),(本案例使用vmnic2/vmnic3两张物理网卡)
2在vSwitch2中,再添加一个iSCSI-2VMKernel
然后会得到这样一个配置的vSwitch2
3在vSwitch2中,编辑iSCSI-1VMKernel的属性,在NICTeaming下的Overrideswitchfailoverorder处打上勾,
然后将vmnic2设为ActiveAdapters,vmnic3设为UnusedAdapters
同样的方法编辑iSCSI-2VMKernel的属性,在NICTeaming下的Overrideswitchfailoverorder处打上勾,
这里要注意,要将vmnic3设为ActiveAdapters,vmnic2设为UnusedAdapters
到此,iSCSIVMKernel设置完成。
4创建SoftwareiSCSIAdapter(iSCSIInitiator)
在ESXi5.0中,默认是不存在SoftwareiSCSIAdapter的,没关系,可以在StorageAdapter中创建一个
5然后在iSCSISAN中给予此iSCSIInitiator访问共享vmfslun的访问权限。
然后在此SoftwareiSCSIAdapter(vmhba35)的属性中设置iSCSILUN的链接。
6在SoftwareiSCSIAdapter(vmhba35)的属性中设置NetworkConfiguration,将iSCSI-1和iSCSI-2加入到其中
然后RescanAllStorage...添加上分配的LUN,这是可以看到PatchStatus由原来Notused变为了Active.
到此,只实现了iSCSIMPIO的容错功能,要实现负载均衡,继续一下步
7打开iSCSIStorage的属性,点击右下角的ManagerPaths...
可以看到默认的Path策略是Fixed(VMWare)-【固定】,在下面的路径信息中可以看到
路径C1的Status为Active(I/O),并在Preferred(首选)中标注了*,而路径C0的Status为Active,Preferred中没有标注*
这个策略是不能实现负载均衡的.
将策略改为RoundRobin(VMWare)-【循环/轮转】
修改完成后可以看到:
路径C1和C0的Status都为Active(I/O),Preferred中都没有标注*
至此,设置基本完成,测试一下多个VM的I/O,可以看到由原来的集中于vmnic2的I/O,现在平均分布到
vmnic2/vmnic3两者当中。
链路负载均衡策略除了以上的基本设置,还可以通过2个主要参数进行细调,以符合不同的要求或环境。
调整RoundRobin策略通过命令行进行操作:
设置完默认的RoundRobin策略后,以命令行模式执行
esxclistoragenmpdevicelist
可以看到RoundRobin策略的默认设置,其中红字处标明了当前启用的策略及其应用参数:
naa.6000eb38732d44470000000000000027
DeviceDisplayName:
LEFTHANDiSCSIDisk(naa.6000eb38732d44470000000000000027)
StorageArrayType:
VMW_SATP_DEFAULT_AA
StorageArrayTypeDeviceConfig:
SATPVMW_SATP_DEFAULT_AAdoesnotsupportdeviceconfiguration.
PathSelectionPolicy:
VMW_PSP_RR
PathSelectionPolicyDeviceConfig:
{policy=rr,iops=1000,bytes=10485760,useA NO=0;lastPathIndex=0:
NumIOsPending=2,numBytesPending=36864}
PathSelectionPolicyDeviceCustomConfig:
WorkingPaths:
vmhba35:
C0:
T0
0,vmhba35:
C1:
T0
0
VMW_PSP_RR说明当前启用了RoundRobin策略
2个主要的参数iops=1000,bytes=10485760
前者限定在进行1000次io操作后切换到下一个路径,后者限定在发送10485760字节的数据后切换到下一个路径
可以通过以下命令行来修改这2个参数的值,以符合不同的要求或环境。
修改iops参数:
esxclistoragenmppsproundrobindeviceconfigset--type=iops--iops888--devicenaa.xxxxxxxxxxxxxxxxxx
修改bytes参数:
esxclistoragenmppsproundrobindeviceconfigset--type"bytes"-B12345--devicenaa.xxxxxxxxxxxxxxxxxx
iSCSILUN的UUID(naa.xxx)可以通过命令:
esxclistoragecorepathlist获取
有很多同志关心JumboFrames的设置,那就补充一下:
要设置JumboFrames,打开连接iSCSISAN的vSwitch(vSwitch2)的属性,在这里你可以针对整个vSwitch2(AllPort)
做JF修改,也可以只针对其中所有设置了MPIO的iSCSIVMkernel(portgroup)做JF修改。
注1:
要能实际启用JumboFrames,整个iSCSI链路的所有连接设备(网卡/OSorHypervisor/交换机/存储端)都要支持和启用JF,
才能实现效果。
另外,不是所有的设备或环境下启用JumboFrames都能带来很大性能的提升,建议以自己的评估测试结果
来决定是否启用。
注2:
另外要提醒一点,如果VM中设置了MSCS群集服务,MSCS不能通过设置为RoundRobin策略
的路径来连接MSCS共享盘,否则会出现I/O错误。