开始新对话

未解决

此帖子已超过 5 年

2793

2013年2月25日 17:00

PowerPath与Native MPIO负载均衡策略介绍

PowerPathNative MPIO负载均衡策略介绍

转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chinese

介绍

主机多路径软件不但可以解决IO路径单点故障问题,结合存储阵列配置还可以实现多路径负载均衡功能。PowerPathEMC公司在业界最早推出的多路径软件。本文为大家对比介绍PowerPath与业界主流操作系统自带多路进软件,大家可以根据实际情况选择合适的多路径软件。

更多信息

PowerPath架构

大部分情况主机都是以Ccontroller:T(target):D(device)格式命名存储分配的lun,不同路径的同一个lun会在主机对应不同的磁盘设备。PowerPath是一个内核模块,位于物理硬件之上文件系统之下,可以合并管理多条路径,并生成一个自定义名称的磁盘提供给主机使用。同一lun不同路径(所有当前可用路径)组成一个Path SetI/O可以在同一个Path Set里面负载均衡和故障切换。

主机多路径软件负载均衡策略介绍

PowerPath

PowerPath软件默支持1HBA卡,每个HBA卡连接两个存储端口。PowerPath安装license后,每个lun可以支持多个HBA卡,最多支持32条路径。与传统Round-Robin轮询方式不同,PowerPath内建自动优化机制,负载均衡策略指定结合不同路径IO统计信息。系统启动后,PowerPath读取设备配置文件,并自动在lun基础上设定最佳负载均衡策略。PowerPath支持EMC和部分non-EMC阵列(比如:HDS)。

PowerPath有多种策略机制,最常用有Symmetrix OptimizedCLARiiON Optimized。其他可用策略有AdaptiveLeast BlockLeast I/ORequestRound RobinStreamIOBasic Failover

Symmetrix Optimized用于symmetrix阵列,CLARiiOn Optimized用于CLARiiONVNX阵列。PowerPath使用这两种机制计算连接主机和Symmetrix/CLARiiON/VNX阵列之间路径的权重,PowerPath选择一个最小权重的路径用于传输I/O。路径权重计算主要包含以下4个因子:

待处理I/O – 指当前路径I/O队列里面待处理I/O数量。

I/O大小 根据I/O大小区别对待,尽量避免大量小I/O排队在大I/O后面

I/O类型 读和写权重不一样

最近使用路径 如果所有路径权重相同,PowerPath使用最近使用的I/O路径。

Windows DSMdevice specific modules

MicrosoftWindows 2003引入MPIO框架,多路径软件以DSM插件方式工作,在此基础之上,Windows 2008引入自带多路径软件。可用策略如下:

Failover – 仅用于故障切换。该策略只有一条路径是活动路径,其他可用路径都作为备用路径。活动路径传输所有I/O,备用路径用于在活动路径故障后切换使用。

Round Robin – 顾名思义就是轮询。

Round Robin(基于部分路径)- 和轮询类似。但是负载均衡只是基于部分路径,另外一部分路径用于待命。该策略通常用于支持ALUA阵列,比如EMCVNXCLARiiON

Least Queue Depth – 最小队列深度,和PowerPath least I/O类似。

Weighted Paths – 基于权重。不同路径分配不同权重。

Least Block – 最少数据块,新的I/O被分配到具有最少待处理I/O数量的路径。

RHEL DM-MPIO(Device Mapper Multipathing)

DM-MPIO默认自带的多路径软件,支持绝大部分存储阵列。配置文件/etc/multipath.conf默认已经包含大量存储阵列自动配置,用户可以根据自己需求修改配置。

RHEL5RHEL6默认策略就是Round Robin,需要注意的是该轮询策略不是基于每个I/O,默认是基于1000I/O,用户可以调整该参数。另外RHEL6提供另外两种策略,分别是Queue-lengthService-timeQueue-length基于路径待处理I/O数量,选择最少数量的路径用于传输I/OService-time基于待处理I/O数量和路径带宽计算预计服务时间。

DM-MPIOPowerPath一样提供路径检测功能,通过multipathd定期检查路径是否正常,检测有多种模式可用,默认是Direct IO。默认每5秒钟检测一次,该参数用户同样可以调整。另外DM-MPIO还支持ALUA,默认配置不包含该功能,需要用户自行配置。

VMware vSphere NMP(Native Multipathing Plugin)

NMPESX/ESXi默认自带的主机多路径软禁啊。NMP兼容的存储阵列可以查询VMware storage HCL列表。NMP有两个主要模块组成:SATPPSP

SATP –SATP与阵列关联。SATP主要三种类型,分别针对Active/ActiveActive/PassiveDASSATP主要功能包含:物理链路监控、物理链路变更报告和执行与故障切换相关的阵列操作。

PSP – PSP与主机路径关联。主要功能就是为I/O选择合适的路径。NMP支持的路由策略主要有三种:

Most Recently Used(MRU) – 使用最近使用的路径。如果路径故障,则切换到其他可用路径。

Fixed – 固定使用配置的路径。如果没有配置,默认使用系统启动最先发现的路径。如果配置路径不可用,随即选择一条可用路径代替;配置路径恢复后,自动切回使用配置路径。

Roudn Robin – 轮询。和RHEL一样,默认基于每1000I/O

HP-UX

HP-UX 11.31之前使用StorageWorks Secure Path作为负载均衡和故障切换方案。HP-UX 11.31及以后操作系统自带多路径功能,默认负载均衡策略是Round Robin,其他可用策略如下:

Least command load – PowerPath Least I/O类似。优先选择最少待处理I/O的路径。

Cell aware Round Robin – 用于支持硬件分区技术的服务器,减少非本地内存访问延迟。

Closest path – Cell aware Round Robin类似,优先使用和当前I/O处理CPU最亲近的路径,这样可以减少延迟。

Preferred path Preferred target port –个人觉得和ALUA类似。

Weighted Round-Robin – 加权轮询。

IBM-AIX PCM(path control module)

PCMAIX一个内核扩展,PCM默认提供两种负载均衡策略:FailoverRound RobinFailover和其他操作系统一样,Round Robin带有一个优先级参数可供管理员配置。AIXRound RobinHP-UX加权轮询类型。

Oracle MPxIO

MPxIOOracle Solaris自带多路径方案。Solaris 10可以通过/kernel/drv/fp.conf配置,Solaris 89可以通过/kernel/drv/scsi_vhci.conf配置。MPxIO自带FailoverRound Robin两种策略,可配置参数很少。

参考

·         EMC Powerpath load balancing and failover

应用于

N/A

5 消息

2013年2月27日 18:00

很好

631 消息

2013年3月12日 21:00

很好的总结,学习了。

找不到事件!

Top