■ 北京 韦群
编者按:Veritas和各大运营商以及国内的系统集成商合作,参与了业务运营支撑系统改造、数据保护、容灾和网管等项目的建设。在LTBJ新业务运营支撑系统建设中,核心系统引入Veritas Storage Foundation for Oracle RAC(以后简称SF Oracle RAC)提升存储系统管理能力。
V e r i t a s S t o r a g e Foundation采用独特的镜像双写技术,构造全冗余的存储高可用架构,在存储层面实现“HA(High Availability高可用)”,当一个存储发生硬件故障时,业务系统主机会自动采用另一个镜像存储提供数据,核心业务丝不受影响。
Storage Foundation能够实现异构存储之间的高可用,最大限度避免来自同构同型号存储的Bug并发影响。该技术彻底消除核心业务系统的存储单故障点,减少业务中断风险,有效加固存储层面的高可用性,减少意外停机时间。
V e r i t a s D y n a m i c Multi-Pathing (DMP)通过使用路径故障转移和负载平衡来提供更高的性能。该功能可用于不同供应商的多端口磁盘阵列。
其主要功能如下:
(1)光纤多通道的Fast failover 快速切换;
(2)I/O路径优化,提供多种算法;
(3)自动发现失效光纤路径,并自动启用恢复的光纤路径;
(4)动态监测多路径的状态;
SF Oracle RAC使用I/O防护来消除与裂脑相关风险。I/O防护允许活动集群的成员进行写访问并阻止非集群成员对存储进行访问。
I/O防护功能由基于内核的防护模块(vxfen)提供,该功能在发生节点故障和通信故障时会采取相同的措施。当节点上的防护模块收到GAB模块的通知,告知集群成员集发生了更改时,该防护模块会立即启动防护操作。该节点会使用“抢占并中止”命令,尝试将已脱离节点的key逐出fencing磁盘。
SF Oracle RAC使 用CFS管理大型数据库环境中的文件系统,通过部署CFS,将相同的文件系统同时MOUNT到多个节点上,实现同时共享文件系统。
由于CFS是VxFS的扩展,所以它以类似的方式运行并在内存中缓存数据。CFS使用称为Global Lock Manager (GLM)的分布式锁机制确保所有节点都具有一致的文件系统视图。GLM通过协调对文件系统元数据的访问,实现跨节点的元数据和缓存的一致性。
V e r i t a s C l u s t e r Server(VCS)通过控制组件层的启动和关闭,以及提供监视功能和故障通知功能来指示SF Oracle RAC操作。在典型SF Oracle RAC配置中,VCS的Oracle RAC服务组作为“并行”服务组而不是“Failover”服务组运行;发生故障后,没有发生故障的节点的服务组继续运行,故障节点VCS不会尝试迁移发生故障的服务组。相反,可以使用该软件将该服务组配置为在发生故障时重启。
ODM(Oracle Disk Manager)是Oracle提供的磁盘管理工具,在Oracle 9i后,Oracle使 用Oracle磁盘管理组件(Oracle Disk Manager)来管理数据,提高oracle数据库的输入输出数据吞吐量。Veritas提供了ODM的扩展,可以在VxFS文件系统的基础上,为Oracle提供更高的读写速率和更简便的管理,其在VxFS文件系统上的读写速率和裸设备属于同一量级。在Veritas ODM管理下的数据文件使用连续的存储空间,从而不会出现文件上的碎片。
本次安装主机平台选用AIX6.1。
SFRAC的版本为5.1SP1。
(1)配置主机信任关系,按要求设置环境变量。
(2)按硬件兼容性手册要求,修改光纤卡参数设置。
根据硬件兼容列表要求,设置光纤卡参数:
# chdev -l fscsi0 -a fc_err_recov=fast_fail -P
# chdev -l fscsi0 -a dyntrk=yes -P
重启生效。
(1)VCS资源、资源组统一命名规则。
C l u s t e r n a m e &cluster id命名按规则要求。
ServiceGroup:命 名 以dg名为基础,依次命名。
Resource:需 要 配 置mount和dg两种资源。均按要求统一命名。
(2)安装按统一步骤要求,避免不同机器之间安装的差异。
(1)统一格式化所有HDS硬盘
(2)确定磁盘使用顺序,以取得最优读写性能
根据disk 大小和name,对应HDS LUN masking,挑出用于数据保护的磁盘fencingdisk,fencingdg 的名字统一为vxfendg。
(3) 创 建 所 需 dg、volume、fs等
创建共享dg
vxdg -s init dg diskxx diskxxx ....
设置dg属性
vxdg -g dg set activ ation=sw disk detpolicy=g lobal dgfailpolicy=reques tleave
(1)DMP针对array链路判断机制的参数优化
fixedretry retrycount是阵列层面的参数,要针对每一个阵列更改。
根据DMP多路径的条数,使得fixedretry方式下retrycount(对 enclosure的链路retry总数量)的数量 是 dmp_retry_count(每条链路上retry的次数)数量的2-3倍。
(2)计费文件系统优化之碎片整理
规则:每周一次,2点到5点之间, 避开业务高峰的30-7号,做文件碎片优化。
(3)对于镜像卷的read优化
由于盘阵的raid组不够多,盘阵整体性能可能并不理想。我们可以通过调整read方式提供卷的读性能。
根据测试,确认round策略客户系统中性能较好。
要将读取策略设置为round,使用以下命令:
# vxvol [-g diskgroup] rdpol round volume
(4)GAB在和HAD通讯不上时Panic系统行为的优化
当系统负载高时,VCS守护进程HAD进程因为某种原因无法按时向gab发送心跳,这种情况下,GAB会采取kill HAD的做法,kill后由hadshadow重启HAD进程。但当HAD进程由于某种原因无法被GAB成功kill的话,GAB为了保持Cluster一致性会强行panic系统。建议优化该影响系统可用性的参数设置,同时加强系统监控,及时发现问题。
在启动后系统自动enable该参数, 应该更改/etc/gabtab文件,增加-k的option。
(5)SFCFS/SFRAC文件系统和磁盘组资源参数的优化
当系统性能出现瓶颈时,VCS的monitor程序有可能出现无法在默认时间之内return的问题,此时VCS将采取调用clean来强行offline资源。为避免这种情况:
对相关资源的monitor timeout 从60s优化至180s;延长monitor 返回值的时间。
对相关资源的RestartLimit从0优化至5;增加了当资源状态异常时先不进行clean 操作,而是再一次进行online操作尝试,如果online 成功即不再clean资源,最大程度地提高应用的高可用性。
(6)CRS timeout参数的优化
修改CRS默认timeout时间为300s,避免CRS快速Panic 系统。
检查当前值:
修改:
# /apps/crshome/bin/crsctl set css misscount 300
# /apps/crshome/bin/crsctl set css disktimeout 300
(7)SFCFS/SFRAC LLT的优化
在系统资源极其紧张的情况下,LLT的进程可能没有响应,导致了LLT报错,当超过默认的16s后Cluster即认为LLT 心跳失效从而引发vxfencing 进行动作,导致系统panic。为了更有效地规避该问题,建议将LLT的peerinact优化为32s。
在/etc/llttab后添加:
s e t-t i m e r t i m e r peerinact:3200
功能性测试,验证是否对存储系统进行有效管理,各项基本功能是否实现;
冗余性测试,验证是否能够对各种故障进行适当地处理,从而保证业务系统在出现单点故障时还能继续工作;
压力测试, 当系统压力急剧增加时,是否能够合理应对,及应急方案。