云主机救援
当OpenStack中云主机出现异常,如启动失败情况下可以使用下面方法对云主机进行救援。
方式一:
1.上传Centos ISO到glance
$ openstack image create --disk-format iso --file CentOS-7-x86_64-DVD-1804.iso centos_iso
2.通过image创建volume
$ openstack volume create --image centos_iso --size 5 centos_iso_vol
3.给虚机挂载iso卷
$ openstack server add volume centos_vm centos_iso_vol
4.启动虚机
$ openstack server start centos_vm
5.通过 vnc console进入启动界面, 选 ESC, 选择启动卷(pci solt)一般为最后一个卷
virtio disk PCI:00:… 如果⽆法确认哪个卷,可以通过以下命令查看pci slot
6.选择Troubleshooting
7.选择Rescue a CentOS system
方式二((推荐):
1.该模式只针对对boot from image创建的Linux云主机使用,boot from volume的云主机和windows云主机不能使用。
2.rescue虚拟机会在ceph里生成一个用指定镜像(如果没有指定则是使用虚拟机的源镜像)创建的卷,rebuild一个newVM,并将原虚拟机的卷作为vdb挂载给newVM, 退出救援模式后, newVM会被销毁。
3.openstack rescue [–image ] [–password] your_vm_id
password参数不起作用
可以指定救援镜像, 如果不指定则使用虚机的源镜像
4.获取第三步启动云主机的vnc访问url
$ openstack console url show your_vm_id
5.复制上一步的url在浏览器中打开并使用之前云主机的用户名密码登录
6.使用xfs_repair修复xfs文件系统损坏(/dev/vdb1不需要挂载)
$ xfs_repair /dev/vdb1
7.退出救援模式
$ openstack server unrescue your_vm_id