Live Volume with Auto-Failover (LVAFO)是Dell SC系列存储内置的解决方案功能,通俗的讲就是两套SC系列存储建立同步复制的卷能够同时被前端主机进行读写访问,而且还能够实现存储级别的自动故障转移,从而实现存储的“双活”。
两台存储上的Live volume卷将使用相同的设备ID,当主机扫描到备存储上的卷时,不会将这个卷当做一个新的设备,而是主机上的卷设备连接多了几条路径。
以一个500GB卷为例,在没有将备存储上的LV卷映射给主机前,主机上看到2条到主存储LV卷的路径。
[root@ljjr910-a ~]# multipath -ll
mpathd(36000d31000f19000000000000000020f) dm-3 COMPELNT,Compellent Vol
size=500G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 3:0:9:2 sdb 8:16 active ready running
`- 3:0:17:2 sde 8:64 active ready running
映射备存储上的卷后,主机上看到一共看到4条路径,其中2条是到主存储的路径,2条是到备存储的路径。
[root@ljjr910-a ~]# multipath -ll
mpathd (36000d31000f19000000000000000020f) dm-3 COMPELNT,Compellent Vol
size=500G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 3:0:9:2 sdb 8:16 active ready
running <-到主存储的路径
|- 3:0:17:2 sde 8:64 active ready
running <-到主存储的路径
|- 3:0:13:2 sdg 8:96 active ready
running <-到备存储的路径
`- 3:0:19:2 sdi 8:128 active ready
running <-到备存储的路径
关闭主存储后,主机上就只能看到到备存储的2条路径。
[root@ljjr910-a ~]# multipath -ll
mpathd(36000d31000f19000000000000000020f) dm-3 COMPELNT,Compellent Vol
size=500G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 3:0:13:2 sdg 8:96 active ready running
`- 3:0:19:2 sdi 8:128 active ready running
LV with AFO如何实现
Live Volume with Auto-Failover的实现主要有两个关键点,一是两套SC存储内部LV卷都使用与主卷创建时相同的设备ID,二是通过主机上的多路径在完成对设备的封装后,变成一个卷,这个卷同时有到主存储和备存储的路径。一旦主存储出现意外(如断电导致整个存储不可用),主机上的IO只是发生路径的切换,整个切换过程应用不会中断,保障业务的连续运行。
LV with AFO 可靠么
检验方案是否可靠,我们以事实说话,Dell部署服务团多次以实战来检验过,真正的“双活”是不怕测的。
如下是一个比较完整的具有Windows、VMware、Linux平台应用都有的存储双活典型案例。
1VMware vSphere环境实战
在VMware主机层面,2台Dell PowerEdge 服务器部署 vSphere 6.0 U2 虚拟化平台,配置了集群并启用了HA功能,可以在一定程度上避免因为主机的硬件或软件故障引起的非计划停机和业务中断。在存储层面,Dell SC Storage Live Volume Auto-Failover (LVAFO) 提供的存储双活解决方案能避免因单套存储因素引起的服务中断,将2套存储的live volume卷同时映射给虚拟化集群内所有的vSphere 服务器,DataStore所在卷具有如下多路径配置。
在DSM存储管理界面,关闭主存储,模拟主存储故障。
在DSM中查看live volume存储状态,可以看到LV卷的存储角色自动故障转移成功完成。
登录到虚拟化服务器,确认存储卷是否能正常访问,业务系统虚拟机是否正常运行。
文件可以正常上传,虚拟机可以正常运行,不会因为主存储的关机而导致IO停止。
2Windows平台的Oracle RAC环境实战
2台Dell PowerEdge服务器安装windows 2012 R2 服务器操作系统,通过将SC4020主备存储划分过来的磁盘通过ASM整合后部署Oracle Rac数据库,在一定程度上避免因为主机的硬件或软件故障引起的非计划停机和业务中断。在存储层面,Dell SC Storage Live Volume Auto-Failover (LVAF) 提供的存储双活解决方案能避免因单套存储因素引起的服务中断,将2套存储的live volume卷同时映射给2台Windows 2012服务器节点,存储卷多路径设置如下。
在每个RAC节点下,调整ASM磁盘超时的参数asm_hbeatiowait,该参数在Oracle11.2.0.4中默认是15秒,建议修改为120秒。
登录到DSM管理界面,关闭主存储,模拟主存储故障。
在DSM管理页面可以看到存储状态切换成功。
登录到Windows服务器节点,可以看到存储卷还有两条路径在线。
主机层面卷可以正常识别,在Oracle应用层面再确认存储卷是否能正常访问,最后发现RAC数据库依旧能正常运行。
3Linux平台的Oracle RAC环境实战
Oracle RAC运行于Linux平台是目前比较常见的部署方式,而且最大限度的保障业务的连续运行是Dell客户比较关系的话题。
通过将Linux平台的Oracle RAC 与LVAFO结合,能实现一个双机双柜的架构模型。在主机层面通过Oracle RAC实现高可用性,当一个主机出现故障后,RAC中的其它节点能继续提供数据库服务。在存储层面,当一台存储出现故障后,IO切换到另一台存储上。
在存储SC4020-A上创建一个数据卷Data Disk和一个Voting Disk,将卷同时映射给服务器R910-A、R910-B。
在服务器上使用ASMLIB封装数据卷Data Disk和 Voting Disk。
服务器A、B之间运行Oracle RAC。
[root@ljjr910-a ~]# crs_stat -t
Name Type Target State Host
-------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE ljjr910-a
ora.GRID.dg ora....up.type ONLINE ONLINE ljjr910-a
ora....ER.lsnr ora....er.type ONLINE ONLINE ljjr910-a
ora....N1.lsnr ora....er.type ONLINE ONLINE ljjr910-b
ora.asm ora.asm.type ONLINE ONLINE ljjr910-a
ora.cvu ora.cvu.type ONLINE ONLINE ljjr910-b
ora.dsc.db ora....se.type ONLINE ONLINE ljjr910-a
ora.gsd ora.gsd.type OFFLINE OFFLINE
ora....SM1.asm application ONLINE ONLINE ljjr910-a
ora....-A.lsnr application ONLINE ONLINE ljjr910-a
ora....0-a.gsd application OFFLINE OFFLINE
ora....0-a.ons application ONLINE ONLINE ljjr910-a
ora....0-a.vip ora....t1.type ONLINE ONLINE ljjr910-a
ora....SM2.asm application ONLINE ONLINE ljjr910-b
ora....-B.lsnr application ONLINE ONLINE ljjr910-b
ora....0-b.gsd application OFFLINE OFFLINE
ora....0-b.ons application ONLINE ONLINE ljjr910-b
ora....0-b.vip ora....t1.type ONLINE ONLINE ljjr910-b
ora....network ora....rk.type ONLINE ONLINE ljjr910-a
ora.oc4j ora.oc4j.type ONLINE ONLINE ljjr910-b
ora.ons ora.ons.type ONLINE ONLINE ljjr910-a
ora.scan1.vip ora....ip.type ONLINE ONLINE ljjr910-b
将数据卷Data Disk和Voting Disk卷配置成Live Volume Auto Failover,将数据从SC4020-A 同步复制到SC4020-B,确保相关卷的live volume配对关系正常。
在SC4020-B上将数据卷Data Disk和 Voting Disk卷对应的Live Volume卷也映射给服务器R910-A、R910-B;在服务器上查看,每个设备各有4条路径。
[root@ljjr910-a ~]# multipath -ll
mpathe (36000d31000f190000000000000000267) dm-2 COMPELNT,Compellent Vol
size=1.0G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 3:0:7:1 sda 8:0 active ready running
|- 3:0:11:1 sdc 8:32 active ready running
|- 3:0:15:1 sdh 8:112 active ready running
`- 3:0:21:1 sdj 8:144 active ready running
mpathd (36000d31000f19000000000000000020f) dm-3 COMPELNT,Compellent Vol
size=500G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
|- 3:0:9:2 sdb 8:16 active ready running
|- 3:0:17:2 sde 8:64 active ready running
|- 3:0:13:2 sdg 8:96 active ready running
`- 3:0:19:2 sdi 8:128 active ready running
如果使用了多个Voting Disk,还需要调整ASM磁盘超时的参数asm_hbeatiowait,该参数在Oracle11.2.0.4中默认是15秒,建议修改为120秒。
使用HammerDB对RAC数据库进行压力测试。
在DSM管理界面,关掉主存储,存储角色自动切换到备存储。
而在测试过程中,在HammerDB的管理界面上可以看到,应用出现短暂停顿后继续运行。
“好事成双”,通过合理的架构规划,Dell Compellent SC系列存储可以多种环境如Windows 2012、VMware vSphere、Linux环境下,承载多种应用服务如Oracle RAC数据库、NAS服务、虚拟机系统、MSCS集群应用环境,实现真正意义上的存储“双活”。