openstack宿主机故障,虚拟实例恢复
前言: 因为机房服务器运行不稳定的原因导致计算节点挂掉,然后上面的Centos7虚拟机在迁移之后开机报错。这个解决方法同样适用于其它操作系统的虚拟机。基于镜像创建的虚拟机实例。
I/O error, can't read device /dev/vda 的报错信息
首先做疏散先把虚拟实例从宿主机上面疏散到其它主机,关闭云主机。
1.找到虚拟机的ID可以通过dashboard界面或者使用openstack server list命令,找到虚拟机的ID;然后查看虚拟机的详细信息。
比如:

nova show 8fa3d2eb-2401-48a9-850a-f800314c6950
# 与这个命令相同功能的命令还有
openstack server show ID

连接到所在的计算节点,实例名称确定是哪台主机。
注意要主机是开机状态才能看到

通过ID可以确定该虚拟机实例的数据目录,如果openstack没有对接存储的话那么在这个目录下就会存在数据文件,因为对接了ceph所以信息在libvirt.xml的文件里面。

cat /var/lib/nova/instances/8fa3d2eb-2401-48a9-850a-f800314c6950/libvirt.xml 里面就是它的vda的ID。

2.当找到这个磁盘的ID之后,在ceph集群里面去查看这个设备
rbd ls volumes | grep 8fa3d2eb-2401-48a9-850a-f800314c6950

3.取消它原来有的一些属性
# 查看卷
rbd info volumes/0859147d-27aa-49a5-8373-7c515c4f3a02_disk
#取消它原来有的一些属性;根据ceph的提示操作,因为有的属性linux不支持。
rbd feature disable exclusive-lock object-map fast-diff deep-flatten --image 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes
4.把它映射到本地
rbd map 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes
# 如果映射不了执行下这个命令。
rbd flatten volumes/8fa3d2eb-2401-48a9-850a-f800314c6950_disk
5.使用命令修复
# 有的可能修复不了就只能做好丢失数据的准备了
xfs_repair -L /dev/rbd0p1
可以ls /dev/rbd* 查看一下,rbd0p1表示的事一个启动分区。
6.取消映射
rbd unmap 8fa3d2eb-2401-48a9-850a-f800314c6950_disk -p volumes
这个时候再重新启动就正常了。
感谢网上上传资料分享的博客,我搜集并处理了故障,终结了出来,希望更多的人看到早日跳出坑!
openstack宿主机故障,虚拟实例恢复的更多相关文章
- VMware14 安装CentOS7 实现宿主机ping通虚拟机、虚拟机ping通宿主机、虚拟机能上网且能ping通百度
本文旨在通过通过虚拟机VMware14来安装CentOS7 系统,并配置固定IP来实现在Windows系统中使用Linux环境. 本文目录: 0.本机环境 1.VMware14 初始化 1.1.安装V ...
- Openstack虚机实例状态错误手工恢复vm_state:error
Openstack虚机实例状态错误手工恢复vm_state:error 1.找到状态为出错状态的VM.在数据库里面表现Status为ERROR而非ACTIVE. 2.找到出错状态VM的UUID. 3. ...
- (为容器分配独立IP方法二)通过虚拟IP实现docker宿主机增加对外IP接口
虚拟IP.何为虚拟IP,就是一个未分配给真实主机的IP,也就是说对外提供数据库服务器的主机除了有一个真实IP外还有一个虚IP,使用这两个IP中的任意一个都可以连接到这台主机,所有项目中数据库链接一项配 ...
- 通过桥接虚拟网卡使VMWare和宿主机实现双向通讯
0.为什么选择虚拟网卡和桥接模式 首先虚拟机网络设置为NAT,虚拟机实现上网是很方便的,但是宿主机访问虚拟机就比较麻烦了(需要单独配置端口转发),桥接就能很好的解决这个问题,桥接模式会把虚拟机当做宿主 ...
- quartz2.3.0(十三)数据库持久化定时器job任务和trigger触发器,在多个调度器实例情况下,由其它调度器实例恢复执行调度器宕机的job任务
一.初始化数据库11张quartz表:qrtz_* 先从官网下载好quartz2.3.0包:http://www.quartz-scheduler.org/downloads/ 解压后进入目录:q ...
- Centos7系统kvm虚机忘记密码进不去, 通过宿主机修改/etc/shadow文件改密码,重启后系统起不来故障排错
问题描述 某天, 因为其他项目组交接问题, kvm里面的堡垒机系统用户root密码登录不上,然后他通过宿主机修改/etc/shadow文件修改密码,但是修改完后重启系统后发现kvm宿主机连接不上虚机了 ...
- 在虚拟机上利用宿主机共享目录编译linux程序
#前提条件: 宿主机:windows7 虚拟机:REDHAT 开发环境 qt4.7.4 +vs2010 . 代码在windows7 上编译成功 ,运行正常 在linux下编译需要的第三方库已经编译成功 ...
- 【docker】centOS7上部署的mysql和spring boot服务,要求,mysql的时间、java程序服务的时间和宿主机的时间完全保持一致【修改mysql时区,临时和永久】【修改spring boot配置文件时区】【修改docker启动spring boot实例程序时区】
要求:centOS7上部署的mysql和spring boot服务,要求,mysql的时间.java程序服务的时间和宿主机的时间完全保持一致: ============================ ...
- nova 宿主机重启自动恢复虚拟机运行状态
1. 宿主机重启自动恢复虚拟机运行状态 1.1 参数描述与默认值 # Whether to start guests that were running before the host reboote ...
随机推荐
- C. 【例题3】畜栏预定
C . [ 例 题 3 ] 畜 栏 预 定 C. [例题3]畜栏预定 C.[例题3]畜栏预定 题解 考虑贪心 Code #include <bits/stdc++.h> using nam ...
- Scrapy 5+1 ——五大坑附送一个小技巧
笔者最近对scrapy的学习可谓如火如荼,虽然但是,即使是一整天地学习下来也会有中间两三个小时的"无效学习",不是笔者开小差,而是掉进了深坑出不来. 在此,给各位分享一下作为一名S ...
- [Fundamental of Power Electronics]-PART I-4.开关实现-4.1 开关应用
4.1 开关应用 4.1.1 单象限开关 理想的SPST(Single pole single throw)开关如图4.1所示.开关包含电源端子1和0,其电流和电压极性如图所示.在接通状态下,电压\( ...
- JS基础学习第三天
条件分支语句switch语句语法: 1234567891011121314 switch(条件表达式){ case 表达式: 语句... break; case 表达式: 语句... break; c ...
- Git版本控制之-创建配置本地git仓库
查看全局配置:code .gitconfig [code 就代表的用vscode 打开gitconfig 文件,如果是 sublime 就是 subl ][如果打开失败说明环境变量没有配置] [只有配 ...
- 对象存储服务MinIO安装部署分布式及Spring Boot项目实现文件上传下载
目录 一.MinIO快速入门 1. MinIO简介 2. CentOS7更换成阿里云镜像 3. 安装 3.1 下载 3.2 运行测试 4. 配置脚本执行文件 4.1 创建配置执行文件 4.2 执行 二 ...
- linux下更新gcc
1 下载源码 链接 目前最新为9.2版本. 2 解压 tar -zxvf gcc-9.2.0.tar.gz cd gcc-9.2.0 3 download_prerequisites脚本 运行这个脚本 ...
- 1-2 postman工具简介
postman提供了一个多窗口和多选项卡页面用于发送和接受请求,postman努力保持整洁和灵活,提供更多的空间,满足用户的需要.他很简单,能满足大部分接口的测试,性价比特别高.如图所示: 1.侧边 ...
- 【Spring】Spring中Bean的生命周期
Spring中Bean的生命周期依赖于Spring的容器,大致可分为以下4个阶段: 1.Bean的初始化阶段 2.Bean属性赋值的阶段,获取上下文关联 3.Bean初始化的阶段 4.Bean销毁的阶 ...
- Thinkphp5助手函数和Thinkphp3的单字母函数对应参照表