openstack mysql 故障_OpenStack运维(二):OpenStack计算节点的故障和维护

本文详细介绍了OpenStack计算节点的故障处理方法,包括计划中的维护、虚拟机实例启动故障、从故障实例中恢复数据的步骤,并提供了如何在计算节点彻底故障时恢复虚拟机实例的解决方案。
摘要由CSDN通过智能技术生成

1、计划中的维护

举例:需要升级某一个计算节点的硬件配置,需要将计算节点上的虚拟机迁移后在对其进行操作,分为两种情况。

1.1 云系统使用了共享存储

a. 获取虚拟机列表:nova list --host compute01-node-Name --all-tenant

b. 将每个虚拟机迁移至另一台计算节点:nova live-migration 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 compute02-node-Name

2、虚拟机实例启动故障

2.1 意外关闭可能会出现磁盘分区错误,需要对root分区进行fsck,此时使用VNC连接虚拟机即可完成修复。

2.2 libvirt的XML错误:nova reboot --hard

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

重新挂载:nova volume-attach  /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

d. 根据4恢复相对于的卷即可。

如果没有使用共享目录,这个目录在计算节点的硬盘上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值