恢复系统配置

本过程用于在以下情况下恢复系统配置:仅当恢复过程已失败,或者不需要卷上所存储的数据这些情况下。

开始之前

该配置恢复过程旨在恢复有关配置的信息,如卷、存储池和节点。不会恢复已写入卷的数据。 要恢复卷上的数据,必须分别从任何在集群系统上将卷用作存储器的应用程序恢复应用程序数据。Therefore, you must have a backup of this data before you follow the configuration recovery process.

如果在备份系统配置时对系统启用了 USB 加密,那么节点容器 USB 端口中至少插入了 3 个 USB 闪存驱动器才能恢复配置。USB 闪存驱动器无需包含任何密钥。USB 设备在复原过程中用于生成新密钥。

关于此任务

您还必须定期备份配置数据和应用程序数据,以防止数据丢失。如果发生严重故障之后系统丢失,那么系统配置和应用程序数据都会丢失。必须将系统刚好恢复为故障之前的状态,然后恢复应用程序数据。

在恢复过程中,会将节点和存储机柜恢复到系统,然后会重新创建并配置 MDisk 和阵列。 如果涉及多个存储机柜,那么将基于机柜标识在适当机柜上恢复阵列和 MDisk。

要点:
  • 对于所含节点连接到 iSCSI 虚拟化的外部控制器的 Storwize® V3500 系统,必须将所有节点添加到系统后才能复原数据。此外,在复原数据之前,还必须手动重新应用系统 cfgportip 设置和 iSCSI 存储端口。请参阅步骤 10
  • 针对 VMware vSphere 虚拟卷(有时称为 VVol)环境,在 T4 复原后,已完成部分虚拟卷配置步骤:已创建 metadatavdisk,已创建用户组和用户且已创建 adminlun 主机。 但是,用户接下来必须手动完成最后两个配置步骤(在 IBM® Spectrum Control Base Edition 上创建存储容器以及在 VMware vCenter 上创建虚拟机)。请参阅配置 虚拟卷

如果对运行 CLI 命令的指示信息不了解,请参阅命令行界面参考信息。

要恢复配置数据,请执行以下步骤:

过程

  1. 在运行此恢复过程前,验证是否所有节点都可用作候选节点。必须移除错误 550 或 578 才能将节点置于候选状态。
  2. 通过 USB 闪存驱动器中提供的初始化工具使用 IP 地址对系统进行初始化。
  3. 上载 SSH 公用密钥文件以允许对系统 CLI 进行 ssh 访问。使用缺省超级用户密码 (passw0rd)。在桌面上使用以下 CLI 命令:
    pscp -pw passw0rd ssh_public_key_file superuser@cluster_ip:/tmp/
    其中 cluster_ip 是要为其恢复配置的系统的 IP 地址或 DNS 名称。
  4. 通过使用命令行界面,发出以下命令以登录到系统:
    plink -pw passw0rd superuser@cluster_ip
  5. 发出以下 CLI 为超级用户配置公用 SSH 密钥:
    chuser -keyfile /tmp/ssh_public_key_file superuser
    现在您可以使用专用 SSH 密钥文件来代替缺省超级用户密码以通过 SSH 连接到系统。
    注: 由于 RSA 主机密钥已发生更改,因此在下次使用 SSH 连接到系统时可能会显示一条警告消息。
  6. 缺省情况下,会在存储层中创建最新初始化的系统。系统层不会自动从配置备份 XML 文件恢复。如果您要恢复的系统先前是在复制层配置的,那么现在必须手动更改此层。有关复制层和存储层的更多信息,请参阅页面底部的相关概念部分中的系统层主题。
  7. 如果集群系统之前配置为复制层,那么使用 chsystem 命令更改层设置。
  8. 确定要从中进行复原的配置备份文件。 该文件可以是备份配置时保存的配置备份 XML 文件的本地拷贝,也可以是节点之一上的最新文件。将在每天系统时间 01:00 自动备份配置节点上的配置数据。
    注意: 继续执行操作前,必须将此备份文件复制到另一台计算机。首先发出以下 CLI 命令以确定节点的面板名称:sainfo lsservicenodes
    要保存数据的拷贝,请执行以下步骤以检查所有两个节点上的备份文件:
    1. 使用以下命令列出节点上 /dumps 目录中的文件:
      sainfo lsfiles panel_name
      其中 panel_name 是节点面板名称。
    2. 查找以 svc.config.cron.xml 开头并以面板名称结尾的文件名。
    3. 使用以下命令将该文件拷贝到配置节点:
      satask cpfiles -prefix /dumps/filename -source panel_name
      其中 filename 是文件名。 该拷贝以 sainfo lscmdstatus 完成。显示的 cpfiles_status 从:
      cpfiles_status Active
      cpfiles_status_data Copying 1 of 1
      更改为:
      cpfiles_status complete
      cpfiles_status_data Copied 1 of 1
    4. 将该文件下载到您的计算机上。 从您的桌面发出以下命令:
      pscp -i ssh_private_key_file superuser@cluster_ip:/dumps/filename full_path_to_desktop_copy_location
      其中 filename 是系统上以 svc.config.cron.xml 开头的文件名,而 full_path_to_desktop_copy_location 是要将此文件复制到的桌面上的位置。
  9. 将要从中进行恢复的 XML 备份文件复制到系统上。
    pscp full_path_to_identified_svc.config.file 
    superuser@cluster_ip:/tmp/svc.config.backup.xml
  10. 如果系统包含任何 iSCSI 存储控制器,必须现在手动检测这些控制器。必须先将连接到这些控制器的节点、iSCSI 端口 IP 地址以及 iSCSI 存储端口添加到系统,然后才能复原数据。
    1. 要添加这些节点,请从配置备份文件确定任何此类节点的面板名称、节点名和 I/O 组。要将这些节点添加到系统,请运行以下命令:
      svctask addnode -panelname panel_name -iogrp iogrp_name_or_id -name node_name

      其中 panel_name 是面板上显示的名称,iogrp_name_or_id 是要将此节点添加到的 I/O 组的名称或标识,而 node_name 是节点名。

    2. 要复原 iSCSI 端口 IP 地址,请使用 cfgportip 命令。
      1. 要从配置备份文件复原 IPv4 地址、确定 id (port_id)、node_id、node_name、IP_address、掩码、网关、主机(0/1 表示 no/yes)、remote_copy(0/1 表示 no/yes)和 storage(0/1 表示 no/yes),请运行以下命令:
        svctask cfgportip -node node_name_or_id -ip ipv4_address -gw ipv4_gw -host yes | no -remotecopy yes | no -storage yes | no port_id

        其中,node_name_or_id 是节点的名称或标识,ipv4_address 是端口的 IPv4 版本协议地址,ipv4_gw 是端口的 IPv4 网关地址。

      2. 要从配置备份文件复原 IPv6 地址、确定 id (port_id)、node_id、node_name、IP_address_6、掩码、gateway_6、prefix_6、host_6(0/1 表示 no/yes)、remote_copy_6(0/1 表示 no/yes)和 storage_6(0/1 表示 no/yes),请运行以下命令:
        svctask cfgportip -node node_name_or_id -ip_6 ipv6_address -gw_6 ipv6_gw -prefix_6 prefix -host_6 yes | no -remotecopy_6 yes | no -storage_6 yes | no port_id

        其中,node_name_or_id 是节点的名称或标识,ipv6_address 是端口的 IPv6 版本协议地址,ipv6_gw 是端口的 IPv6 网关地址,prefix 是 IPv6 前缀。

      针对备份配置文件的 node_ethernet_portip_ip 节中的所有(先前配置的)IP 端口完成步骤 b.i 和 b.ii。

    3. 接下来,使用 detectiscsistorageportcandidateaddiscsistorageport 命令检测并添加 iSCSI 存储端口候选项。请确保检测 iSCSI 存储端口,并按照在配置备份文件中看到的顺序添加这些端口。如果不按照正确的顺序添加,可能会导致 T4 故障。步骤 c.i 之后必须执行步骤 c.ii 和 c.iii。必须严格按照相同的顺序对备份配置文件中列出的所有 iSCSI 会话重复这些步骤。
      1. 要从配置备份文件中检测 iSCSI 存储端口、确定 src_port_id、IO_group_id(可选,值为 255 非必需)、target_ipv4/target_ipv6(需要非空目标 IP)、iscsi_user_name(为空时非必需)、iscsi_chap_secret(为空时非必需)和 site(为空时非必需),请运行以下命令:
        svctask detectiscsistorageportcandidate -srcportid
        src_port_id -iogrp IO_group_id
        -targetip/targetip6 target_ipv4/target_ipv6
        -username iscsi_user_name -chapsecret
        iscsi_chap_secret -site site_id_or_name

        其中,src_port_id 是配置端口的源以太网端口标识,IO_group_id 是正在检测的 I/O 组标识或名称,target_ipv4/target_ipv6 是 IPv4/IPv6 目标 iSCSI 控制器 IPv4/IPv6 地址,iscsi_user_name 是正在检测的目标控制器用户名,iscsi_chap_secret 是正在检测的目标控制器 CHAP 密码,site_id_or_name 是为正在检测的站点指定的标识或名称。

      2. 通过运行 lsiscsistorageportcandidate 命令,将发现的 target_iscsiname 与备份配置文件中此特定会话的 target_iscsiname 进行匹配,并使用匹配的索引在步骤 c.iii 中添加 iSCSI 存储端口。

        运行 svcinfo lsiscsistorageportcandidate 命令并确定 target_iscsiname 与配置备份文件中 target_iscsiname 匹配的行的 id 字段。这是要在步骤 c.iii 中使用的 candidate_id

      3. 要从配置备份文件添加 iSCSI 存储端口、确定 IO_group_id(可选,值为 255 非必需)、site(为空时非必需)、iscsi_user_name(备份文件中为空时非必需)和 iscsi_chap_secret(为空时非必需),请提供步骤 c.ii 中匹配的 target_iscsiname_index,然后运行以下命令:
        addiscsistorageport -iogrp iogrp_id -username iscsi_user_name -chapsecret iscsi_chap_secret -site site_id_or_name candidate_id

        其中,iogrp_id 是添加的 I/O 组标识或名称,iscsi_user_name 是正在添加的目标控制器用户名,iscsi_chap_secret 是正在添加的目标控制器 CHAP 密码,site_id_or_name 指定正在添加的站点的标识或名称。

      4. 如果配置是 HyperSwap® 或延伸集群,那么需要复原控 制器名称和站点。要复原控制器名称和站点,通过将 inter_WWPN 字段与新添加的 iSCSI 控制器相匹配,确定备份 XML 文件 中的 controller_name 和控制器 site_id,然后运行以下命令:
        chcontroller -name
        controller_name -site site_id/name
        controller_id/name

        其中,controller_name 是备份 XML 文件中的控制器名称,site_id/name 是备份 XML 文件中 iSCSI 控制器站点的标识/名称 ,controller_id/name 是控制器的标识或当前名称。

  11. 发出以下 CLI 命令以将当前配置与备份配置数据文件进行比较:
    svcconfig restore -prepare
    该 CLI 命令会在配置节点的 /tmp 目录中创建一个日志文件。该日志文件的名称为 svc.config.restore.prepare.log
    注: 至多需要一分钟才能发现各 256-MDisk 批次。 如果输入此命令后收到 MDisk 的错误消息 CMMVC6200W,那么表示可能还没有发现所有受管磁盘 (MDisk)。适当稍等片刻,然后再次尝试 svcconfig restore -prepare 命令。
  12. 发出以下命令以将该日志文件复制到系统可访问的其他服务器:
    pscp superuser@cluster_ip:/tmp/svc.config.restore.prepare.log 
    full_path_for_where_to_copy_log_files
  13. 从当前存储该拷贝的服务器打开该日志文件。
  14. 查看该日志文件以查找错误。
    • 如果发现错误,请纠正导致错误的情况,然后重新发出该命令。必须更正所有错误,才能前进至步骤 15
    • 如果需要帮助,请联系 IBM 支持中心
  15. 发出以下 CLI 命令以恢复配置:
    svcconfig restore -execute

    该 CLI 命令会在配置节点的 /tmp 目录中创建一个日志文件。该日志文件的名称为 svc.config.restore.execute.log

  16. 发出以下命令以将该日志文件复制到系统可访问的其他服务器:
    pscp superuser@cluster_ip:/tmp/svc.config.restore.execute.log 
    full_path_for_where_to_copy_log_files
  17. 从当前存储该拷贝的服务器打开该日志文件。
  18. 查看该日志文件以确保没有出现任何错误或警告。
    注: 您可能会收到一条警告,表明某个许可功能部件未启用。此消息表示在恢复过程后,当前许可设置与先前许可设置不匹配。恢复过程将正常继续,而您可以稍后在管理 GUI 中输入正确的许可设置。

    当通过 SSH 再次登录到 CLI 时,将看到以下输出:

    IBM_Storwize:your_cluster_name:superuser>

下一步做什么

您可以通过发出以下 CLI 命令,在配置的 /tmp 目录中除去任何不想要的配置备份和恢复文件。
svcconfig clear -all