【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN 分布式存储虚拟化平台VMDK文件1KB问题数据恢复案例

简介: 在一例vSAN分布式存储故障中,因替换故障闪存盘后磁盘组失效,一台采用RAID0策略且未使用置备的虚拟机VMDK文件受损,仅余1KB大小。经分析发现,该VMDK文件与内部虚拟对象关联失效导致。恢复方案包括定位虚拟对象及组件的具体物理位置,解析分配空间,并手动重组RAID0结构以恢复数据。此案例强调了深入理解vSAN分布式存储机制的重要性,以及定制化数据恢复方案的有效性。

一:案例描述

知己知彼,方能百战百胜,数据恢复也是一样,详细了解数据丢失的过程,可以使数据恢复更加简单,与客户详细沟通得知故障原因如下:整个VMware vSphere共控制多个集群,其中出现故障的集群使用的vSAN分布式结构存储,故障原因是一台存储中的1个磁盘组的闪存盘出现故障,磁盘指示灯报错,但是数据能够正常使用,于是更换一块新的SSD硬盘上去,但之前的磁盘组不认这个硬盘,故磁盘组失效,维护人员重新选择该磁盘组的2块HDD与新的SSD重新组成一个新的磁盘组,并重新加入vSAN分布式存储集群,2小时后同步完成,集群能够正常访问,但涉及该磁盘组的虚拟机中,有一台虚拟机无法启动,检查后发现该虚拟机的VMDK文件变成1KB大小。

二:解决方案

1.案例评估

通过我司技术工程师现场分析梳理,发现出现问题的虚拟机存储策略与其他正常虚拟机策略不一致,该虚拟机采用的是RAID0结构的策略,并且未使用置备,其他虚拟机均采用RAID1策略,使用100%置备。重建该磁盘组的时候,其实涉及存储在该磁盘组的虚拟机已经全部出现故障,但是由于使用100%置备策略的原因,已经自动降级,然后自动恢复并且又继续使用100%置备策略,故这些虚拟机都能够自动恢复成正常的状态,但没有使用该策略的虚拟机则不能自动恢复,出现数据丢失。vSAN与VMware传统的VMFS文件系统存在一定的相似性,可以理解为vSAN是一个大的分区,这个分区内每一个文件夹都是VMFS相似的结构。首先访问vSAN,才能访问下一层级的VMFS文件系统,只不过在vSAN下面的VMFS文件系统内,对虚拟磁盘VMDK文件的存储有特殊的定义。

VMDK1.jpg

用户在vSAN内新建一个虚拟机,该虚拟机配有1个VMDK文件,系统在生成这个VMDK文件时,同时会生成1个虚拟对象,并使用UUID来进行关联,通过网页访问vSphere时,我们可以在该虚拟机目录下发现该VMDK文件,并且大小为正常大小。

但是我们通过SFTP的方式进行访问,就会发现该VMDK大小文1kb,因为使用外部访问VMDK文件时,系统并不会自动关联VMDK文件和虚拟对象。

同理,如果虚拟对象出现故障,无法正常访问,关联失效,那么使用网页访问vSphere时,我们看到与之关联的VMDK文件也会变成1kb。(大小未满1kb同一按1kb计算)

VMDK2.jpg

我们可以下载1kb的VMDK文件,使用txt打开后可以看到与之关联的虚拟对象的UUID,红框内就是与之关联的虚拟对象ID:

VMDK3.jpg

我们可以在集群里面选择监控,里面可以查看虚拟对象的情况:

VMDK4.jpg

然后根据虚拟对象ID查看该虚拟对象的物理存储位置,由图我们可以看到,该虚拟对象是一个RAID 0,由多个组件组成,组件的状态为缺失:

VMDK5.jpg

2.恢复方案

数据恢复思路如下:

1)记录下该虚拟对象下面每个组件的所在的主机、缓存磁盘、物理磁盘。

2)解析出该物理盘内分配给此虚拟对象的空间。

3)从缓存磁盘内解析已分配但是还未写入的空间地址。

4)使用工具手动提取这些扇区地址并组合成一个完整的组件。

5)使用提取的所有组件重组RAID 0,即可访问该虚拟对象内的所有数据。

第一步:解析出与故障VMDK文件对应的虚拟对象。

第二步:依据获取的虚拟对象的ID,在vSphere监控里面查看该虚拟对象的结构。

有些极端情况下,该虚拟对象已经在vSphere监控里面丢失,无法找到该虚拟对象,则需要手动分析,访问硬盘底层扇区,呈现结构如下。解析vSAN分布式存储的分区在该HDD和SSD上占用的空间,在这些空间内可以通过16进制数编辑器解析出丢失的虚拟对象ID,提取指定虚拟对象或VMDK虚拟磁盘文件。

vSAN2.jpg

第三步:依据获取的虚拟对象ID,从硬盘提取隶属于该ID的组件成员,重组RAID,获取丢失的数据,提取vSAN分布存储在该磁盘组中的组件数据,可以提取出整个虚拟对象的组件,然后重组RAID即可恢复出丢失的数据。

VMDK6.jpg

三:案例总结

vSAN是一种以vSphere内核为基础进行开发,基于VMware ESXi虚拟化平台的可扩展的分布式存储架构。vSAN通过在vSphere集群主机当中安装闪存和硬盘来构建vSAN存储层。这些设备由vSAN进行控制和管理,vSAN形成一个供vSphere集群使用的统一共享存储层。VMDK(虚拟机磁盘)是由VMware开发的一种虚拟机磁盘格式,是存储虚拟机硬盘的标准格式之一。在虚拟化环境中,VMDK文件作为一个磁盘驱动器,包含虚拟机的操作系统、应用程序和数据等。VMDK文件是一个包含所有虚拟机磁盘信息的文件,其文件格式由多个数据文件和一个描述文件组成。数据文件是虚拟磁盘的实际数据,而描述文件则包含了磁盘的配置信息、虚拟机的硬件配置和磁盘文件的信息。VMDK文件可以在不同的VMware虚拟化平台之间进行移植和共享,支持在多种操作系统和硬件环境下运行,并提供灵活的虚拟化解决方案。

相关文章
|
8月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
446 18
|
8月前
|
Ubuntu 安全 应用服务中间件
详细指南:配置Nginx服务器在Ubuntu平台上
以上步骤涵盖了基本流程:从软件包管理器获取 Ngnix, 设置系统服务, 调整UFW规则, 创建并激活服务器块(也称作虚拟主机), 并进行了初步优化与加固措施。这些操作都是建立在命令行界面上,并假设用户具有必要权限(通常是root用户)来执行这些命令。每个操作都有其特定原因:例如,设置开机启动确保了即使重启后也能自动运行 Ngnix;而编辑server block则定义了如何处理进入特定域名请求等等。
748 17
|
12月前
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
3622 42
|
12月前
|
物联网
如何在腾讯云等平台搭建自己的物联网MQTT服务器Broker
物联网技术及MQTT协议被广泛应用于各种场景。本文介绍物联网MQTT服务助手下载,如何搭建自己的物联网平台,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
866 37
|
12月前
|
存储 数据挖掘
Vsan数据恢复——Vsan分布式文件系统数据恢复案例
一台采用VsSAN分布式文件系统的存储设备由于未知原因关机重启。管理员发现上层的虚拟机不可用,存储内的数据丢失。
320 30
|
存储 人工智能 项目管理
2025年GitHub平台上的十大开源MCP服务器汇总分析
本文深入解析了GitHub上十个代表性MCP(Model Context Protocol)服务器项目,探讨其在连接AI与现实世界中的关键作用。这些服务器实现了AI模型与应用程序、数据库、云存储、项目管理等工具的无缝交互,扩展了AI的应用边界。文中涵盖Airbnb、Supabase、AWS-S3、Kubernetes等领域的MCP实现方案,展示了AI在旅行规划、数据处理、云存储、容器编排等场景中的深度应用。未来,MCP技术将向标准化、安全性及行业定制化方向发展,为AI系统集成提供更强大的支持。
2766 2
2025年GitHub平台上的十大开源MCP服务器汇总分析
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
493 12
|
运维 数据挖掘 索引
服务器数据恢复—Lustre分布式文件系统服务器数据恢复案例
5台节点服务器,每台节点服务器上有一组RAID5阵列。每组RAID5阵列上有6块硬盘(其中1块硬盘设置为热备盘,其他5块硬盘为数据盘)。上层系统环境为Lustre分布式文件系统。 机房天花板漏水导致这5台节点服务器进水,每台服务器都有至少2块硬盘出现故障。每台服务器中的RAID5阵列短时间内同时掉线2块或以上数量的硬盘,导致RAID崩溃,服务器中数据无法正常读取。
|
9月前
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
597 2
|
9月前
|
存储 缓存 NoSQL
【📕分布式锁通关指南 12】源码剖析redisson如何利用Redis数据结构实现Semaphore和CountDownLatch
本文解析 Redisson 如何通过 Redis 实现分布式信号量(RSemaphore)与倒数闩(RCountDownLatch),利用 Lua 脚本与原子操作保障分布式环境下的同步控制,帮助开发者更好地理解其原理与应用。
717 6