nova rescue vm_instance

which option system is linux

lin.wang 20190426

	openstack环境中的虚拟机的救援模式,在ceph作为cinder backend情况下测试通过.

nova rescue命令使用帮助

[root@node-1 ~]# nova help rescue
usage: nova rescue [--password <password>] [--image <image>] <server> Reboots a server into rescue mode, which starts the machine from either the
initial image or a specified image, attaching the current boot disk as
secondary. Positional arguments:
<server> Name or ID of server. Optional arguments:
--password <password> The admin password to be set in the rescue
environment.
--image <image> The image to rescue with.

在控制节点执行如下命令nova rescue vm_uuid

[root@node-1 ~]# nova rescue 473fbedd-73e3-4163-a859-4010b0e8c4ae --password passw0rd
+-----------+----------+
| Property | Value |
+-----------+----------+
| adminPass | passw0rd |
+-----------+----------+

Note:

这里最好要指定密码,并且作为一个通用救援密码rescue_password,该虚拟机有第一次rescue之后rescue密码就不能改变了,以后再对该虚拟机进行救援,只能使用这个密码了,下次再设置是无效的。

Cause: rescue虚拟机会在ceph里生成一个用指定镜像(如果没有指定则是使用虚拟机的源镜像)创建的卷,rebuild一个newVM,并将原虚拟机的卷作为vdb挂载给newVM,如果已经存在rescue的卷则不会再次生成,所以第二次rescue的密码并不能修改,除非手动删除该rescue卷.

[root@node-1 ~]# rbd ls compute|grep 473fbedd-73e3-4163-a859-4010b0e8c4ae
473fbedd-73e3-4163-a859-4010b0e8c4ae_disk
473fbedd-73e3-4163-a859-4010b0e8c4ae_disk.rescue

在删除该虚拟机的时候会将rescue的卷一并删除.

此时虚拟机会进行重启,Horizon界面的虚拟机状态变为"救援",nova list命令看到虚拟机也会变成RESCUE状态.

rescue的过程,会用创建虚拟机的image作为引导镜像来引导虚拟机,并把虚拟机作为一个vdb盘,挂载到虚拟机上,进入虚拟机后可以通过lsblk可以看到

[root@wl-test2 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 10G 0 disk
└─vda1 253:1 0 10G 0 part /
vdb 253:16 0 60G 0 disk
└─vdb1 253:17 0 60G 0 part

Note:

如何进入rescue模式的虚拟机,此时可以通过ssh连接并使用root/rescue_password 进入虚拟机。比例如:

nova ssh vm_uuid (此方式需要虚拟机有一个物理节点能通信的ip,或者从命名空间ssh连接)

或者通过vnc的方式,页面上不显示vnc标签页,只能通过命令获取vnc地址:

nova get-vnc-console 473fbedd-73e3-4163-a859-4010b0e8c4ae novnc

[root@node-1 ~]# nova get-vnc-console 473fbedd-73e3-4163-a859-4010b0e8c4ae novnc
+-------+----------------------------------------------------------------------------------------+
| Type | Url |
+-------+----------------------------------------------------------------------------------------+
| novnc | https://sz.easystack.cn/novnc/vnc_auto.html?token=f3974443-9541-4447-bc0b-c5f3bfb5c65a |
+-------+----------------------------------------------------------------------------------------+

这里获取的https://...这个url直接复制到浏览器即可打开虚拟机的vnc界面.

将vdb即虚拟机的磁盘挂载给/mnt目录(目录可以任意指定),挂载命令如下:

mount -o nouuid /dev/vdb1 /mnt

此时cd /mnt后,可以看原虚拟机的所有目录

[root@wl-test2 ~]# ls /mnt
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr

修复场景:

1. 忘记了root密码

[root@wl-test2 ~]# chroot /mnt
[root@wl-test2 /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@wl-test2 /]# passwd
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully. 此时root密码已经修改完成 退出rescue状态后,即可使用新密码登录虚拟机root用户 2. xfs文件系统损坏 xfs_repair /dev/vdb1 如果此时有报错 ERROR: The filesystem has valuable metadata changes in a log which needs to be replayed. .... 执行 xfs_repair -L /dev/vdb1 清理掉xfs的日志信息(可能会丢失一些尚未完成的日志数据),再修复.

退出rescue模式:

修复完成后,退出rescue模式,在控制节点执行nova unrescue vm_uuid

[root@node-1 ~]# nova unrescue 5ec5fed5-90ac-464e-a584-6b303c29ff0a

之后,虚拟机会再次重启,进入正常的运行状态,此时界面上的虚拟机的状态变回运行中。

openstack虚拟机rescue模式的更多相关文章

  1. 云计算与OpenStack(虚拟机Nova篇)

    <云计算与OpenStack(虚拟机Nova篇)> 基本信息 作者: 伯龙 程志鹏 张杰 出版社:电子工业出版社 ISBN:9787121201202 上架时间:2013-8-5 出版日期 ...

  2. OpenStack 虚拟机冷/热迁移的实现原理与代码分析

    目录 文章目录 目录 前文列表 冷迁移代码分析(基于 Newton) Nova 冷迁移实现原理 热迁移代码分析 Nova 热迁移实现原理 向 libvirtd 发出 Live Migration 指令 ...

  3. OpenStack 虚拟机冷/热迁移功能实践与流程分析

    目录 文章目录 目录 前文列表 虚拟机迁移的应用场景 需要迁移的虚拟机数据类型 虚拟机迁移的存储场景 文件存储 块存储 非共享存储 迁移的类型 迁移的方式 执行虚拟机冷迁移 冷迁移日志分析 执行虚拟机 ...

  4. 使用salt-cloud创建openstack虚拟机

    salt-cloud也是基于openstack来做的,它可以支持多种云的使用.比如:Aliyun.Azure.DigitalOcean.EC2.Google Compute Engine.HP Clo ...

  5. Vmware虚拟机网络模式及虚拟机与物理机通信方法

    [转]http://www.cqeis.com/news_detail/newsId=1477.html Vmware虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Wind ...

  6. OpenStack虚拟机冷迁移与热迁移

    一.虚拟机迁移分析 openstacvk虚拟机迁移分为冷迁移和热迁移两种方式. 1.1冷迁移: 冷迁移(cold migration),也叫静态迁移.关闭电源的虚拟机进行迁移.通过冷迁移,可以选择将关 ...

  7. 【转载】VMware虚拟机NAT模式网络配置图文教程

    原文:https://blog.csdn.net/dingguanyi/article/details/77829085 一.引言 在Windows上搭建集群实验环境时,为能够让集群结点之间相互通信, ...

  8. Centos 7系统虚拟机桥接模式 固定ip

    前言 本文主要给大家介绍了关于Centos 7系统虚拟机桥接模式的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 主机ping不通虚拟机centos7系统的ip大多有以下原 ...

  9. OpenStack虚拟机快照和增量备份实现

    1 快照的概念一般对快照的理解就是能够将系统还原到某个瞬间,这就是快照的作用.快照针对要保存的数据分为内存快照和磁盘快照,内存快照就是保存当前内存的数据,磁盘快照就是保存硬盘的数据.快照针对保存方式又 ...

随机推荐

  1. JavaScript基础入门 - 01

    JavaScript入门 - 01 准备工作 在正式的学习JavaScript之前,我们先来学习一些小工具,帮助我们更好的学习和理解后面的内容. js代码位置 首先是如何编写JavaScript代码, ...

  2. Android Intent 传递数据注意事项

    不要通过 Intent 在 Android 基础组件之间传递大数据(binder transaction缓存为 1MB),可能导致 OOM.

  3. POJ2975 Nim 【博弈论】

    DescriptionNim is a 2-player game featuring several piles of stones. Players alternate turns, and on ...

  4. chrome主页篡改解决方法

    网上有一个超级细致的小白教学连接,但是发现很难找到,分享一下:https://arlenluo.github.io./2017/03/12/DefeatYourBrowser 还有一种情况是要打开 & ...

  5. css进度条

    1.环形进度条 源码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...

  6. TODO springboot学习笔记

    学习中,是在是搞不懂是什么狗屎....

  7. Activity之间的跳转和数据传输

    1.显式跳转 protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceSt ...

  8. vue的v-model指令

    v-model指令用来绑定表单,数据传值. 如上,当在信息1输入框(表单)中输入值时,数据会对应变化:在信息2输入框中输入值时,数据并未变化. <div id="app"&g ...

  9. wireshark 过滤表达式

    一.针对wireshark最常用的自然是针对IP地址的过滤.其中有几种情况: (1)对源地址为192.168.0.1的包的过滤,即抓取源地址满足要求的包.         表达式为:ip.src == ...

  10. [JDK8] Stream

    1 collect(toList()) collect(toList()) 方法由Stream 里的值生成一个列表,是一个及早求值操作. 2 map 如果有一个函数可以将一种类型的值转换成另外一种类型 ...