xenserver VM假死

2023-10-31

使用XenServer作为虚拟化平台,经常会有用户反映虚拟机会假死,并亮起非正常的Yellow图标。

a. 虚拟机不可用。这种现象发生的非常随机,发生在不固定的主机,不固定的虚拟机上。

b. 使用XenCenter无法正常的将其ShutDown,包括使用Force Shutdown。

c. 发生在XenServer的多个版本。相对比较集中在5.6~6.1之间。6.2SP1以后这个现象基本上没有再出现过。

d. 此问题多出现在Windows虚拟机上。

e. 比较容易出现在高负载的场景中。

在网上搜索一圈,找到的解决办法基本都是和Citrix的一篇官方KB一样:

[root@xenserver2 log]# xe vm-list
找到这台挂起的VM对应的UUID
[root@xenserver2 log]# list_domains
找出对应UUID的域ID

id | uuid | state
0 | eba679e5-022e-4419-b24b-38b34fb35fa9 | R
2 | 9100543a-719f-1fbb-6f48-e8ff110e1a0d | B H
3 | af09a76b-6918-c965-a178-52c258f44eec | B H
4 | e960d660-665a-dcb7-b080-3f384d35f96b | H
有问题的那台uuid的机器找到,状态是H

只能使用以下命令来强制销毁那个domain id 才能把有问题的那台虚拟机重启

[root@xenserver2 log]# /opt/xensource/debug/destroy_domain -domid XX
这个命令我猜应该是删除这台VM的外联存储(NFS、ISCSI等)
[root@xenserver2 log]# xe vm-reboot uuid=XXXX –force

XENSERVER在导出虚拟机时遇到的问题
和我遇到的情况一样,操作办法如下:

XenCenter的查看
勾选”隐藏的对象”
这时可以看到在宿主机下有一个灰色的名为”Transfer VM for VDI….”的虚拟机
右键关闭这个虚拟机
然后在本地存储中删掉即可
这时在看宿主机的磁盘空间已经释放了。

但是这些都没有从根本上解决这个问题。作为普通的IT人员,很难深层次去分析这个问题,仅以我个人了解的一些情况来尝试给出解决这个问题的一些思路。

首先得从XenServer的核心架构说起。任何一个操作系统都有一个核心来处理核心业务,所以也称为Kernal。这个在XenServer里面叫Dom0,而除去Dom0之外的其他虚拟机运行时占用的寻址空间叫DomU。

而在XenServer 6.5之前的架构中,所有的DomU的网络和存储的请求,都需要通过Dom0来完成。所以随着虚拟机的增加、负载越高Dom0的压力越大。所以在高密度、大负载的场景中,我们建议提高Dom0的vCPU数和内存大小。

那么这些和我们今天将的虚拟机假死有什么关系呢?个人认为:随着DomU越多,Dom0的压力越大。而且由于DomU的所有网络和存储请求都需要经过Dom0来调度,所以随着Dom0压力大,网络、存储是否能及时相应所有的请求就至关重要。

那么问题就来了,在出现这些问题的时候,事实上网络和存储的负载巨大多数情况下没有达到其物理硬件的瓶颈。那么问题出在了哪里了呢?

其实关键的问题就在于XenServer和网卡、存储HBA的驱动支持上。经过一些项目的合作,我们的硬件供应商发现在其服务器的日志中会有蛛丝马迹,这些问题很多时候是因为服务器上的网卡、HBA卡所使用的驱动和Firmware不是官方推荐的版本,或者版本过久。

其实这个也很好理解,当一个设备上的硬件所使用的驱动异常的时候,这个操作系统运行时轻则性能达不到标称值,重则不稳定甚至异常宕机。

所以当出现这种问题的时候,最应该优先尝试的步骤就是:

比如:用户使用的是一块Brodcome的10GB网卡,那么在hcl.xensource.com网站找到对应的网卡,就会显示出推荐的网卡驱动for XenServer链接。选择你对应的XenServer版本点击,然后下载安装即可。

当然support.citrix.com也会不定期更新最常见的各种驱动。并且类似于XenServer 6.2 SP1

这样的版本,会有专门的KB列出常用的硬件的驱动清单集,方便用户查询。

Driver Disks for XenServer 6.2.0 Service Pack 1 with Hotfix XS62ESP1009

最后,什么时候应该安装包括XenServer hotfix和硬件驱动更新包呢?

如果环境运行稳定,则无必要也无须做如上操作。

写在最后,XenServer从我个人来看,虽然在功能上与vSphere还有一定的差距,,但是如果严格参考XenServer的最佳实践来规划设计,其稳定性是在很多严苛的生产环境中验证过。

并且随着Citrix XenServer 6.5的发布,XenServer从内核Dom0的运行机制上将网络、存储等模块剥离出去,未来类似于这样虚拟机假死的现象虚拟机异常现象将会完全消失。而且无论从功能上、还是性能将会得到大幅度的提升。

在我看来XenServer 6.5才刚刚起步,未来的XenServer才会更加令人期待。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xenserver VM假死 的相关文章

随机推荐

  • 安装nrm包时控制台报错

    安装nrm包时控制台报错 C Users 11359 AppData Roaming npm node modules nrm cli js 9 const open require open Error ERR REQUIRE ESM r
  • Floating UI 使用经验分享 - Dialog

    上文 Floating UI 使用经验分享 Popover 在本文中 我将分享如何使用 Floating UI 来创建另一种常见的浮动 UI 组件 Dialog 对话框 Dialog 是一个浮动元素 显示需要立即关注的信息 他会出现在页面内
  • 宝塔7.9最新企业版免授权无后门

    宝塔面板大家应该都知道吧 今天带来的是宝塔面板企业版免授权 无需绑定账号版本 用ssh链接上我们的服务器输入下列命令回车 然后过一会会让输入一个东西 输y即可 与正版宝塔安装步骤一致 yum install y wget wget O in
  • mysql干货——数据库字符集和校对规则详解

    一 什么是字符集 字符是多个文字和符号的总称 包括各个国家的文字 标点符号 图形符号 数字等 字符集多个字符的集合 字符集合种类较多 每个字符集包含的字符的个数不同 对于字符集不支持的字符 则以乱码显示 常见的字符集有ASCII字符集 GB
  • 2、matlab 图像分割(1)

    目的 利用图像的坐标点 判断出想要分割出的部分 利用 matlab 语法实现分割 1 基本语法 1 1 定义矩阵 var 1 2 3 4 5 6 定义一个 2 3 的矩阵 该变量会出现在工作区 可以在命令行用变量输出该矩阵 1 2 find
  • Unity协同详解以及与多线程的区别使用

    转载自 http blog csdn net linuxheik article details 45392945 1 什么是协调程序 unity协程是一个能暂停执行 暂停后立即返回 直到中断指令完成后继续执行的函数 它类似一个子线程单独出
  • 深入理解Interpreter模式

    1 Interpreter模式是一个能给人留下深刻印象的模式 The Interpreter pattern describes how to define a grammar for simple languages represent
  • 本地容灾异地备份,本地容灾和异地容灾

    关于容来自灾备份 备份也是容灾的一种方式 我们认为应用级的备份是最传统的 在应用层进行复制 一般成本低廉数据级的容灾 只得是从存储层进行备份 这种备份的机制往往是实时的 适合关键的业务 并且能够做到实时的挂载 相对第一种 毕竟成本高一些 但
  • 用chargpt一分钟,一键生成PPT!

    ChatGPT狂飙160天 世界已经不是之前的样子 新建了人工智能中文站https ai weoknow com 每天给大家更新可用的国内可用chatGPT资源 这是 ChatGPT 从入门到精通 第 13 篇基础教程 有同学留言 问 还有
  • 页面缓存————Expires header(顺便提下ASP.NET常用的VaryByParam实现缓存)

    从事ASP NET开发也有1年多了 这期间发生了许许多多的事情 经过苦难的层层磨练 渐渐对ASP NET这个很多人说 简单易掌握 的东西有了逐步的认识和理解 自己也在慢慢的成长 在这1年多的期间非常感谢franky大哥给我前端上的指导 感觉
  • 贝叶斯分类(这个讲的比较清晰,一看就明白)

    原文地址 http www cnblogs com leoo2sk archive 2010 09 17 naive bayesian classifier html 1 2 分类问题综述 对于分类问题 其实谁都不会陌生 说我们每个人每天都
  • HDF5库的下载

    HDF5是科学计算中最常用的分层式数据存储格式 大部分计算软件都需要它的支持 然而 最近在下载HDF5库的时候 我突然发现 官方的下载链接竟然都指向了AWS 在国庆大背景下我的梯子被战略性封闭 于是全部404 不过这样就难住我了嘛 不可能的
  • oracle导出表结构的几种办法,oracle表结构和数据导出时的一些勾选项说明

    使用pl sql developer导出oracle数据库的表结构和表数据时 有一些勾选项供用户选择 需要用户根据实际情况进行勾选或取消 导出方法如下 一 只导出表结构 1 使用pl sql developer登陆数据库 2 选择Tools
  • [Pytorch系列-70]:开发环境 - 可视化工具visdom安装与使用方法

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122073099 目录 第1章 概述
  • IP地址和网络地址及广播地址解析

    IP地址 IP地址有IPV4和IPV6两种 IPV4 由32位二进制数组成 一般用点分十进制来表示 IPV6 由128位组成 一般用冒号分隔 十六进制来表示 IP地址由两部分组成 网络部分 NETWORK 主机部分 HOST 例 192 1
  • 基于iscroll实现下拉和上拉刷新

    基于iscroll实现下拉和上拉刷新 2015 02 07 javascript moblie 插件 iscroll上拉刷新 js上拉刷新 js下拉刷新 在原生APP的开发中 有一个常见的功能 就是下拉刷新的功能 这个想必大家都是知道的 但
  • Sqlite嵌入式内存数据库的优化

    0 场景及问题 目前网关项目在使用Sqlite的数据库存储数据 但是我们使用的方式和一般的数据库使用有区别 导致出现了两个问题 Sqlite3占用内存迅速增长 这种增长是cat proc fd号 statm 的显示增长 区别于 sqlite
  • Android OpenGL ES 2.0绘图:绘制纹理

    http mobile 51cto com aengine 437172 htm public class MyGLSurfaceView extends GLSurfaceView public MyGLSurfaceView Conte
  • PanGu-Coder2华为盘古大模型来了!

    视学算法报道 机器之心编辑部 这次 华为代码生成大模型盘古 Coder2 采用了一种类似于 RLHF 基于人类反馈的强化学习 的框架 相较前代实现了更高的一次生成通过率 随着大模型成为 AI 开发新范式 将大语言模型集成至编程领域 完成代码
  • xenserver VM假死

    使用XenServer作为虚拟化平台 经常会有用户反映虚拟机会假死 并亮起非正常的Yellow图标 a 虚拟机不可用 这种现象发生的非常随机 发生在不固定的主机 不固定的虚拟机上 b 使用XenCenter无法正常的将其ShutDown 包