如果发生磁盘故障或其他严重问题,可以使用命令行界面恢复 VMware Integrated OpenStack 部署中的各个节点。

恢复 VMware Integrated OpenStack节点时,它会返回到新部署节点的状态。

前提条件

  • 如果要恢复所有数据库节点,必须具有 OpenStack 数据库的备份。如果要恢复 Swift 节点,必须具有 Swift 环的备份。请参见备份您的部署

  • 确保数据存储有足够的可用空间以同时包含原始节点和恢复的节点。恢复过程将删除原始节点,但暂时需要两个节点的空间。为避免出现此问题,可以在恢复之前关闭现有节点的电源并将其删除。

过程

  1. viouser 用户身份登录到 OpenStack 管理服务器
  2. 按节点或角色恢复 OpenStack 节点。

    要显示您部署中的节点,请使用 viocli show 命令。虚拟机名称角色列中显示的值可用于恢复节点。

    1. 要恢复非数据库节点,请运行以下命令:
      sudo viocli recover {-n node1... | -r role1... [-n node1...]} 

      选项

      说明

      -n

      输入要恢复的节点的名称。

      -r

      输入要恢复的角色的名称。将恢复分配给指定角色的所有节点。除了此参数,还可以指定 -n 恢复指定角色外的单个节点。

    2. 要恢复数据库节点,请运行以下命令:
      sudo viocli recover {-n node1... | -r role} -dn backup-name -nfs nfs-host:/backup-folder

      选项

      说明

      -n

      输入要恢复的数据库节点的名称。对于 HA 部署,可以指定 DB 节点;对于紧凑型或微型部署,可以指定 ControlPlane 节点。

      -r

      对于 HA 部署,指定 DB,对于紧凑型或微型部署,指定 ControlPlane。将恢复所有数据库节点。

      -dn

      输入包含 OpenStack 数据库备份的文件夹。

      OpenStack 数据库备份文件夹采用 vio_os_db_yyyymmddhhmmss 格式。

      -nfs

      remote-host:/remote-dir 格式指定备份所在的 NFS 主机和目录。

    3. 要恢复 Swift 节点,请运行以下命令:
      sudo viocli recover -n node-name -dn backup-name -nfs nfs-host:/backup-folder

      选项

      说明

      -n

      输入单个 Swift 节点的名称。

      -dn

      输入包含 Swift 环备份的文件夹。

      Swift 备份文件夹采用 vio_swift_ring_yyyymmddhhmmss 格式。

      -nfs

      remote-host:/remote-dir 格式指定备份所在的 NFS 主机和目录。

      重要:

      无法按角色或以批处理形式恢复 Swift 节点。为避免数据丢失,请确认已恢复的节点处于正常运行状态,并且在完成向已恢复节点的数据复制后再恢复其他 Swift 节点。

结果

恢复过程可能需要几分钟的时间。您可以通过在 vSphere Client 中查看 OpenStack 部署来查看节点的状态。