数据中心和服务的可用性是IT基础架构最重要的主题之一,并且每天都引起更多关注。 站点之间的数据复制是最大程度地减少业务中断的好方法,因为备份还原操作可能需要很长时间才能满足业务需求,或者设备可能会损坏,并且根据灾难的程度,可能无法恢复数据。 恢复选项的成本从最便宜的(需要更长的恢复时间)到最昂贵的(提供最短的恢复时间,最接近零数据丢失)不等。
PowerHA SystemMirror 7.1.2 Enterprise Edition提供了一种这样的灾难恢复和高可用性解决方案,可帮助自动执行节点故障和应用程序事件并提供高可用性。 它有助于针对选定存储的存储故障自动执行恢复操作,控制站点之间(不同数据中心)之间的存储复制,并实现整个站点故障的恢复,从而确保副本处于一致状态以进行故障转移,从而使您能够构建灾难恢复解决方案。
HyperSwap是PowerHA SystemMirror 7.1.2 Enterprise Edition产品组合的产品之一。 此功能可针对存储错误提供连续可用性。 它基于基于存储的同步复制[对等远程复制(PPRC)或Metro Mirror]。 在定向时(或在磁盘发生故障时),访问主磁盘子系统的IBMAIX®主机可能会透明地切换到数据的备份副本,以使磁盘的客户(例如中间件)不受影响。
HyperSwap是几年前最初在GDPS中引入的一项功能,适用于Metro Mirror PPRC(同步)环境,该环境通过促进立即切换PPRC镜像磁盘子系统来增强Parallel Sysplex的弹性。
HyperSwap技术使主机可以透明地将应用程序的I / O操作切换到辅助Metro Mirror卷,前提是主机和辅助存储子系统之间存在物理连接。 这提供了从一个站点或地铁距离内的多个位置提供连续操作的能力。 通过实施HyperSwap,可以承受磁盘故障和维护功能,而不会中断应用程序服务。
该解决方案可以为客户提供更好的灾难恢复解决方案,并可以证明PowerHA与IBM存储的紧密集成。
HyperSwap技术可以使PowerHA SystemMirror为客户支持以下功能:
消除作为主要故障点的主磁盘子系统,以在城域距离内提供下一级别的连续操作支持。 启用存储维护,而无需任何应用程序停机。 启用从旧存储到新存储的迁移。所有这些用例均属于HyperSwap活动的两种类型之一:
计划外的HyperSwap :当主存储发生故障时,承载应用程序的OS通过执行PPRC故障转移来检测事件并做出React,从而将应用程序的I / O活动透明地重定向到辅助存储子系统,从而允许应用程序继续运行没有任何中断。 请注意,在这种情况下,操作系统中的操作系统的小型计算机系统接口(SCSI)磁盘驱动程序会检测到错误,并在多个主机之间做出决定以完全切换到辅助存储子系统。 在HyperSwap交换过程中,I / O活动将暂时冻结,无法继续进行。 在这段时间内,请注意,应用程序不会遇到故障,而是会遇到非致命的延迟。 计划的HyperSwap :在这种情况下,管理员会主动从主存储子系统到辅助存储子系统启动HyperSwap。 当管理员请求计划的HyperSwap时,在群集中的主机之间进行协调后,将冻结I / O活动。 执行交换,然后允许I / O操作继续。 计划的HyperSwap对在主存储上执行维护任务以及将数据从旧存储迁移到新购买的存储子系统很有帮助。图2显示了支持HyperSwap的组件。
与AIX的HyperSwap相关的组件包括:
集群感知AIX(CAA) 编排集群范围内的动作 PowerHA HyperSwap内核扩展 与CAA合作以协调与其他节点的行动 分析来自PowerHA框架和AIX存储框架的消息并采取适当的措施 确定交换动作 AIX存储框架 使用带有存储的AIX界面 与PowerHA HyperSwap内核扩展紧密合作 管理存储状态 通知PowerHA HyperSwap内核扩展有关I / O错误的信息 从PowerHA HyperSwap内核扩展获取交换决定,并将订单发送到AIX PCM(MPIO)PowerHA对HyperSwap的支持具有以下优点:
提供持续的可用性以防止存储故障 替换辅助存储来代替发生故障的主设备 无干扰,并保持应用程序运行本节列出了PowerHA SystemMirror Enterprise Metro Mirror HyperSwap支持的硬件和软件要求。
PowerHA SystemMirror HyperSwap的硬件要求包括:
DS8800存储设备 电源固件级别:IBMPOWER7®或更高 DS8800固件:6.3或更高版本,微代码:86.30.49.0或更高版本 地铁镜牌照 存储子系统之间的存储区域网络(SAN)连接 Metro Mirror的存储之间的光纤通道(FC)连接使用PowerHA配置HyperSwap的软件要求包括:
PowerHA企业版7.1.2版 AIX 6.1 TL8或AIX 7.1 TL2 IBM DSCLI 7或更高版本在计划使用PowerHA的HyperSwap时,需要记录以下注意事项。
HyperSwap for PowerHA仅在IBM DS8800设备上受支持 当前不支持跨站点的并行工作负载,例如Oracle RAC。 请注意,这可能会在将来的版本中更改。 存储子系统之间的SAN连接 虚拟SCSI(VSCSI)不支持DS8800 Metro Mirror(带内)功能,包括HyperSwap。 要使用实时分区移动性(LPM),必须为所有联机镜像组禁用HyperSwap。 LPM完成后,启用HyperSwap。 磁盘复制关系必须遵守基础逻辑子系统(LSS)之间的一对一关系。 使用HyperSwap功能的镜像组不支持SCSI保留 交换时间必须计算。 这是PowerHA在镜像组上执行HyperSwap操作时导致的I / O延迟时间(以秒为单位)。 交换超时值特定于群集中的每个镜像组。 计划的HyperSwap的交换超时为120秒,无法更改。 计划外的HyperSwap的交换超时在0到180秒之间。 要确定计划外的HyperSwap的交换超时,应考虑以下因素: 托管应用程序的节点数。 节点数越大,意味着共享更多的信息。 网络延迟和应用程序网络使用率。 应用程序使用的磁盘数。 应用程序的I / O响应时间要求。请注意以下性能注意事项,这一点很重要。
HyperSwap处理将以有时间限制的方式执行(时序特性应可调整,并由AIX Storage Framework强制执行)。 在处理计划内或计划外的HyperSwap时,与其他群集节点的网络通信可以作为尽力而为的操作。 预计这些通信重量较轻,应尽力使响应时间短。 由于带内通信,使用DS8800带内Metro Mirror的资源组的计划故障转移预计将很快完成。 传统上,带外性能次优(由于DSCLI性能问题)。在计划实施时应牢记以下注意事项:
DS8800上的I / O冻结操作在整个LSS上运行。 如果单个DS8800 LSS包含来自多个应用程序的PPRC卷,并且其中一个复制链接断开,则所有PPRC路径都将被销毁。 而且,如果其中一些应用程序不是由PowerHA管理的,则客户必须手动重新创建某些PPRC路径。 任何存储级PPRC配置更改后,PowerHA重新发现实用程序都必须运行。 这包括在任何时候执行新PPRC路径的更新(例如添加,删除或更改)。 此外,在此时间窗口内执行(或自动触发)的HyperSwap功能可能会导致意外行为。 磁盘复制关系必须遵守基础LSS之间的一对一关系。 为存储库磁盘启用HyperSwap将需要指定备用磁盘。 使用原始磁盘的应用程序应提前打开所有磁盘以启用HyperSwap功能。 HyperSwap不会自动将SCSI保留(如果有)从主磁盘转移到辅助磁盘。在计划使用PowerHA的HyperSwap时,请牢记以下限制和当前限制:
VSCSI不支持带有PowerHA的HyperSwap。 仅在IBM DS8800和更高版本的系统上支持它。 必须预先定义存储级PPRC关系和PPRC路径(在PowerHA配置之前)。 DS8800的冻结操作在整个LSS上运行。 如果单个DS8800 LSS包含来自多个应用程序的PPRC卷,并且其中一个复制链接断开,则所有PPRC路径都将被销毁。 如果其中一些应用程序不是由PowerHA管理的,那么客户将必须手动重新创建某些PPRC路径。 在执行任何存储级PPRC配置更改(例如,添加,删除或更改新的PPRC路径)之后,必须运行PowerHA重新发现实用程序。 此外,在此时间窗口内执行(或自动触发)的HyperSwap功能可能会导致意外或不良行为。 受基本AIX设备驱动程序支持的限制,应可提供对实时分区移动性(LPM)的支持。 rootvg镜像组上的HyperSwap启用/禁用操作应适用于群集的所有节点。 同样,对存储库磁盘镜像组的HyperSwap启用/禁用操作应适用于两个站点。 磁盘复制关系必须遵守基础LSS之间的一对一关系。 为存储库磁盘启用HyperSwap将需要指定备用磁盘。 使用原始磁盘的应用程序有望提前打开所有磁盘,并且在满足此条件之前,HyperSwap功能可能不可用。 对于由PowerHA Inband / HyperSwap支持管理的磁盘,不支持在PowerHA外部执行的PPRC操作,这可能会导致未定义或意外的结果。 不能同时访问同一(主)PPRC磁盘但跨越多个站点的并发工作负载。 将来可能会改变。 不支持对PPRC主卷和PPRC辅助卷执行I / O的主动-主动工作负载。在开始之前,请注意以下几点:
使用了AIX路径控制模块(PCM)驱动程序。 输入以下命令,将属于存储系统的所有磁盘配置为使用AIX_AAPCM驱动程序。 将需要重新启动。 manage_disk_drivers –d device –o AIX_AAPCM HyperSwap镜像组中使用的磁盘不支持SCSI保留。 验证是否未设置磁盘预留。 devsrv –c query –l hdisk_name 该命令返回以下数据: ODM Reservation Policy : NO RESERVE Device Reservation Policy : NO RESERVE 要创建HyperSwap磁盘,请先在存储子系统和AIX中准备磁盘对,然后再在PowerHA中进行配置。 选择两个磁盘(每个子系统一个),以对HyperSwap磁盘进行镜像。 选择两个磁盘,每个存储子系统中一个磁盘,以配对PPRC(例如,hdiskA和hdiskB)。我们需要两个磁盘,每个DS8800存储系统一个磁盘。 已经使用的磁盘可以用于HyperSwap; 但是,必须特别注意确保数据完整性。
/ opt / ibm / dscli / bin中的lshostvol.sh命令显示磁盘属性,包括存储系统LSS ID。 卷ID包含以下数据:
<vendor_name>.<storage_type>-<serial_number>/<LSS_ID><volume_ID>示例: IBM.2107-75TL771/BC00
选择两个磁盘进行PPRC对。 要创建PPRC对,我们需要两个存储都使用WWPN,这可以通过lssi命令从每个存储系统中获得。
我们还需要知道可用于连接这对磁盘的端口号。 可以使用lsavailpprcpair命令获得它。
建立从hdiskA到hdiskB的连接路径(使用mkpprcpath命令)。我们使用从hdiskA建立连接路径hdiskB mkpprcpath DSCLI命令,并使用检查状态lspprcpath命令。
句法:
/opt/ibm/dscli/dscli/mkpprcpath –dev <Local Storage ID -srclss <Source LSS ID> -tgtlss <Target LSS ID> -remotewwnn <Remote Storage WWNN> <IO Port1>:<IO Port2>例:
/opt/ibm/dscli/dscli/mkpprcpath –dev IBM.2107-75TL771 –srclss 9A –tgtlss BC –remotewwnn 50050763081B06D4 I0102:I0334 建立从hdiskB到hdiskA的连接路径(使用mkpprcpath命令)。我们可以使用从hdiskB建立连接路径hdiskA mkpprcpath DSCLI命令,并使用检查状态lspprcpath命令。
句法:
/opt/ibm/dscli/dscli/mkpprcpath –dev <Local Storage ID -srclss <Source LSS ID> -tgtlss <Target LSS ID> -remotewwnn <Remote Storage WWNN> <IO Port1>:< IO Port2>例:
/opt/ibm/dscli/dscli/mkpprcpath –dev IBM.2107-75LY981 –srclss BC –tgtlss 9A –remotewwnn 500507630AFFC16B I0334:I0102 在一个方向上建立hdiskA和hdiskB的卷对(使用mkpprc命令)。现在,我们使用mkpprc命令在一个方向上建立hdiskA和hdiskB的卷对。
句法:
/opt/ibm/dscli/dscli/mkpprc –dev <Local Storage ID> -remotedev <Remote Storage ID> -mode <value> -type <mmir/gcp> <Local LSS>:<Remote LSS>例:
/opt/ibm/dscli/dscli/mkpprc –dev IBM.2107-75TL771 –remotedev IBM.2107-75LY981 –mode full –type mmir BC00:9A00 在所有节点上(使用chdev命令从所有节点上)为hdiskA启用HyperSwap。接下来,我们需要为PPRC对启用HyperSwap功能。 使用chdev命令使磁盘具有HyperSwap功能。
句法:
$ chdev –a san_rep_cfg=migrate_disk –l hdiskX –U例:
$ chdev –a san_rep_cfg=migrate_disk –l hdisk25 –U命令成功后,辅助磁盘将不可用。 更改为定义状态。 对所有其他节点重复此步骤。
本节介绍了为HyperSwap设置的一些可调参数。
表1:HyperSwap相关的配置设置
名称 零件 值 描述 丁克 协议驱动程序(fscsi) 已启用 如果更改了设备的N_port ID,则提供透明的I / O恢复 (例如,由于光纤通道从一个交换机端口移动 到另一个)。 在主机总线适配器(HBA)级别处理此选项。 fc_err_recov 协议驱动程序(fscsi) fast_fail 使您能够检测到交换机和交换机之间的光纤通道问题。 储存设备。 hcheck_interval 磁盘驱动程序(hdisk) 60 健康检查请求发送到存储设备的时间间隔。 默认设置为60秒。 rw_timeout 磁盘驱动程序(hdisk) 30(DS8000) DS8000读/写超时值设置为30秒 timeout_policy 磁盘驱动程序(hdisk) fail_path(DS8000) DS8000的默认值表中引用的大多数值是AIX 7.1中的缺省设置。 但是,可能需要将它们设置为AIX 6.1上表1中所示的值。
与HyperSwap相关的活动取决于两个时间组件,即故障检测时间和实际交换时间。
故障检测时间取决于故障的环境和情况,并且与上表中提到的许多时间部分有关。 超时和重试是失败声明时间的重要部分。 实际交换时间取决于AIX设备驱动程序和PowerHA集群组件一起工作,以建立对HyperSwap的需求,在整个集群中进行协调,然后执行实际交换(任何网络问题都可能导致网络协调方面的延迟,并可能导致超时/延迟或HyperSwap失败)。 交换操作时间本身取决于磁盘数量,因此取决于DS8800执行交换所花费的时间。 此外,实际的交换时间取决于发出交换操作时遇到的软可恢复错误的超时和重试(如果有)。表2提供了与交换时间有关的度量标准,以及它在各种情况下对应用程序的影响。
表2:交换时间指标
交换类型 交换时间 对应用透明 计划的用户镜像组 4秒 是的,如果没有读取并且进行了合理数量的写入操作,则几乎是透明的 计划系统镜像组 少于1秒 是 计划的存储库镜像组 少于1秒 是 纯写应用程序的计划外交换 30秒(可调) 是的,如果写操作不是太高 计划外交换纯读取应用程序 30秒(可调) 不,应用程序在交换的整个过程中都挂起。在满足所有先决条件并完成初始磁盘配置之后,我们需要配置PowerHA SystemMirror集群并将HyperSwap磁盘添加到资源组。 您需要执行以下步骤来配置PowerHA。
确保已安装所有必需的文件集(包括cluster.es.genxd) 。 在所有节点上填充要用于通信路径的IP标签的CAA rhosts文件(/ etc / cluster / rhosts)。 重新启动clcomd守护程序。 通过smitty sysmirror > 群集节点和网络 > 多站点群集部署 > 设置群集,节点和网络来配置群集 。 选择集群类型为“ 拉伸”或“ 链接” 。 对于我们的测试,我们使用Stretched 。 然后,选择要由CAA使用的存储库磁盘和多播地址。 这可以通过smitty sysmirror > 群集节点和网络 > 多站点群集部署 > 定义存储库磁盘和群集IP地址来完成。 验证并同步集群。 成功完成验证过程后,将配置CAA群集。 使用支持HyperSwap的磁盘为所有节点创建一个卷组。 定义存储和站点关联。 使用路径smitty cm_add_strg_system或smitty sysmirror > 群集应用程序和资源 > 资源 > 配置DS8800 Metro Mirror(带内)资源 > 配置存储系统 > 添加存储系统 。 也对辅助站点存储重复此步骤。 为HyperSwap磁盘设置以下镜像组。 用户镜像组 Cluster_repository镜像组 SystemMirror组使用路径smitty cm_cfg_mirror_grps或smitty sysmirror >群集应用程序和资源 > 资源 > 配置DS8800 Metro Mirror(带内)资源 > 配置镜像组 > 添加镜像组。 您可以选择配置user , system或cluster_repository镜像组。 有关各种镜像组的更多详细信息,请参阅IBMRedbooks®的PowerHA SystemMirror 7.1.2 Enterprise Edition for AIX 。
创建具有站点策略的资源组。 选择“ 首选主站点”或“在任一站点上联机”作为站点间管理策略。 将镜像组和卷组添加到资源组。 使用smitty sysmirror > 群集应用程序和资源 > 资源组 。 验证并同步。 启动群集服务。以下提示可在配置过程中提供帮助,并有助于实现高可用性。
每个DS8800在生产中使用多个控制器,以实现高可用性。 在生产环境中,建议将存储库磁盘放在两个站点上(通过使用链接集群安装程序),以避免站点故障,从而对系统造成多重影响,或者使用HyperSwap功能支持存储库镜像组。 建议遵循以下规则,以实现HyperSwap的更好性能: 尽可能将同一应用程序的所有HyperSwap磁盘保留在同一LSS中。 尽可能不要在同一个LSS中混合使用不同应用程序的HyperSwap磁盘。 最佳做法是在使用磁盘之前修改可调参数。 您可以使用chdev命令更改可调参数: # chdev –l hdiskX –a rw_timeout=60 您可以将PowerHA工具用于计划的HyperSwap。 这可用于维护存储子系统,从而不会中断应用程序。 应用程序或数据库的所有群集节点上的用户和组定义必须相同。 对于AIX上的Oracle 11g,为了在分配共享内存时允许操作系统使用16 MB页面或固定内存,Oracle用户ID必须设置以下功能: CAP_BYPASS_RAC_VMM和CAP_PROPAGATE 。翻译自: https://www.ibm.com/developerworks/aix/library/au-aix-hyper-swap/index.html
相关资源:概念PowerHA SystemMirror HA7.1