VMware VMFS分区表恢复
VMware VMFS分区表恢复
原创 李严省 虚实之路 2018-03-01
各位VMware工程师天天和VMware vSphere打交道,在使用传统共享存储的时候有没有碰到过存储卷分区表信息丢失的情况?今天我也碰到这个问题了,就和大家分享一下如何恢复vmfs分区表。
使用ssh登录到esxi主机,查看vmkernel.log日志,发现找不到分区表的日志输出,可以确认lun的分区表已经丢失。
使用客户端查看,没有任何分区信息
而另外一块磁盘则有分区信息
恢复步骤:
1. 在出现问题的主机上运行 partedUtil 命令,并验证输出是否类似于以下内容
上图输出为有分区信息
该输出信息则表示分区信息丢失,需要重建分区信息
2. 查找 VMFS 分区的开始块和结束块。要查找分区的开始块,请在主机上运行以下命令(一行脚本):
#offset="1282048"; for dev in `esxcfg-scsidevs -l | grep "Console Device:" |awk {'print $3'}`; do disk=$dev; echo $disk; partedUtil getptbl $disk; { for iin `echo $offset`; do echo "Checking offset found at $i:"; hexdump -n4-s $((0x100000+(512*$i))) $disk; hexdump -n4 -s $((0x1300000+(512*$i))) $disk;hexdump -C -n 128 -s $((0x130001d + (512*$i))) $disk; done; } | grep -B 1 -A 5d00d; echo "---------------------"; done
注意:上述脚本会检查所有存储设备,因此列表可能会很长。此脚本不适用于本地磁盘,亲自测试,恢复出来,文件系统为VMFS-unknownversion。
您会看到类似以下内容的输出:
在没有分区的磁盘中看到如下信息
Checking offsetfound at 2048.
表示VMFS分区开始位置为2048块
3. 要获取分区的结束块,请运行以下命令:
1953525134表示可用的块数量
注意:如果没有看到此输出并显示“磁盘上的未知分区表 (Unknown partition table ondisk)”错误,请运行以下命令,将表标记为 GPT 分区表:
# partedUtil mklabel/vmfs/devices/disks/naa.6006016045502500c20a2b3ccecfe011 gpt
naa. 6006016045502500c20a2b3ccecfe011为磁盘的naa号
重新运行 partedUtil getUsableSectors 命令就可以获得信息输出
4. 运行以下命令创建一个分区
以上命令为一行命令,1表示分区1,2048表示起始块,即offsize,1953525134表示可用块数量,AA31E02A400F11DB9590000C2911D1B8表示VMFS文件系统,该guid值不可以改为其它值,如果是ESXi 5以前版本,则该值为251,在esxi 5以上版本,使用gpt标记磁盘分区
5. 运行以下命令以尝试挂载 VMFS 数据存储:
注意:检查esxi存储挂载情况,如果挂载了数据存储,那么数字正确,无需调整值。
如果未挂载数据存储,可能会在 /var/log/vmkernel.log 中看到类似以下内容的消息:
最开始获得的可用块数量为整个LUN的块数量,但实际可以用来分区的块数是少于这个值的,因此挂载文件系统的时候,会报我们第一次创建的分区的块数量不对,日志会输出真实的块的数量,我们就可以拿这个值来重新计算
在这种情况下,请将偏移值(-1) 加到存储的大小,以获得实际的结束块。
例如:1953521664+ 2047 = 1953523711
6. 根据步骤5的情况,重新使用新的结尾值运行以下命令,重新创建分区:
7. 现在您已具有正确的分区。再次运行 VMFS 重新扫描:
日志输出不再有store size错误的信息,即表示挂载成功
在一台主机上成功挂载数据存储后,便可预计在能够访问此 LUN 的其他主机上运行相同的 VMFS 重新扫描命令时将会挂载 VMFS 数据存储。
以上就是我今天碰到的分区丢失信息的操作步骤,可能和官方kb有一点不一样,仅供参考,如果各位朋友在恢复的过程中数据丢失,我可不负责的啊,嘿嘿!
下面链接为官方KB链接,供参考,官方kb中间步骤感觉有点乱。。。。但命令行可以参考!
https://kb.vmware.com/s/article/2088543?other.KM_Utility.getArticleLanguage=1&r=1&other.KM_Utility.getArticleData=1&other.KM_Utility.getArticle=1&ui-comm-runtime-components-aura-components-siteforce-qb.Quarterback.validateRoute=1&other.KM_Utility.getGUser=1
下面截图为GUID的对应的文件系统表,是朋友Brody提供的,我刚开始恢复,不明白这个意思,官方的kb里写的是UUID号,我认为UUID不就唯一号码码?如主机对应一个UUID等,就随便改了这个UUID值,结果分区挂载不成功。后来才知道这个不叫UUID,应叫GUID,看来官方的KB措词也不准确啊!再次感谢Brody!
partedUtil setptbl命令使用方法见官方KB
https://kb.vmware.com/s/article/2076191
VMware VMFS分区表恢复相关推荐
- 云小课|细数那些VMware虚拟机的恢复招式
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:当遭遇误操作.病毒 ...
- VMware VMFS文件系统元数据不一致问题处理
VMware VMFS文件系统元数据不一致问题处理 原创 李严省 虚实之路 2018-09-09 问题现象 客户VMware主机通过二个光交换机连接至存储,其中一个光交换机出现故障,FC链路切换至另外 ...
- VMware Workstation不可恢复错误: (vcpu-0)
环境 : 电脑 :Dell 问题一.VMware Workstation 不可恢复错误: (vcpu-0)vcpu-0:VERIFY vmcore/vmm/main/cpuid.c:382 bugNr ...
- vmware workstation不可恢复错误:(vthread-7)
错误信息如下截图所示,同时我发现只要不管这个错误弹出窗口,虚拟机是可以正常运行的: 解决办法 : 根据提示 找到C:\Users\Administrator\AppData\Local\Temp 全部 ...
- 根据OVF文件在VMware Workstation中恢复虚拟机
根据OVF文件在VMware Workstation中恢复虚拟机 点击VMware Workatation上面"文件"中的打开来浏览并找到你所拥有的OVF文件: 点击打开出现下面内 ...
- VMware报错:VMware Workstation 不可恢复错误: (vmx)
环境:kali放在移动硬盘中,VM装在电脑上,运行一次后挂起. 问题描述:运行挂起的虚拟机提示: VMware Workstation 不可恢复错误: (vmx) 解决方法: 删除虚拟机安装目录下面 ...
- 更新win11后vmware出错,VMware Workstation 不可恢复错误: (vcpu-0)
更新win11后,vmware无法正常使用了,症状如下:可以打开虚拟机,但是挂起的时候会报错 VMware Workstation 不可恢复错误: (vcpu-0),Exception 0xc0000 ...
- 【QA】VMware Workstation 不可恢复错误: (vmx)解决方案
@[TOC](VMware Workstation 不可恢复错误: (vmx)解决方案) 在VMware WorkStation中部署了三节点的Hadoop集群,电脑实在太慢,就直接挂起了虚拟机,今天 ...
- VMware Workstation 无法恢复错误: (vcpu-0) Exception 0xc0000005 (access violation) has occurred.
问题 VMware Workstation 无法恢复错误: (vcpu-0) Exception 0xc0000005 (access violation) has occurred. 原因 产生这个 ...
- VMware Workstation 不可恢复错误: (vcpu-0) vcpu-0:VERIFY vmcore/vmm/main/physMem_monitor.c:1123
使用VMware® Workstation 11.1.2 build-2780323安装MacOS系统时出现以下错误: VMware Workstation 不可恢复错误: (vcpu-0) vcpu ...
最新文章
- 学术新星畅谈计算机视觉科研之路:视觉研究已经成熟,跨学科方法成为趋势...
- 像淘宝、京东这样的大型电商网站服务器构架完全部署解决方案
- Docker 安装MySQL以及外部访问
- virtuoso从电路图导入版图_基于Virtuoso 平台的单片射频收发系统电路仿真与版图设计...
- Linux系统编程--2(环境变量,进程控制)
- python(16)-列表list,for循环
- Egret资源管理解决方案
- 谁说 Vim 不好用?
- 全员编程的时代下,软件测试如何转渗透测试?
- Oracle Dataguard 管理命令
- 【一分钟知识】七种损失函数
- android存储登录用户名密码,AndroidStudio实现账号密码保存功能
- 笔记本护眼设置——全面攻略(保护视力)(笔者倾情奉献+强烈推荐)
- java程序中的异常404 505错误
- 两台计算机如何组成局域网,两台电脑如何建立局域网
- word整个表格首行缩进_Word段落首行无法缩进、不能输入空格与表格首行缩进的解决方法...
- java根据位置信息切割图片
- .jar!/BOOT-INF/classes!/ jar包无法重启了,求大神帮忙解答,谢谢!
- 《自然语言处理实战入门》第三章 :中文分词原理及相关组件简介---- 汉语分词领域主要分词算法、组件、服务(下)
- ctfshow命令执行篇