VMware-存储断网之后无法添加vmx到清单
由于发生了单点故障,笔者最近处理了一个case,其中一些经验非常希望和大家分享。
问题原因:
某环境使用VMware的ESXi5.1的平台搭建的,存储使用iSCSI进行连接,Manage和业务口分离,但是Manage本身为单点环境非冗余,并且iSCSI的流量也经过该端口进行连接。某日网络交换机故障导致了存储与ESXi主机的失联,等待网络恢复之后,部分虚拟机自己活了过了,并对外正常提供业务,而部分虚拟机在VCenter中看到灰色不可用状态,直接登录到ESXi主机上显示UnknownNUM字样。并且事发之后有多个操作人员在奋力齐修,但是始终有几台虚拟机不能被添加到清单中,体现的样子如下图所示。

Figure 1浏览存储添加虚拟机配置文件到清单项目为灰色不可用
问题是这么考虑的
有两个方向:拼凑虚拟机——通过新建VM,磁盘选择该文件夹下的VMDK文件;另一个方向就是从VM层面考虑是不是磁盘文件损坏,文件被锁等问题。
解决问题
根据第一种方法,经过各种拼凑和组装,最后得到的结果就是怎么都不行,各种报错中间总会夹杂着文件不能被锁定、磁盘vmdk依赖的文件不可被访问等等信息。
那就转投第二种方法,想到前面查看加载清单出现的状况,加载清单出现灰色条目表示不可用,但文件有大小,被占用的可能性越来越大,通过登录到ESXi主机里面直接查看文件占用情况了解到的情况如下:

Figure 2使用vmkfstools -D 查看某文件的锁定状态,红色标记看到Lock字样标识锁定,黄色标记表明该文件被这个MAC地址的主机锁定
现在问题又来了,在管理众多ESXi主机的VC下面寻找到一个小小的主机MAC目测是件很木乱还要看运气的事情,有没有什么便捷的办法快速定位这个问题?
这里推荐一款VMware相关的第三方小工具RVTools(作者Rob de Veij是VMware公司4年的vExpert),它可以统一查看很多虚拟化和主机信息,包括本例中你的主机MAC,统一查看存储名称和内部URL映射关系表,同时这些信息均可以被导出。

Figure 3通过该工具可以在vNIC选项卡下面可以很方便的查找到对应的主机和MAC对应关系
问题得以解决
最后通过VMware Client程序登录到对应主机,从其中浏览存储,将失联的虚拟机添加到清单中即可。
小结
解决问题的方向有时候比技术更有指向性,需要在合适的情况下指定合理有效的维修方案,使得问题迅速解决。
RVTools算是本文的干货软件,大家可以通过官方链接订阅下载,同时有更新的时候也会通过邮件系统发送到您的邮箱,当然也可以点击下面的链接直接从cnBlogs下载,本地下载3.6版。
本文参考:VMware KB 2180803

VMware-存储断网之后无法添加vmx到清单的更多相关文章
- 解决Windows Server 2012 在VMware ESXi中经常自动断网问题
最近一些开发人员反映他们使用的 Windows server2012 R2 虚拟机过段时间就远程连接不上了,ping也不通(已关闭防火墙),我们登录ESXi发现,Windows Server 的网络图 ...
- 30分钟玩转Net MVC 基于WebUploader的大文件分片上传、断网续传、秒传(文末附带demo下载)
现在的项目开发基本上都用到了上传文件功能,或图片,或文档,或视频.我们常用的常规上传已经能够满足当前要求了, 然而有时会出现如下问题: 文件过大(比如1G以上),超出服务端的请求大小限制: 请求时间过 ...
- ubuntu wifi连接不上或经常断网,重启就好
问题1.知道wifi密码,驱动也有,可以点击连接,总是提示"连接断开,您现在处于离线状态". 1.打开终端"ctrl+alt+T" 2.输入: sudo vim ...
- Android 动态监听网络 断网重连
需求: 网络连接断开 弹出popupwindow 当前网络连接断开 网络恢复时popupwindow 消失重新请求网络. 需求描述完毕 上一张帅图 思路:广播 发送及时消息 断网flag popup ...
- ARP攻击之Kali Linux局域网断网攻击
特别声明: 我们学习研究网络安全技术的目的应是为了维护网络世界的安全,保护自己和他人的私有信息不被非法窃取和传播.请您遵守您所在地的法律,请勿利用本文所介绍的相关技术做背离道德或者违反法律的事情. S ...
- arp断网攻击
arp断网攻击可以是同局域网内主机无法上网!(可恶搞室友哦,嘻嘻!) 实现原理 arp的中文释义是地址解析协议,全英文 address resolution protocol,是一个将局域网IP地址映 ...
- 用kali执行arp攻击-----------使对方断网
实现原理 其主要原理是局域网内的"攻击机"通过冒充同网络号下的"受害者主机"的物理地址(mac地址),通过欺骗网关,让网关原来应该发给"受害者主机&q ...
- 断网环境下利用pip安装Python离线安装包
这几天搞Windows离线断网环境下安装Python包,配置环境,各种坑!做个记录,供以后查询吧. # 生产环境 windows 7 # python 2.7.9 # pip 1.5.2 友情提示:当 ...
- 安卓webview断网处理
需求:webview在加载的时候如果网络断开,会显示默认的错误界面,长得很丑,需要单独写一个页面,在网路出错的时候显示,点击重试以后重新加载网页 乍看挺简单的需求,但在实际过程中页碰到了不少坑,主要是 ...
随机推荐
- Unity3d学习 预设体(prefab)的一些理解
之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体 ...
- Jquery的点击事件,三句代码完成全选事件
先来看一下Js和Jquery的点击事件 举两个简单的例子 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q ...
- MIP改造常见问题二十问
在MIP推出后,我们收到了很多站长的疑问和顾虑.我们将所有疑问和顾虑归纳为以下二十个问题,希望对大家理解 MIP 有帮助. 1.MIP 化后对其他搜索引擎抓取收录以及 SEO 的影响如何? 答:在原页 ...
- 【探索】在 JavaScript 中使用 C 程序
JavaScript 是个灵活的脚本语言,能方便的处理业务逻辑.当需要传输通信时,我们大多选择 JSON 或 XML 格式. 但在数据长度非常苛刻的情况下,文本协议的效率就非常低了,这时不得不使用二进 ...
- .NET Core中间件的注册和管道的构建(1)---- 注册和构建原理
.NET Core中间件的注册和管道的构建(1)---- 注册和构建原理 0x00 问题的产生 管道是.NET Core中非常关键的一个概念,很多重要的组件都以中间件的形式存在,包括权限管理.会话管理 ...
- 我为什么要写LeetCode的博客?
# 增强学习成果 有一个研究成果,在学习中传授他人知识和讨论是最高效的做法,而看书则是最低效的做法(具体研究成果没找到地址).我写LeetCode博客主要目的是增强学习成果.当然,我也想出名,然而不知 ...
- 【WCF】使用“用户名/密码”验证的合理方法
我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ...
- 学习ASP.NET Core, 怎能不了解请求处理管道[3]: 自定义一个服务器感受一下管道是如何监听、接收和响应请求的
我们在<服务器在管道中的"龙头"地位>中对ASP.NET Core默认提供的具有跨平台能力的KestrelServer进行了介绍,为了让读者朋友们对管道中的服务器具有更 ...
- 项目持续集成环境(jenkins + SVN + maven + tomcat)
整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...
- Ubuntu下开启php调试模式,显示报错信息
在Ubuntu下php的缺省设置是不显示错误信息的,如果程序出错会显示“无法处理此请求的错误提示”,这在开发环境下非常不方便. 其实我们只要编辑下apache的配置文件就好 1.我的apache 配置 ...