华为云Stack虚拟机误删恢复总结
存储恢复
虚拟机误删后,需要先判断存储上是否真的删除了,如果存储上完全删除了就无法恢复,因存储采用的是华为分布式FusionStorage8.0.1存储,本身有预删除功能,上层删除后在存储使用率低时默认会保留72小时后才会真正删除。
首先通过SSH工具,以fsadmin账户登录FSM 管理节点(有浮动IP那台)。
执行命令su - root,输入root账户密码,切换到root帐户。
执行/opt/dfv/oam/oam-u/ismcli/ismcli -u admin 命令,并按提示输入admin帐户的密码登录CLI。
执行show delay_deleted volume pool_id=1(根据现场实际存储池ID填写),查看存储池上延迟删除的磁盘信息,并记录下需要恢复的卷ID给你个卷名。
可以看到存储池上有四块预删除卷,通过卷大小与创建时间判断就是我们需要恢复的虚拟机磁盘,此时可以判断本次误删除可以尝试恢复。
然后执行restore delay_deleted volume volume_id=914(卷ID) volume_name=volume-e78c65……8926(分别填写上一步查询出的四块预删除的卷名),恢复已删除的卷。
全部执行完成后,再次执行show delay_deleted volume pool_id=1查看是否还存在未恢复的卷。
可以看到所有的卷都已经恢复,不存在预删除的卷。
HCS侧恢复
存储恢复后,需要恢复已删除卷在FusionSphere底层的记录,用于重新挂载,同时重新发放一台相同系统的新虚拟机,用于磁盘挂载替换,用于恢复在MO上的记录。
新虚拟机发放后,首先登陆被级联层底层,查询已删除的虚拟机ID。
执行cps template-instance-list --service gaussdb gaussdb查询数据库所在的节点。
登陆数据库所在节点,切换数据库用户,进行cinder数据库。
执行如下截图命令,分别恢复四块已删除的盘信息。
然后参照以上操作步骤,恢复级联层的磁盘信息,全部恢复后重新登陆云平台被级联底层查询磁盘顺序截图如下。
同时在nova数据库中执行select DEVICE_NAME,INSTANCE_UUID from block_device_mapping where INSTANCE_UUID='11c6….3b3';查看挂载设备的名称。
登陆级联层,找到新发放的虚拟机,卸载其新发放的磁盘,并按上两步查询出来的磁盘顺序及对应磁盘盘符执行“nova volume-attach 新的虚拟机id 磁盘id 设备名”重新挂载恢复过来的四块磁盘。
挂载完成后,重启新发放的虚拟机,虚拟机正常启动,观察数据与应用都正常,虚拟机恢复完毕。
- 点赞
- 收藏
- 关注作者
评论(0)