1.现象

公司云平台使用的是XenServer 5.5,版本比较老了。最近几天因为机房改造,导致云环境断电,重启之后发现有2台机器无法ping到,所以再次重启,登录修复网卡,最后发现无法用XenCenter找到Local Storage,部分主机的该栏目内容为空,导致一些重要的虚拟机无法启动。

2.诊断

于是远程登录机器,运行lvscan命令查看LVM的逻辑卷情况,发现结果如下:

[root@host202 backup]# lvscan
inactive '/dev/VG_XenStorage-4883c621-cad8-e6db-7d17-b33ac4eb1aaa/MGT' [4.00 MB] inherit

再用 lvdisplay 查看,发现只有一个逻辑卷,原本的几个逻辑卷全部不见了。于是断定LVM的磁盘丢失了,再去查看/etc/lvm/backup目录,发现有2个备份文件

[root@host202 backup]# ls -al /etc/lvm/backup/
total 16
drwx------ 2 root root 4096 Jan 22 16:48 .
drwxr-xr-x 5 root root 4096 Sep 19 2011 ..
-rw------- 1 root root 4072 Jan 21 15:24 VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923
-rw------- 1 root root 1259 Jan 22 16:48 VG_XenStorage-4883c621-cad8-e6db-7d17-b33ac4eb1aaa

依次cat一下两个文件的内容,发现大的那个文件是我需要的。于是准备着手恢复。

3.实验

恢复的方案是先创建一个实验环境,在VMWare下安装一个centos,创建几个逻辑卷,备份,然后全部删除,再创建一个逻辑卷,覆盖掉原数据,然后再开始恢复,看看是否能够成功。整个实验环境的配置情况是添加2个磁盘,一个是系统盘10G大小,另一个是2G的试验盘,centos安装在10G的盘上。

3.1 实验初始化

初始化实验环境,使用的命令如下:

pvcreate /dev/sdb1    ## 创建lvm的物理卷
vgcreate lvmfix /dev/sdb1  ## 在物理卷上创建卷组,也就是将不同的磁盘组合成概念上的单个磁盘
lvcreate -n fix01-10M -L 10M lvmfix ## 创建10M大小的逻辑卷,linux会把它当磁盘分区那么用
lvcreate -n fix01-101M -L 101M lvmfix ## 连续创建多个,这个101M
lvcreate -n fix01-502M -L 502M lvmfix ## 创建502M的空间

格式化并放进一些有内容的文件,以下步骤要每个逻辑卷都做一次

mkfs -j /dev/lvmfix/fix01-10M  ##
mkdir /root/f10m
mount /dev/lvmfix/fix01-10m /root/f10m
echo "abc 10m hello" > /root/f10m/f10m-readme

其余的两个目录同样处理之后,备份一下lvm的分区情况

vgcfgbackup -f %s-20140124 

开始模拟故障情况,首先彻底删除卷,然后创建一个新的卷组去覆盖部分数据

vgremove lvmfix ## 删除卷组,如果询问,则一路yes到底
pvremove /dev/sdb1 ## 连物理卷都删掉

重新创建一个临时的,覆盖掉原来的数据

pvcreate /dev/sdb1
vgcreate vg-fix-2 /dev/sdb1
lvcreate -n wrong-op -L 1G vg-fix-2
vgcfgbackup -f %s-after-wrong-op ## 备份一下破坏的卷信息,其实也可以不备份

3.2 恢复过程

此时准备开始恢复,先删除临时创建的内容

vgremove vg-fix-2
pvremove /dev/sdb1

然后检查早先备份的分区情况 /root/lvmfix-20140124,提取pv的uuid和vg的uuid

grep "id =" /root/lvmfix-20140124

第二行的是pv的uuid,记下来,这里用{pvuuid}代替。 然后开始创建,用命令创建一个相同uuid的物理卷

pvcreate --restorefile /root/lvmfix-20140124 --uuid {pvuuid} /dev/sdb1 ## 要注意,低版本的lvm不要下划线部分

然后恢复卷组

vgcfgrestore --test --file /root/lvmfix-20140124 lvmfix ## 恢复初始的卷组情况,先测试一下
vgcfgrestore --file /root/lvmfix-20140124 lvmfix ## 然后再去掉--test参数进行实际操作
lvscan ##执行完毕之后,看看物理卷是否恢复原样
vgchange -ay lvmfix ## 记得要激活一下,使之状态为active
mount -t ext3 /dev/lvmfix/fix01-10m /root/f10m ## 重新 mount,要进行磁盘检查

扫描的结果报告mount: wrong fs type, bad option, bad superblock错误,看来磁盘已经损坏了,需要修复。

e2fsck /dev/lvmfix/fix01-10m ## 修复磁盘

记得每一个逻辑分区都需要mount并扫描一下,有错误就修复。不过根据经验,一般只会前一个或两个分区损坏,越后的分区基本都完好。不过要注意,这里的修复方式不适用于对XenServer的VHD修复。

4.实际操作

实验成功之后,需要对损坏的主机进行实际操作,过程中出现了很多其他异常情况,让人感觉非常艰苦,套用搜索资料过程中的一个老外的网名:I Hate Xen!

4.1 第一阶段,清除

首先寻找物理卷的uuid

[root@host202 backup]# head -50 /etc/lvm/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923
# Generated by LVM2 version 2.02.56(1)-RHEL5 (2010-04-22): Tue Jan 21 15:24:17 2014
contents = "Text Format Volume Group"
version = 1
description = "Created *after* executing '/usr/sbin/pvresize /dev/disk/by-id/scsi-3600605b00283629017a39a1525dc3ec8-part3'"
creation_host = "host202"       # Linux host202 2.6.32.12-0.7.1.xs1.1.0.327.170596xen #1 SMP Fri Sep 16 17:45:00 EDT 2011 i686
creation_time = 1390289057 # Tue Jan 21 15:24:17 2014
VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923 { ## 要记住这个卷组的编号,接下来要创建
id = "vcm98B-U8Ii-rB2z-Z0hP-0svE-DiM7-lsHXSe"
seqno = 18
status = ["RESIZEABLE", "READ", "WRITE"]
flags = []
extent_size = 8192 # 4 Megabytes
max_lv = 0
max_pv = 0
        physical_volumes {
                pv0 {
id = "OfQbfY-Fbvf-p5KW-8s8x-iyrx-VZ4F-ogDpIv" ## 这个就是我们要找的物理卷编号pvuuid
device = "/dev/sda3" # Hint only
                        status = ["ALLOCATABLE"]
flags = []

查看一下实际卷组的编号,准备删除XenServer自动恢复时候创建的卷。

[root@host202 backup]# vgscan
  Reading all physical volumes.  This may take a while...
Found volume group "VG_XenStorage-4883c621-cad8-e6db-7d17-b33ac4eb1aaa" using metadata type lvm2

依照实验步骤,删除无用的卷组

[root@host202 backup]# vgremove VG_XenStorage-4883c621-cad8-e6db-7d17-b33ac4eb1aaa
Do you really want to remove volume group "VG_XenStorage-4883c621-cad8-e6db-7d17-b33ac4eb1aaa" containing 1 logical volumes? [y/n]: y
Logical volume "MGT" successfully removed
Volume group "VG_XenStorage-4883c621-cad8-e6db-7d17-b33ac4eb1aaa" successfully removed

看一下物理卷,然后准备删除,要注意下面的黑体字,说明物理卷是空的,但是不要害怕,只要没有往这个物理卷里边写过东西,原先的内容就还都可以恢复。删的时候要注意以下命令的黑体下划线部分,你的磁盘分区位置和我机器上的是不同的。

[root@host202 backup]# pvscan
PV /dev/sda3 lvm2 [456.73 GB]
Total: 1 [456.73 GB] / in use: 0 [0 ] / in no VG: 1 [456.73 GB]

删掉这个物理卷

[root@host202 backup]# pvremove /dev/sda3
Labels on physical volume "/dev/sda3" successfully wiped

4.2 第二阶段,恢复lvm

根据实验步骤,我们重新创建名字和uuid一样的物理卷,这里黑体部分就是记下来的pvuuid。另外千万不要忘记带下划线的/dev/sda3部分,我的机器和读者你的机器是不同的,看好上一步pvremove的是哪一个分区,建错了就什么都没了哦

[root@host202 backup]# pvcreate --restorefile ./VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923  -uuid OfQbfY-Fbvf-p5KW-8s8x-iyrx-VZ4F-ogDpIv /dev/sda3
Can only set uuid on one volume at once
Run `pvcreate --help' for more information.
[root@host202 backup]# pvcreate --uuid OfQbfY-Fbvf-p5KW-8s8x-iyrx-VZ4F-ogDpIv /dev/sda3
Physical volume "/dev/sda3" successfully created

然后开始恢复磁盘卷,记住磁盘卷的名字是从第一阶段的第一步里得来的。先测试,再实际写入。

[root@host202 backup]# vgcfgrestore --test --file VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923 VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923
Test mode: Metadata will NOT be updated.
Restored volume group VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923

实际写入并恢复lvm分区信息,再次提醒磁盘物理卷名字

[root@host202 backup]# vgcfgrestore  --file VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923 VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923
Restored volume group VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923

看看战果如何,还是蛮喜人的,先看逻辑卷的情况。大家注意inactive的状态

[root@host202 backup]# lvscan
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/MGT' [4.00 MB] inherit
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-b4df3ed3-d6fd-4276-832b-a3a0f1c70bd0' [8.02 GB] inherit
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-5ceec995-26ec-4986-931f-3d1804807650' [192.38 GB] inherit
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-3a3a681d-c1c2-4636-a656-f9901343d33d' [92.19 GB] inherit
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-a69ae385-924c-42e7-af38-2e38ffeaf851' [8.02 GB] inherit
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-a3e49a56-2326-44d4-a136-3e4a28beded7' [6.02 GB] inherit
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-2b1a8fca-90d7-4ff4-b12a-aa2c8b589ba0' [6.02 GB] inherit
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-5e734d3c-2669-432d-8d38-4099d320375d' [8.00 MB] inherit
inactive '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-db2d7fd2-018a-4719-ae73-046d402224c6' [6.02 GB] inherit

卷组情况也看来不错

[root@host202 backup]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923" using metadata type lvm2

物理卷的情况看起来也很喜人,而且看看下划线黑体字部分,我们的磁盘空间显然已经回来了。

[root@host202 ~]# pvscan
PV /dev/sda3 VG VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923 lvm2 [456.71 GB / 138.02 GB free]
Total: 1 [456.71 GB] / in use: 1 [456.71 GB] / in no VG: 0 [0 ]

依据实验过程,激活整个卷组

[root@host202 backup]# vgchange -ay VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923
9 logical volume(s) in volume group "VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923" now active
[root@host202 backup]# lvscan
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/MGT' [4.00 MB] inherit
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-b4df3ed3-d6fd-4276-832b-a3a0f1c70bd0' [8.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-5ceec995-26ec-4986-931f-3d1804807650' [192.38 GB] inherit
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-3a3a681d-c1c2-4636-a656-f9901343d33d' [92.19 GB] inherit
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-a69ae385-924c-42e7-af38-2e38ffeaf851' [8.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-a3e49a56-2326-44d4-a136-3e4a28beded7' [6.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-2b1a8fca-90d7-4ff4-b12a-aa2c8b589ba0' [6.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-5e734d3c-2669-432d-8d38-4099d320375d' [8.00 MB] inherit
ACTIVE '/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-db2d7fd2-018a-4719-ae73-046d402224c6' [6.02 GB] inherit

4.3 第三阶段,磁盘检查

这里的磁盘检查和实验环境的完全不一样,因为XenServer使用了微软的VHD格式,所以千万不能用e2fsck来修复,否则数据永久丢失!

我们使用专用的修复工具来进行修复,如果不想麻烦的话,就手工一个个敲,如果量大的话,可以到参考文献中找检查脚本。不过有TAB键自动完善的功能,10个左右就直接敲命令吧

[root@host202 backup]# vhd-util check -n /dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-db2d7fd2-018a-4719-ae73-046d402224c6
/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-db2d7fd2-018a-4719-ae73-046d402224c6 is valid
 
vhd-util check -n /dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/MGT
/dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/MGT appears invalid; dumping headers
VHD Footer Summary:
-------------------
Cookie : XSSMc
Features : (0x01000000)
File format version : Major: 15423, Minor: 30829
Data offset : 77913575334348
Timestamp : Tue Jul 4 22:41:33 1922
Creator Application : '.0" '
Creator version : Major: 16190, Minor: 2620
Creator OS : Unknown!
Original disk size : 7997602797382 MB (83860943508677 Bytes)
Current disk size : 634683573958 MB (66551396324759 Bytes)
Geometry : Cyl: 29801, Hds: 111, Sctrs: 110
: = 177671 MB (186301547520 Bytes)
Disk type : Unknown type!
Checksum            : 0x74686963|0xffffe4c8 (Bad!)
UUID : 6b0a093c-2f61-6c6c-6f63-6174696f6e3e
Saved state : Yes
Hidden : 60
VHD Header Summary:
-------------------
Cookie :
Data offset (unusd) : 0
Table offset : 0
Header version : 0x00000000
Max BAT size : 0
Block size : 0 (0 MB)
Parent name :
Parent UUID : 00000000-0000-0000-0000-000000000000
Parent timestamp : Sat Jan 1 00:00:00 2000
Checksum : 0x0|0xffffffff (Bad!)

扫描结果不容乐观,我的机器上前两个分区都坏了,一个是MGT,另外一个是数据盘,大约8G大小。进一步检查,看看分区表是否还在

[root@host202 ~]# fdisk -l /dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/MGT

Disk /dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/MGT: 4 MB, 4194304 bytes
255 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes Disk /dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/MGT doesn't contain a valid partition table

分区表已经损坏!在搜索资料过程中,发现MGT是VDI插入时自动创建的,因此决定重建MGT,并且抛弃8G的那个盘,理由是我发现有很多8G和6G大小的VHD,怀疑这些都是自动生成的快照。

4.4 第四阶段,重新识别VHD

重新识别磁盘的方案很简单,就是把本地存储库忘记(forget)掉,然后再重新介绍(introduce)一次,对于无法识别的错误VHD,我们要把它改名,Xen会扫描VHD-*形式的磁盘镜像名称,我们简单修改成old-VHD-*即可跳过扫描。

首先我们要识别一下信息,用pvscan找到存储库的uuid,下方黑色画线部分要记下来

[root@host202 ~]# pvscan
PV /dev/sda3 VG VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923 lvm2 [456.71 GB / 138.02 GB free]
Total: 1 [456.71 GB] / in use: 1 [456.71 GB] / in no VG: 0 [0 ]

然后找到本机磁盘 /dev/sda3对应的id,再次强调,我这里是/dev/sda3,但是读者你的机器不一定是这个磁盘,不能搞错。

ls -al /dev/disk/by-id

再找到本机的uuid,用xe命令。黑体部分的就是主机uuid了

[root@host202 ~]# xe host-list
uuid ( RO)                : 0bb221af-3f0b-44ff-9dba-2564fd7b8a11
name-label ( RW): host202
name-description ( RW): Default install of XenServer

然后看看本机的SR名字是否正确,这里显然斜体部分内容是错误的,所以需要重建SR

[root@host202 ~]# xe sr-list type=lvm
uuid ( RO)                : 4883c621-cad8-e6db-7d17-b33ac4eb1aaa
name-label ( RW): Local Storage
name-description ( RW):
host ( RO): host202
type ( RO): lvm
content-type ( RO):

重建的思路是先把SR相关的VDI做一个unplug操作,然后forget掉SR,再重新创建一个名字正确的SR,插入VDI之后会自动生成新的MGT,再让XenServer自己扫描出剩余的好的VHD。

先要找出SR关联的pbd,

xe pbd-list sr-uuid=4883c621-cad8-e6db-7d17-b33ac4eb1aaa

然后忘记SR

xe sr-forget uuid=4883c621-cad8-e6db-7d17-b33ac4eb1aaa

再开始创建SR,就是这一步折腾我很久,

xe sr-create host-uuid=0bb221af-3f0b-44ff-9dba-2564fd7b8a11 content-type=user name-label="Local Storage" shared=false device-config:device=/dev/disk/by-id/scsi-3600605b00283629017a39a1525dc3ec8-part3 type=lvm

[root@host202 ~]# lvrename /dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/VHD-b4df3ed3-d6fd-4276-832b-a3a0f1c70bd0 /dev/VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923/old-VHD-b4df3ed3-d6fd-4276-832b-a3a0f1c70bd0
Renamed "VHD-b4df3ed3-d6fd-4276-832b-a3a0f1c70bd0" to "old-VHD-b4df3ed3-d6fd-4276-832b-a3a0f1c70bd0" in volume group "VG_XenStorage-0b3d830f-b140-3fdf-f384-7c56f1e72923"

[root@host202 ~]# xe sr-scan uuid=0b3d830f-b140-3fdf-f384-7c56f1e72923

[root@host204 backup]# pvscan
PV /dev/sda3 VG VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23 lvm2 [456.71 GB / 135.02 GB free]
Total: 1 [456.71 GB] / in use: 1 [456.71 GB] / in no VG: 0 [0 ]
[root@host204 backup]# xe pbd-list sr-uuid=df81f6b1-22ae-3fad-8f24-7654baa4f385
uuid ( RO) : 4a8f5318-98b0-f932-2f98-950198ab6e28
host-uuid ( RO): 78c36865-1129-45f1-98ae-e0428625652e
sr-uuid ( RO): df81f6b1-22ae-3fad-8f24-7654baa4f385
device-config (MRO): device: /dev/disk/by-id/scsi-3600605b00281e90017a3c8ab1eaa9739-part3
currently-attached ( RO): true

[root@host204 backup]# xe host-list
uuid ( RO) : 92d731ad-3936-4cfd-8584-ecc16b425114
name-label ( RW): host205
name-description ( RW): avm

uuid ( RO) : 78c36865-1129-45f1-98ae-e0428625652e
name-label ( RW): host204
name-description ( RW): Default install of XenServer

uuid ( RO) : 0bb221af-3f0b-44ff-9dba-2564fd7b8a11
name-label ( RW): host202
name-description ( RW): Default install of XenServer

[root@host204 backup]# xe pbd-unplug uuid=4a8f5318-98b0-f932-2f98-950198ab6e28

[root@host204 backup]# xe sr-list host=host204
uuid ( RO) : df81f6b1-22ae-3fad-8f24-7654baa4f385
name-label ( RW): Local storage
name-description ( RW):
host ( RO): host204
type ( RO): lvm
content-type ( RO): user

uuid ( RO) : 04509a62-85b7-b5b0-95fe-6fcbfb14323f
name-label ( RW): DVD drives
name-description ( RW): Physical DVD drives
host ( RO): host204
type ( RO): udev
content-type ( RO): iso

uuid ( RO) : c44f02e6-5717-211a-eed0-f2ef74ee6e0d
name-label ( RW): Removable storage
name-description ( RW):
host ( RO): host204
type ( RO): udev
content-type ( RO): disk

[root@host204 backup]# xe sr-forget uuid=df81f6b1-22ae-3fad-8f24-7654baa4f385

[root@host204 backup]# xe sr-introduce uuid=844f33b1-36ce-a8a1-699f-6e53c2ca3a23 type=lvm name-label="Local Storage"
844f33b1-36ce-a8a1-699f-6e53c2ca3a23

[root@host204 backup]# lvscan
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/MGT' [4.00 MB] inherit
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-e5163350-7a65-4424-9e98-91ed74b1771b' [8.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-3ad95f97-cc0a-4033-b832-ceeaac19ddf6' [192.38 GB] inherit
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-e163f2b5-0d1a-4e2a-8bc9-0d9ab467a01a' [50.11 GB] inherit
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-74bc6f50-c8a4-4f50-af0f-db463d2d0cad' [8.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-c6ad7774-1419-49aa-a984-0348e4848683' [6.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-52429a66-a0bf-410a-8858-f9e45c1e700a' [6.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-bb78fd95-7746-46a6-ab6a-fab578b7d64e' [6.02 GB] inherit
ACTIVE '/dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-5f27bce7-6cf5-4cce-a8d6-c77fbfa51774' [45.09 GB] inherit
[root@host204 backup]# lvrename /dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/MGT /dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/oldMGT
Renamed "MGT" to "oldMGT" in volume group "VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23"
[root@host204 backup]# lvrename /dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/VHD-e5163350-7a65-4424-9e98-91ed74b1771b /dev/VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23/bad-VHD-e5163350-7a65-4424-9e98-91ed74b1771b
Renamed "VHD-e5163350-7a65-4424-9e98-91ed74b1771b" to "bad-VHD-e5163350-7a65-4424-9e98-91ed74b1771b" in volume group "VG_XenStorage-844f33b1-36ce-a8a1-699f-6e53c2ca3a23"

[root@host204 backup]# xe pbd-create sr-uuid=844f33b1-36ce-a8a1-699f-6e53c2ca3a23 host-uuid=78c36865-1129-45f1-98ae-e0428625652e device-config:device=/dev/disk/by-id/scsi-3600605b00281e90017a3c8ab1eaa9739-part3
e45ba036-c59e-e3e3-d8b5-19be0cbfe336
[root@host204 backup]# xe pbd-plug uuid=e45ba036-c59e-e3e3-d8b5-19be0cbfe336

[root@host204 backup]# xe sr-scan uuid=844f33b1-36ce-a8a1-699f-6e53c2ca3a23

参考文献

  1. 硬盘ext2/3文件系统superblock损坏修复试验 http://blog.sina.com.cn/s/blog_4b51d4690100ndhm.html
  2. Recovering a Lost LVM Volume Disk http://www.novell.com/coolsolutions/appnote/19386.html
  3. XenServer Databaser Tool  http://support.citrix.com/article/CTX121564
  4. VDI Metadata Corruption   http://discussions.citrix.com/topic/300932-vdi-metadata-corruption/
  5. XenServer Metadata Corrupt Workaround  http://virtualdesktopninja.com/VDINinja/2012/xenserver-metadata-corrupt-workaround/
  6. http://www.ganomi.com/wiki/index.php?title=Check_for_consistency_in_the_VHD_metadata
  7. http://blog.adamsbros.org/2009/05/30/recover-lvm-volume-groups-and-logical-volumes-without-backups/
  8. http://discussions.citrix.com/topic/282493-vdi-is-not-available-xenserver-56fp1/page-2
  9. http://rritw.com/a/bianchengyuyan/C__/20130814/411428.html
  10. http://support.citrix.com/article/CTX136342
  11. http://help.31dns.net/index.php/category/xenserver/
  12. http://golrizs.com/2012/01/how-to-reinstall-xenserver-and-preserve-virtual-machines-on-a-local-disk/
  13. http://www.xenme.com/1796
  14. http://blogs.citrix.com/2013/06/27/openstack-xenserver-type-image-to-volume/
  15. http://natesbox.com/blog/data-recovery-finding-vhd-files/
  16. http://itknowledgeexchange.techtarget.com/linux-lotus-domino/recovering-files-from-an-lvm-or-ext3-partition-with-testdisk/
  17. http://zhangyu.blog.51cto.com/197148/1095637
  18. 详解MBR分区结构以及GPT分区结构  http://dengqi.blog.51cto.com/5685776/1348951
  19. FAT32文件系统详解 http://dengqi.blog.51cto.com/5685776/1349327
  20. 分析NTFS文件系统内部结构 http://dengqi.blog.51cto.com/5685776/1351300
  21. NTFS文件系统数据恢复-解析分区结构  http://blog.csdn.net/jha334201553/article/details/9088921
  22. Troubleshooting Disks and File Systems    http://technet.microsoft.com/en-us/library/bb457122.aspx
  23. http://support.microsoft.com/kb/234048
  24. Logical Disk Management http://www.ntfs.com/ldm.htm
  25. https://stackoverflow.com/questions/8427372/windows-spanned-disks-ldm-restoration-with-linux
  26. http://uranus.chrysocome.net/explore2fs/es2fs.htm
  27. http://blog.csdn.net/ljianhui/article/details/8604140
  28. https://superuser.com/questions/693045/how-to-recover-partitions-from-an-external-hard-disk
  29. http://www.r-tt.com/Articles/External_Disk_Recovery/
  30. http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/

mysql Cannot find or open table x/x 及解决办法
http://blog.csdn.net/xiangliangyu/article/details/8450765

mysql通过idb文件恢复数据
http://blog.csdn.net/xiangliangyu/article/details/8450812

Can I find out what version of MySQL from the data files?
https://dba.stackexchange.com/questions/41338/can-i-find-out-what-version-of-mysql-from-the-data-files

Can I find mysql version from data files, need for data restoration
https://stackoverflow.com/questions/16324569/can-i-find-mysql-version-from-data-files-need-for-data-restoration

How to Recover Data using the InnoDB Recovery Tool
http://www.chriscalender.com/?p=49

MySQL 不停服务来启用 innodb_file_per_table
http://www.php-oa.com/2012/04/20/mysql-innodb_file_per_table.html

工具
https://github.com/jaylevitt/recover_innodb_tables
https://launchpad.net/percona-data-recovery-tool-for-innodb
http://www.percona.com/docs/wiki/innodb-data-recovery-tool:mysql-data-recovery:start

XenServer 5.5 断电重启虚拟机磁盘丢失的修复的更多相关文章

  1. linux突然断电重启,配置文件丢失/程序无法打开/文件损坏

    电脑突然断电,重新开机后发现有的程序无法正常启动,原因是配置文件损坏了.感觉奇怪,为什么在硬盘里的文件会内容丢失? 1.可能:写数据的过程被中断,只完成了一部分.可能会出现乱码(因为只写了几个字节,不 ...

  2. Linux记录-重启后磁盘丢失问题解决方案

    1.df -TH 查看挂载情况 2.fdisk -l 查看磁盘情况 3.blkid 查看磁盘文件系统 4.vim /etc/fstab 加入  /dev/xvdf   ext4  defaults 0 ...

  3. 使用ehcache持久化数据到磁盘 并且在应用服务器重启后不丢失数据

    使用ehcache时如何持久化数据到磁盘,并且在应用服务器重启后不丢失数据1.如何持久化到磁盘使用cache.flush(),每次写入到cache后调用cache.flush() ,这样ehcache ...

  4. Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法

    Hyper-V下的Linux虚拟机网卡丢失问题原因及解决办法   虚拟化大势所趋 公司推行了虚拟化,全部用的是Microsoft Windows 2008 R2 Enterprise with Hyp ...

  5. KVM -> 虚拟机磁盘管理_03

    1.KVM磁盘管理 1.KVM qcow2.raw.vmdk等镜像格式说明:http://blog.csdn.net/zhengmx100/article/details/53887162 raw: ...

  6. ESXI虚拟机磁盘管理(精简-厚置-精简)

    VMwareESX/ESXi 精简置备(thin)与厚置备(thick)虚拟机磁盘之间转换 VMwareESX/ESXi 虚拟机磁盘thin与thick之间转换 注意:转换前请先关闭虚拟机!!! 一. ...

  7. CentOS 添加新硬件硬盘,扩展空间而无需重启虚拟机

    运行如下命令,通过重新扫描 SCSI (注:Small Computer System Interface 小型计算机系统接口)总线并添加 SCSI 设备,系统就可以扩展操作系统的物理卷磁盘空间,而且 ...

  8. linux虚拟机磁盘扩展与分区大小调整

    有段时间觉得linux虚拟机上的磁盘不太够用,研究了下其磁盘扩展 1.linux虚拟机磁盘扩展 step1. 先关机在编辑虚拟机中,找到硬盘选项增加空间,进行扩展step2. 进入root fdisk ...

  9. Vmware centos 虚拟机 磁盘扩容

    一,lvm ext4 扩容 1,首先关闭虚拟机,在vSphere Client 将硬盘大小增加或者新增一块硬盘 (从原来10G增加到50G) 2,开机 此时,df -hT只显示原来的磁盘大小 使用 f ...

随机推荐

  1. IT真的是万能的吗?

    朋友最近郁闷了,作为企业信息化主管的他最近经常听到的一句话就是:IT是万能的,不能拒绝用户的任何需求.这句话如果是普通用户私下开玩笑说说也就罢了,但现在演变成了老板在会议场合不止一次这么说,那就让人匪 ...

  2. linux 环境变量设置

    sudo gedit ~/.bashrc source ~/.bashrc

  3. Oracle EBS FA 本年折旧

    FUNCTION get_ytd_deprn(p_asset_id IN NUMBER, p_book_type_code IN VARCHAR2, p_rate_source_rule IN VAR ...

  4. 极致精简的webservice集成例子

    极致精简的webservice例子   看了网上好多关于webservice的例子,基本上对初学者来说都是模棱两可云里雾里,现在,我将网上关于webservice的讲解提炼出来,通过一个最简单使用并且 ...

  5. http网站转换成https网站

    https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题   一:什么是https SSL(Security   Socket  ...

  6. xshell的一些常用配置

    1  在xshell中鼠标滚轮和右键的快捷方式 利用鼠标滚轮和右键快速粘贴上面复制的内容 打开xshell的工具---选项-----键盘和鼠标 点击确定 回到xshell即可使用

  7. FCM算法的matlab程序2

    FCM算法的matlab程序2 在“FCM算法的matlab程序”这篇文章中已经用matlab程序对iris数据库进行实现,并求解准确度.下面的程序是另一种方法,是最常用的方法:先初始化聚类中心,在进 ...

  8. Cesium实现键盘控制镜头效果

    w-前进   a-左转  d-右转  s-后退  q-上仰 鼠标左键按住左右移动更换角度 html代码如下: <div id="cesiumContainer" style= ...

  9. C#反射の反射泛型

    C#反射の反射详解(点击跳转)C#反射の反射接口(点击跳转)C#反射反射泛型接口(点击跳转)C#反射の一个泛型反射实现的网络请求框架(点击跳转) 接上篇. 自定义一个泛型类(继承于接口) public ...

  10. centos7下kubernetes(5。部署kubernetes dashboard)

    基于WEB的dashboard,用户可以用kubernetes dashboard部署容器话的应用,监控应用的状态,执行故障排查任务以及管理kubernetes各种资源. 在kubernetes da ...