xen server 存储库(sr)损坏的数据恢复方案

【常见故障】

一、sr无法识别,所有虚拟磁盘(vdi)丢失

二、sr中的虚拟磁盘(vdi)访问时报错

三、虚拟磁盘(vdi)删除或丢失

四、快照(snapshot)删除或丢失

五、sr初始化

六、sr所在的LVM结构损坏

七、sr所属的PV分区表损坏

八、其他故障

【故障分析】

上述常见故障是用户界面层的表现,探究其解决方案其实万变不离其宗,仅需明白xen server sr层的结构组成,上述故障即可有清晰的解决思路。

xen server sr存储库的结构组成多数基于linux lvm,sr中的每个vdi相当于lvm中的一个lv,而构建lvm则可以基于传统MBR的分区表或GPT的分区表进行管理。举个例子说,如果有一块1TB的单硬盘,假设为/dev/sdb,想要初始化为SR,通常是1T的PV先进行分区(MBR或GPT,当然也可以不分),分好区后,再将/dev/sdb1(假设要处理第一个分区)创建成LVM卷,里面再创建LV,这些LV就是VDI。

xen server同时会备份这些LVM信息,存放在/etc/lvm下,名称形如VG_XenStorage-151befd1-2224-5e06-914e-f15243f649d7_00103.vg,内容是标准的LVM  XML信息格式描述。

上述就是SR存储库的差不多所有结构信息,所有的损坏几乎都是基于上述信息的不完整导致。

上述信息的不同损坏组合,衍生出不同的解决方案。

【解决方案】

一、当PV分区表损坏时(适用于常见故障的1、7):

PV分区表损坏其实与SR没关系,只是直接表现影响到SR的访问,其修复过程与普通的分区表修复相同,修正MBR分区表或GPT分区表。

二、当LVM结构损坏时(适用于常见故障的1、6):

LVM结构损坏多数就是LVM XML信息区的损坏,可考虑通过xen server的LVM信息备份进行恢复。当然,有可能这个备份信息也损坏了。

三、当LVM结构损坏,同时备份信息也损坏了(适用于常见故障的1、6):

这是真正的技术难题,当LVM结构及其备份信息损坏后,所有的LV的片断索引信息全部丢失,所要做的工作就是找回每个VDI的LV EXTENTS信息。

XEN的VDI是基于Connectix和微软联合开发的VHD格式,通常采用精简增长模式(如同ESX VMDK的精简模式),也就是说vdi随着使用的增长而增长,并不是分配多少占用多少。这样的好处是可以节约空间,但坏处就是分配不可能太连续,总会有同时几个vdi交互申请空间。要想恢复这些片断(碎片信息),从上层可参考的信息是非常有限的,多数情况下,只能通过VHD格式内部的相关性,从VDI的头部开始,通过一些可前后匹配的信息,按LV PE的偏移,对extent碎片结构进行不断纠正。这个过程通常人工操作很吃力,为此,北亚数据恢复中心也是特意开发对vhd格式进行从前向后偏移校验的程序来进行匹配的,详细算法暂不公开,但可参考本文与本人所写<storage layout系列之VHD结构详解>进行算法设计与开发。

得到每个VDI的碎片信息后,即可通过碎片信息修正LVM信息或直接导出成VHD文件。

时间: 2024-10-31 08:52:04

xen server 存储库(sr)损坏的数据恢复方案的相关文章

在具有共享存储的xen Server上实现共享VM的启动方法_XenServer

如果在一台xen Server主机上创建了一个VM,该VM安装在共享的盘阵上.那么如果该主机因硬件原因出现宕机,怎么在其他主机启动共享盘上的VM实现VM的高可用呢.Citrix Xen Server 的高级版本和企业版本提供了高可用支持,且要求Xen Server主机要在同一个池中. 这里我们不通过同一个池,怎么实现VM的启动呢.在网上花费了很多时间用于查找相关资料.都未能插到我需要的资料. 后来就思考,按照道理来说这个功能应该是能够实现的才对.功夫不負有心人 环境 Citrix Xen Ser

公司Xen server虚拟化中虚拟机磁盘文件丢失的处理办法

描述   因服务器突然断电原因导致Xen Server服务器中一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘文件丢失,通过电话联系北亚数据来进行恢复.硬件环境是Dell 720服务器配戴一张H710P的RAID卡,由4块希捷2T STAT硬盘组成的RAID 10,上层环境是Xen Server 6.2版本操作系统,虚拟机是Windows Server 2003系统,10G系统盘 + 5G数据盘两个虚拟机磁盘,上层是Web服务器(ASP + SQL 2005的网站架构). 分析故障原因

Xen Server虚拟机删除数据的恢复过程

故障描述 1.硬件架构概述 服务器:Dell 720服务器配戴一张H710P的RAID卡. 存储阵列:由4块希捷2T STAT硬盘组成的RAID 10. 操作系统:Xen Server 6.2版本. 2.故障虚拟机概述 操作系统:Windows Server 2003. 应用:Web服务器(ASP + SQL 2005的网站架构). 虚拟磁盘:10G系统盘 + 5G数据盘. 故障描述:因特殊原因导致Xen Server服务器中一台VPS(即Xen Server虚拟机)不可用,虚拟磁盘中数据丢失.

使用Rational Team Concert Item Connector同步数据存储库

在不同的部门连接数据存储库,以使协作更容易 不同的部门系统之间的数据同步化是非常重要的.例如,客户支持与开发部门通常拥有他们自己的问 题追踪系统,这样数据同步化就能使不同部门之间的员工可以共享信息并且同时处理相同的问题.但是, 这实现起来是十分困难的,因为它需要手动的操作.不同部门之间的员工协作性地处理相同问题的一种方 式是,联系两个团队之间的储存库,这样人们相互之间可以共享并追踪储存库中的对象.您可以使用项目 连接器(Item Connector)来完成该项操作,其中的项目连接器是 IBM R

大数据:70多个网站让你免费获取大数据存储库

你是否需要大量的数据来检验你的APP性能?最简单的方法是从网上免费数据存储库下载数据样本.但这种方法最大的缺点是数据很少有独特的内容并且不一定能达到预期的结果.以下是70多家可以获得免费大数据存储库的网站. Wikipedia:Database :向感兴趣的用户提供所有可用的内容的免费副本.可以得到多种语言的数据.内容连同图片可以下载. Common crawl 建立并维护一个所有人都可以访问的开放的网络.这个数据保存在亚马逊s3bucket中,请求者可能花费一些钱来访问它. Common cr

SQL Server 2005 如何将删除的数据恢复

问题描述 SQL Server 2005 如何将删除的数据恢复 1C SQL Server 2005 如何将删除的数据恢复 SQL Server 2005 如何将删除的数据恢复 SQL Server 2005 如何将删除的数据恢复 SQL Server 2005 如何将删除的数据恢复 解决方案 http://www.cnblogs.com/lyhabc/p/3683147.html 解决方案二: http://www.cnblogs.com/lyhabc/p/3683147.html让我来用de

vmware安装ubuntu12.04嵌套安装xen server(实现嵌套虚拟化)

环境准备 软件:vmware workstation 9.0    ubuntu-12.04.2-server-amd64(官方下载) 硬件:确认CPU支持虚拟化VM-T vmware设置 vmware修改配置如下: 打开虚拟化功能. 然后安装ubuntu12.04 server,安装过程非常简单,这里不再详细描述了. 安装xen server 首先切换到root用户: sudo -s 然后安装系统所需要的软件和补丁: sudo apt-get install build-essential b

TomP2P 4.0.0发布 高性能键值对数据的存储库

TomP2P 4.0.0 版本能够更好地支持UPnP和新的NAT-PMP(jNAT PMPlib).支持新的持久连接,新的连接处理和保留.升级后的库包含:Netty.Guava 和 BerkleyDB.以及多个问题的修复. TomP2P是一个基于P2P的高性能键值对数据的存储库.每个值对数据有一个表(基于磁盘或内存)来存储自己的值.单一的值可以用于查询或更新次要的键.通信的基础框架使用Java NIO来处理多个并发连接. 软件信息:http://freecode.com/urls/47f4cca

70多个网站让你免费获取大数据存储库

你是否需要大量的数据来检验你的APP性能?最简单的方法是从网上免费数据存储库下载数据样本.但这种方法最大的缺点是数据很少有独特的内容并且不一定能达到预期的结果.以下是70多家可以获得免费大数据存储库的网站. Wikipedia:Database :向感兴趣的用户提供所有可用的内容的免费副本.可以得到多种语言的数据.内容连同图片可以下载. Common crawl 建立并维护一个所有人都可以访问的开放的网络.这个数据保存在亚马逊s3bucket中,请求者可能花费一些钱来访问它. Common cr