Chinaunix首页 | 论坛 | 博客
  • 博客访问: 874172
  • 博文数量: 343
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3600
  • 用 户 组: 普通用户
  • 注册时间: 2015-06-16 23:53
文章分类

全部博文(343)

文章存档

2018年(67)

2017年(145)

2016年(131)

我的朋友

分类: 云计算

2017-03-13 06:51:12

这是 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。 接下来的工作就很直接了:

  1. 下载 nova 的代码。

  2. 安装 kilo 的最新版本。

  3. 重启所有 nova-* 服务。

关于如何更新 OpenStack 组件,请参考上一节的方法。


下节教大家如何快速安全地给 instance 做快照。


阅读(536) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~