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中new实现原理
JavaScript中new实现原理 1.创建一个空对象 obj 2.将该对象 obj 的原型链 __proto__ 指向构造函数的原型 prototype, 并且在原型链 __proto__ 上设置 ...
- PMP是什么,PMP最难的是哪些内容?
目前在国内很多人还不了解PMP是什么,甚至不知道PMP认证的内容是哪些,考来有什么用,今天我这边就普及一下. PMP认证是美国项目管理协会发起的一项针对项目管理专业人士资格认证.取得认证需要学习项目管 ...
- redis3.2.10单实例安装测试
redis3.2.10单实例安装测试 主要是实际使用环境中使用,为了方便快速部署,特意记录如下: # root用户 yum -y install make gcc-c++ cmake bison-de ...
- Kubernetes之canal的网络策略(NetworkPolicy)
安装要求: 1.我们这里安装的是3.3的版本.kubernetes的要求: 支持的版本 1.10 1.11 1.12 2.CNI插件需要启用,Calico安装为CNI插件.必须通过传递--networ ...
- CentOS使用@Value注解为属性赋值的时候出现乱码
在本地开发用windows的没有出现乱码,在CentOS上运行的时候出现乱码. 1.修改中文的编码方式 (成功) env.properties为ANSI格式 先设置idea编码格式,utf-8, 将 ...
- 手机端开发,基础设置1-body-fontsize
一.设计稿设计大小按照750设计. 二.单位使用rem,相对于body fontsize 相对大小计算. 三.假设750下,body fontsize 为100,为了方便计算. 四.通过设置当前设备 ...
- python 基础部分重点复习整理2
把这里的题目争取刷一遍 博客记录 python的ORM框架peewee SQLAlchemy psycopg2 Django 在1 的基础上,重点突出自己以前没注意的,做到精而不杂!!! Python ...
- Visual Studio Code Shortcuts
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf https://code.visualstudio.com ...
- 电脑右键新建excel工作表,但是扩展名是.xls,而不是.xlsx
怀疑是因为之前安装了wps,然后又卸载了,导致的.上网查阅,如下: excel默认新建xls 不是我的问题 Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法 ...
- sqlyog试用期到期--win10
1.win+R打开搜索框,输入regedit,打开windows注册表 2.删除HKEY_CURRENT_USER 下 software 的前几个随机编码.