openstack的系统断电后重启出现虚拟机不能启动的情况

本文介绍了一次OpenStack环境中因供电事故导致的iSCSI连接问题及解决方案。通过执行targetctl save命令来避免虚拟机重启时出现的块设备挂载错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在几台服务器(安装的CentOS7)上安装和配置了一个Openstack(Juno)系统,前几天因为供电事故,导致物理服务器突然断电,来电后启动服务器后,发现虚拟机不能重启了,检查发现是有iSCSI方面的错误(虚拟机除了自己的虚拟硬盘还挂载一个块设备作为第二块硬盘),后面发现解决方法是将虚拟机挂载的块设备先卸载然后重新挂载,就能正常启动虚拟机了。


进一步研究发现相关错误的服务有iscsid.service和target.service相关,可以用system -l status <service-name>查看相关信息。iscsid.service给出的信息大致是iSCSI客户端(initiator)不能连接到(target)。而target.service给出的信息是,无法restore。因此猜想target.service执行的是targetctl命令,该命令有三个动作,save, restore, clear,而target.service执行的是第二个动作,错误是在恢复的时候找不到原来保存的信息,我猜想如果执行了targetctl save之后再突然重启机器会不会就不会出现这个错误了。结果事实证明确实如此,在虚拟机正常运行不关闭的情况下,直接重启物理服务器(之前执行了targetctl save命令保存了相关信息),那么重启之后虚拟机可以正常启动了,相关服务target.service和iscsid.service也不会报错了。


参考资料:


http://blog.csdn.net/u011196209/article/details/10198195

http://docs.openstack.org/openstack-ops/content/maintenance.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值