OpenStack运维(二):OpenStack计算节点的故障和维护
1、计划中的维护
举例:需要升级某一个计算节点的硬件配置,需要将计算节点上的虚拟机迁移后在对其进行操作,分为两种情况。
1.1 云系统使用了共享存储
a. 获取虚拟机列表:nova list --host compute01-node-Name --all-tenant
b. 将每个虚拟机迁移至另一台计算节点:nova live-migration <uuid> compute02-node-Name
c. 停止nova-compute服务:stop nova-compute
d. 维护工作完成以后,启动服务:start nova-compute
e. 确认服务正常启动和AMQP正常连接:status nova-comput grep AMQP /var/log/nova-compute
f. 将虚拟机迁移回来
1.2 云系统没有使用共享存储
将上述迁移命令改为:nova live-migration --block-migrate <uuid> compute02-node-Name
2、虚拟机实例启动故障
2.1 意外关闭可能会出现磁盘分区错误,需要对root分区进行fsck,此时使用VNC连接虚拟机即可完成修复。
2.2 libvirt的XML错误:nova reboot --hard <uuid>
3、从故障实例中恢复数据
故障:虚拟机正常运行,SSH无法链接,VNC控制台显示kernel panic错误
恢复数据:
a. 使用virsh list查看故障实例的ID,假设ID为30 实例名为instance-30
b. 挂起实例:virsh suspend 30
c. 将qemu-nbd设备链接到磁盘上:
cd /var/lib/nova/instance/instance-30
qemu-nbd -c /dev/nbd0 `pwd`/disk
d. 挂载qemu-nbd设备
qemu-nbd会将虚拟机的不同分区导出为/dev/nbd0 nbd0p1 nbd0p2等
挂载:mount /dev/nbd0p1 /mnt 进去mnt目录即可查看实例数据
e. 查看完成后释放qemu-nbd设备
umount /mnt
qemu-nbd -d /dev/nbd0
f. 恢复实例:virsh resume 30
4、卷
如果故障的虚拟机的挂载的有卷,需要将卷手工分离并挂载
mysql> select nova.instances.uuid as instance_uuid, cinder.volumes.id as volume_uuid, cinder.volumes.status, cinder.volumes.attach_status, cinder.volumes.mountpoint, cinder.volumes.display_name from cinder.volumes inner join nova.instance on cinder.volumes.instance_uuid=nova.instances.uuid where nova.instances.host = 'compute01-node-Name';
手工分离:nova volume-detach <instance_uuid> <volume_uuid>
重新挂载:nova volume-attach <instance_uuid> <volume_uuid> /dev/vdX
5、计算节点彻底故障
故障:计算节点无法启动,恢复虚拟机实例,如果/var/lib/instances使用了共享目录
a. 生产故障节点运行的所有实例uuid列表
mysql> select uuid from instances where host = '故障节点主机名' and deleted = 0;
b. 更新数据库,将虚拟机实例宿主机改为其他计算节点
mysql> update instances set host = 'NewComputeName' where host = '故障节点主机名' and deleted = 0;
c. 启动虚拟机并生产XML
nova reboot --hard <uuid>
d. 根据4恢复相对于的卷即可。
如果没有使用共享目录,这个目录在计算节点的硬盘上
OpenStack运维(二):OpenStack计算节点的故障和维护的更多相关文章
- 转-4年!我对OpenStack运维架构的总结
4年!我对OpenStack运维架构的总结 原创: 徐超 云技术之家 今天 前言 应“云技术社区”北极熊之邀,写点东西.思来想去云计算范畴实在广泛,自然就聊点最近话题异常火热,让广大云计算从业者爱之深 ...
- OpenStack运维(三):OpenStack存储节点和配置管理
1.对象存储节点维护 1.1 重启存储节点 如果一个存储节点需要重启,直接重启即可. 1.2 关闭存储节点 如果一个存储节点需要关闭很长一段时间,可以考虑将该节点从存储环中移除. swift-ring ...
- 对OpenStack运维架构的总结(转)
这里,仅从技术角度出发,谈谈OpenStack云平台在部署.架构和运维实施等方面的感想. 缘起,在2014年大二首次接触到OpenStack,当时国内外资料远没有当前这么丰富,为安装一个OpenSta ...
- Openstack运维指南文档整理
非常全面的运维指南整理http://zjzone.cc/index.php/2017/07/31/openstack-yun-wei-wen-dang-zheng-li/
- OpenStack运维(四):OpenStack备份恢复
1.备份注意事项 要保留多少备份? 是否需要异地备份? 备份间隔多久? 恢复策略? 2.备份什么 2.1 数据库备份 2.1.1 制定crond 每天备份一次 2.1.2 备份命令根据系统而定,可用 ...
- 不只是安装,Kolla 让 OpenStack 运维变简单
使用 kolla 部署的 OpenStack 环境和传统直接安装的环境相比较,因为使用了全容器化部署,基本操作上有很大不同.对于初学者,操作变得更清晰和更简单了,但是如果你已经有了一定的经验,可能反而 ...
- OpenStack运维(一):OpenStack项目和用户
1.添加项目 keystone tenant-create --name=demo [--description tenant-description --enable false] demo:项目名 ...
- Linux运维--15.OpenStack vm使用keepalived 实现负载均衡
外接mariadb集群 实现负载均衡 实验环境 10.0.1.27 galera1 10.0.1.6 galera2 10.0.1.23 galera3 10.0.1.17 harpoxy1 hapr ...
- python自动化运维二:业务服务监控
p { margin-bottom: 0.25cm; line-height: 120% } a:link { } p { margin-bottom: 0.25cm; line-height: 12 ...
随机推荐
- 4.2 例题: 统计字符数 poj2247
问题描述 判断一个由 a-z 这 26 个字符组成的字符串中哪个字符出现的次数最多 输入:第 1 行是测试数据的组数 n,每组测试数据占 1 行,是一个由 a-z 这 26 个字符组 成的字符串,每组 ...
- 2017计算机学科夏令营上机考试-C:岛屿面积
总时间限制: 1000ms 内存限制: 65536kB 描述 用一个n*m的二维数组表示地图,1表示陆地,0代表海水,每一格都表示一个1*1的区域.地图中的格子只能横向或者纵向连接(不能对角连接) ...
- Go基础之--位操作中你所不知道的用法
之前一直忽略的就是所有语言中关于位操作,觉得用处并不多,可能用到也非常简单的用法,但是其实一直忽略的是它们的用处还是非常大的,下面先回顾一下位操作符的基础 位操作符 与操作:&1 & ...
- 集合、增强for、泛型
Collection集合:Collection是层次结构中的根接口,存储的元素为对象,(也就是说只能存储引用数据类型,不能存储基础数据类型),具体可查询API.集合与数组的区别:1.集合只能存放引用数 ...
- liunx中图形化桌面环境中的脚本编程之——创建文本菜单
整体是通过建立菜单布局,然后根据菜单上的布局建立函数(就是为这些布局实现功能),最后将函数和布局实现逻辑上的相连: 如何建立菜单布局? 整体上是通过打印字符创建出,因此需要使用echo命令,但是有一些 ...
- KVM克隆 快照
原创博文安装配置KVM http://www.cnblogs.com/elvi/p/7718574.htmlweb管理kvm http://www.cnblogs.com/elvi/p/7718582 ...
- LINQ学习系列-----3.1 查询非泛型集合
一.问题起源 LINQ to object在设计时,是配合IEnumerable<T>接口的泛型集合类型使用的,例如字典.数组.List<T>等,但是对于继承了IEnumera ...
- 文件夹的创建(cmd利用)
在windows本地上创建文件夹是无法用..结束的,我们要创建的话,需要在cmd里面进行创建输入 mkdir abc..\ 那么我们从本地看出abc..文件夹建成了怎么删除呢? 需要手动在里面建个文件 ...
- flask-login使用笔记
看外国文献的中文翻译 翻译的程度有的让人会疯,翻译最好的状态是异译 直译会显的很生硬 看起来确实难过:所以在看的时候,建议都看外国文献吧,或者自己用谷歌翻译,感觉比一些翻译的博客准多了: 在使用fl ...
- spring aop 动态代理批量调用方法实例
今天项目经理发下任务,需要测试 20 个接口,看看推送和接收数据是否正常.因为对接传输的数据是 xml 格式的字符串,所以我拿现成的数据,先生成推送过去的数据并存储到文本,以便验证数据是否正确,这时候 ...