[ English | Indonesia | русский ]
恢复计算主机故障¶
以下过程适用于使用共享存储的情况下的计算节点故障。
注意
如果未使用共享存储,可以将数据从故障计算节点 /var/lib/nova/instances 目录复制到另一个节点 ${FAILED_NODE} ${RECEIVING_NODE},然后再执行以下过程。请注意,此方法不受支持。
重新启动故障节点上的所有实例。
调用 MariaDB 命令行工具。
生成托管在故障节点上的实例 UUID 列表
mysql> select uuid from instances where host = '${FAILED_NODE}' and deleted = 0;将故障节点上的实例设置为由另一个节点托管
mysql> update instances set host ='${RECEIVING_NODE}' where host = '${FAILED_NODE}' \ and deleted = 0;
重新启动之前查询中列出的故障节点上的每个实例,以重新生成 XML 文件
# nova reboot —hard $INSTANCE_UUID
查找卷以检查实例是否已成功启动并已到达登录界面
mysql> select nova.instances.uuid as instance_uuid, cinder.volumes.id \ as voume_uuid, cinder.volumes.status, cinder.volumes.attach_status, \ cinder.volumes.mountpoint, cinder.volumes,display_name from \ cinder.volumes inner join nova.instances on cinder.volumes.instance_uuid=nova.instances.uuid \ where nova.instances.host = '${FAILED_NODE}';
如果找到行,请使用之前查询中列出的值分离并重新连接卷
# nova volume-detach $INSTANCE_UUID $VOLUME_UUID && \ # nova volume-attach $INSTANCE_UUID $VOLUME_UUID $VOLUME_MOUNTPOINT
按照 添加计算主机 中所述重建或替换故障节点。