openstack虚拟机rescue模式
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模式的更多相关文章
- 云计算与OpenStack(虚拟机Nova篇)
<云计算与OpenStack(虚拟机Nova篇)> 基本信息 作者: 伯龙 程志鹏 张杰 出版社:电子工业出版社 ISBN:9787121201202 上架时间:2013-8-5 出版日期 ...
- OpenStack 虚拟机冷/热迁移的实现原理与代码分析
目录 文章目录 目录 前文列表 冷迁移代码分析(基于 Newton) Nova 冷迁移实现原理 热迁移代码分析 Nova 热迁移实现原理 向 libvirtd 发出 Live Migration 指令 ...
- OpenStack 虚拟机冷/热迁移功能实践与流程分析
目录 文章目录 目录 前文列表 虚拟机迁移的应用场景 需要迁移的虚拟机数据类型 虚拟机迁移的存储场景 文件存储 块存储 非共享存储 迁移的类型 迁移的方式 执行虚拟机冷迁移 冷迁移日志分析 执行虚拟机 ...
- 使用salt-cloud创建openstack虚拟机
salt-cloud也是基于openstack来做的,它可以支持多种云的使用.比如:Aliyun.Azure.DigitalOcean.EC2.Google Compute Engine.HP Clo ...
- Vmware虚拟机网络模式及虚拟机与物理机通信方法
[转]http://www.cqeis.com/news_detail/newsId=1477.html Vmware虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Wind ...
- OpenStack虚拟机冷迁移与热迁移
一.虚拟机迁移分析 openstacvk虚拟机迁移分为冷迁移和热迁移两种方式. 1.1冷迁移: 冷迁移(cold migration),也叫静态迁移.关闭电源的虚拟机进行迁移.通过冷迁移,可以选择将关 ...
- 【转载】VMware虚拟机NAT模式网络配置图文教程
原文:https://blog.csdn.net/dingguanyi/article/details/77829085 一.引言 在Windows上搭建集群实验环境时,为能够让集群结点之间相互通信, ...
- Centos 7系统虚拟机桥接模式 固定ip
前言 本文主要给大家介绍了关于Centos 7系统虚拟机桥接模式的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 主机ping不通虚拟机centos7系统的ip大多有以下原 ...
- OpenStack虚拟机快照和增量备份实现
1 快照的概念一般对快照的理解就是能够将系统还原到某个瞬间,这就是快照的作用.快照针对要保存的数据分为内存快照和磁盘快照,内存快照就是保存当前内存的数据,磁盘快照就是保存硬盘的数据.快照针对保存方式又 ...
随机推荐
- JavaScript基础入门 - 01
JavaScript入门 - 01 准备工作 在正式的学习JavaScript之前,我们先来学习一些小工具,帮助我们更好的学习和理解后面的内容. js代码位置 首先是如何编写JavaScript代码, ...
- Android Intent 传递数据注意事项
不要通过 Intent 在 Android 基础组件之间传递大数据(binder transaction缓存为 1MB),可能导致 OOM.
- POJ2975 Nim 【博弈论】
DescriptionNim is a 2-player game featuring several piles of stones. Players alternate turns, and on ...
- chrome主页篡改解决方法
网上有一个超级细致的小白教学连接,但是发现很难找到,分享一下:https://arlenluo.github.io./2017/03/12/DefeatYourBrowser 还有一种情况是要打开 & ...
- css进度条
1.环形进度条 源码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- TODO springboot学习笔记
学习中,是在是搞不懂是什么狗屎....
- Activity之间的跳转和数据传输
1.显式跳转 protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceSt ...
- vue的v-model指令
v-model指令用来绑定表单,数据传值. 如上,当在信息1输入框(表单)中输入值时,数据会对应变化:在信息2输入框中输入值时,数据并未变化. <div id="app"&g ...
- wireshark 过滤表达式
一.针对wireshark最常用的自然是针对IP地址的过滤.其中有几种情况: (1)对源地址为192.168.0.1的包的过滤,即抓取源地址满足要求的包. 表达式为:ip.src == ...
- [JDK8] Stream
1 collect(toList()) collect(toList()) 方法由Stream 里的值生成一个列表,是一个及早求值操作. 2 map 如果有一个函数可以将一种类型的值转换成另外一种类型 ...