Troubleshooting OpenStack Bug- 每天5分钟玩转 OpenStack(162)
2017-04-29 06:01
323 查看
这是 OpenStack 实施经验分享系列的第 12 篇。
客户报告了一个问题:对 instance 执行 migrate 操作,几个小时了一直无法完成,不太正常。
遇到这种情况,第一个要检查的就是 instance 所在计算节点的 nova-compute.log 日志,但不幸的是没有发现相关的错误。
如果 nova-compute 没有错误,那更底层的 hypervisor 有相关报错吗? 打开 /var/log/libvirt/libvirtd.log,这里我们发现了一些线索:
上面的 log 告诉我们:没有找到 instance swap 对应 image backing file /var/lib/nova/instances/_base/swap_8192。
当前这个 instance 确实使用了一个 8192M 的 swap disk,但奇怪的是:正在使用的 image backing file 为什么会不见了呢?
在排除了人为误删后,怀疑是一个 bug。搜索一下:
运气不错,第三个结果是 OpenStack 的 bug,好像就是我们要找的。 浏览 bug 信息发现描述的现象跟我们的情况一样,而且在客户使用的 kilo 版本上已经有 fix。
点击 commit 链接,可以看到 fix 都修改了哪些文件。
对照客户系统中的代码,确实没有包含该 fix,也印证了确实是这个 bug。
因为 fix 的文件位于 nova 目录,可见这是 nova 模块的 bug。 接下来的工作就很直接了:
下载 nova 的代码。
安装 kilo 的最新版本。
重启所有 nova-* 服务。
关于如何更新 OpenStack 组件,请参考上一节的方法。
下节教大家如何快速安全地给 instance 做快照。
问题描述
客户报告了一个问题:对 instance 执行 migrate 操作,几个小时了一直无法完成,不太正常。
问题分析
遇到这种情况,第一个要检查的就是 instance 所在计算节点的 nova-compute.log 日志,但不幸的是没有发现相关的错误。如果 nova-compute 没有错误,那更底层的 hypervisor 有相关报错吗? 打开 /var/log/libvirt/libvirtd.log,这里我们发现了一些线索:
上面的 log 告诉我们:没有找到 instance swap 对应 image backing file /var/lib/nova/instances/_base/swap_8192。
当前这个 instance 确实使用了一个 8192M 的 swap disk,但奇怪的是:正在使用的 image backing file 为什么会不见了呢?
在排除了人为误删后,怀疑是一个 bug。搜索一下:
运气不错,第三个结果是 OpenStack 的 bug,好像就是我们要找的。 浏览 bug 信息发现描述的现象跟我们的情况一样,而且在客户使用的 kilo 版本上已经有 fix。
点击 commit 链接,可以看到 fix 都修改了哪些文件。
对照客户系统中的代码,确实没有包含该 fix,也印证了确实是这个 bug。
解决问题
因为 fix 的文件位于 nova 目录,可见这是 nova 模块的 bug。 接下来的工作就很直接了:下载 nova 的代码。
安装 kilo 的最新版本。
重启所有 nova-* 服务。
关于如何更新 OpenStack 组件,请参考上一节的方法。
下节教大家如何快速安全地给 instance 做快照。
相关文章推荐
- Troubleshooting OpenStack Bug- 每天5分钟玩转 OpenStack(162)
- Troubleshooting OpenStack Bug- 每天5分钟玩转 OpenStack(162)
- Troubleshooting OpenStack Bug- 每天5分钟玩转 OpenStack(162)
- Troubleshooting OpenStack Bug- 每天5分钟玩转 OpenStack(162)
- Troubleshooting OpenStack 瘫痪 - 每天5分钟玩转 OpenStack(160)
- Troubleshooting OpenStack 瘫痪 - 每天5分钟玩转 OpenStack(160)
- Troubleshooting OpenStack 瘫痪 - 每天5分钟玩转 OpenStack(160)
- Troubleshooting OpenStack 瘫痪 - 每天5分钟玩转 OpenStack(160)
- Troubleshooting OpenStack 瘫痪 - 每天5分钟玩转 OpenStack(160)
- Neutron Vlan Network 原理- 每天5分钟玩转 OpenStack(92)
- KVM 网络虚拟化基础 - 每天5分钟玩转 OpenStack(9)
- 创建第二个 vlan network "vlan101" - 每天5分钟玩转 OpenStack(96)
- Launch和Shut Off操作详解 - 每天5分钟玩转 OpenStack(30)
- 虚拟 router 原理分析- 每天5分钟玩转 OpenStack(101)
- Metadata Service 架构详解 - 每天5分钟玩转 OpenStack(165)
- 访问外网 ML2 的配置 - 每天5分钟玩转 OpenStack(103)
- 理解 Keystone 核心概念 - 每天5分钟玩转 OpenStack(18)
- Unshelve Instance 操作详解 - 每天5分钟玩转 OpenStack(39)
- Attach Volume 操作(Part II) - 每天5分钟玩转 OpenStack(54)
- Neutron 如何支持多种 network provider - 每天5分钟玩转 OpenStack(70)