Troubleshooting OpenStack Bug- 每天5分钟玩转 OpenStack(162)
这是 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 做快照。

Troubleshooting OpenStack Bug- 每天5分钟玩转 OpenStack(162)的更多相关文章
- Troubleshooting OpenStack 瘫痪 - 每天5分钟玩转 OpenStack(160)
		
这是 OpenStack 实施经验分享系列的第 10 篇.是软件就会有 bug,OpenStack 也不例外,只要用它就一定会遇到故障.Troubleshooting(故障排除)是运维 OpenSta ...
 - 如何使用 OpenStack CLI - 每天5分钟玩转 OpenStack(22)
		
本节首先讨论 image 删除操作,然后介绍 OpenStack CLI 的使用方法,最后讨如何 Troubleshoot. Web UI 删除 image admin 登录后,Project -&g ...
 - OpenStack 架构 - 每天5分钟玩转 OpenStack(15)
		
终于正式进入 OpenStack 部分了. 今天开始,CloudMan 将带着大家一步一步揭开 OpenStack 的神秘面纱. OpenStack 已经走过了 6 个年头. 每半年会发布一个版本,版 ...
 - 教你看懂 OpenStack 日志 - 每天5分钟玩转 OpenStack(29)
		
instance 从创建到删除的整个生命周期都是由 Nova 管理的. 后面各小节我们以 instance 生命周期中的不同操作场景为例,详细分析 Nova 不同组件如何协调工作,并通过日志分析加深大 ...
 - 每天5分钟 玩转OpenStack 目录列表
		
最近在学习 OpenStack 的相关知识,一直苦于 OpenStack 的体系庞大以及复杂程度,学习没有进度,停滞不前.偶然机会在 51CTO 上发现了一个热点的专题关于 OpenStack 的,题 ...
 - 写在最前面 - 每天5分钟玩转 OpenStack(1)
		
<每天5分钟玩转 OpenStack>是一个 OpenStack 教程,这是第 1 篇. 这个教程有下面两个特点: 系统讲解 OpenStack 从架构到各个组件:从整体到细节逐一讨论 重 ...
 - 学习 OpenStack 的方法论 - 每天5分钟玩转 OpenStack(150)
		
作为 OpenStack 的核心教程,我们已经到了最后总结的部分. OpenStack 目前已经有好几十个模块,本教程讨论的是最最重要的核心模块:Keystone,Nova,Glance,Cinder ...
 - cloud-init 典型应用 - 每天5分钟玩转 OpenStack(174)
		
本节介绍几个 cloud-init 的典型应用:设置 hostanme,设置用户初始密码,安装软件. 设置 hostname cloud-init 默认会将 instance 的名字设置为 hostn ...
 - 1 张图秒懂 Nova 16 种操作 - 每天5分钟玩转 OpenStack(44)
		
前面我们讨论了 Instance 的若干操作,有的操作功能比较类似,也有各自的适用场景,现在是时候系统地总结一下了. 如上图所示,我们把对 Instance 的管理按运维工作的场景分为两类:常规操作和 ...
 
随机推荐
- 状态开关按钮(ToggleButton)与开关(Switch)的功能与用法
			
状态开关按钮(ToggleButton)与开关(Switch)也是由Button派生出来的,因此它们的本质也是按钮,Button支持的各种属性.方法也适用于ToggleButton和Switch.从功 ...
 - 11g oracle 用户密码过期问题
			
Oracle 11g 之前默认的用户时是没有密码过期的限制的,在Oracle 11g 中默认的profile启用了密码过期时间是180天.如下:select * from dba_profiles w ...
 - jdk自带的动态代理
			
package com.stone.dp.proxy; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Met ...
 - jQuery如何实现点击页面获得当前点击元素
			
获得jquery对象: function foo(e){ var obj = $(e.target); }
 - loadrunner:参数类型及其取值机制
			
参数类型 参数名随意取,建议取通俗易懂的名字,下面我们重点介绍一下参数的类型. ●DateTime: 很简单, 在需要输入日期/时间的地方, 可以用DateTime 类型来替代. 其属性设置也很简单, ...
 - shell 脚本浅入
			
最常用的Linux命令和工具 目录下个文档:cd name 返回上个目录:cd .. 查看.编辑文本文件:查看文件:more, tail 编辑文件:vi 如编写脚本.sh vi shell.sh ...
 - js 全选/取消
			
平时常用一个小功能 var check_all = document.getElementsByName('student_box'); var check_flag = true; function ...
 - 微端游戏启动器launcher的制作(序篇)
			
公司要做一个游戏接入腾讯QQ游戏大厅,腾讯要求制作一个launcher,公司之前并没有接入过腾讯,所以大家其实都不懂,而我又是新人,所以刚拿到这个任务的时候整个人就是一个大写的懵逼.在网上查找了不少的 ...
 - c++ 继承类强制转换时的虚函数表工作原理
			
本文通过简单例子说明子类之间发生强制转换时虚函数如何调用,旨在对c++继承中的虚函数表的作用机制有更深入的理解. #include<iostream> using namespace st ...
 - OC 常用方法记录
			
1.排序 给数组排序 按照字母的升序 //对key按字母升序排序 NSArray *sortedArray = [keys sortedArrayUsingComparator:^NSComparis ...