最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
XenServer的断电导致系统崩溃而恢复数据的示例
时间:2016-08-08 编辑:简简单单 来源:一聚教程网
由于 办公楼突然断电导致公司内部机房XenServer主机挂了一台,系统无法启动,宕机之前系统配置是
CPU:E5 2630 v3
内存:128GB
存储:3T 西数紫盘5块
阵列卡:LSI 9361-8i
磁盘采取了5块做raid5,当宕机无法启动之后,我采取了增加一块LSI9361-8i的卡和6块3T磁盘(硬件备件的重要性),然后重新做了一组raid5,
在新的raid上重新安装了一个Xenserver系统,进入系统后我发现之前系统上的raid阵列没了分区表没了pv vg lv,突然之间我直接愣比了。。。
但是事情已经出了还是要想办法恢复的,首先要还原分区表,于是开始慢慢的爬坑和尝试了,这里不说走的弯路,直接说解决过程
首先查看当前系统的分区表详情。
[root@xenserver-DS-TestServer1 ~]# sgdisk -p /dev/sdb
Disk /dev/sdb: 29297213440 sectors, 13.6 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 96873AC9-0736-4EDD-B12C-9C64FA674119
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 29297213406
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 46139392 83888127 18.0 GiB 0700
2 8390656 46139391 18.0 GiB 0700
3 87033856 29297213406 13.6 TiB 8E00
4 83888128 84936703 512.0 MiB EF02
5 2048 8390655 4.0 GiB 0700
6 84936704 87033855 1024.0 MiB 8200
[root@xenserver-DS-TestServer1 ~]#
然后发现,XenServer非常好的动作就是数据存储分区虽然ID不是最后一个但是分区的块是最后一个,那么喜讯来了,我们完全可以借助现有的分区信息恢复之前的分表。
[root@xenserver-DS-TestServer1 ~]# sgdisk -p --new=5:2048:8390655 -t 5:0700 /dev/sda
[root@xenserver-DS-TestServer1 ~]# sgdisk -p --new=2:8390656:46139391 -t 2:0700 /dev/sda
[root@xenserver-DS-TestServer1 ~]# sgdisk -p --new=1:46139392:83888127 -t 1:0700 /dev/sda
[root@xenserver-DS-TestServer1 ~]# sgdisk -p --new=4:83888128:84936703 -t 4:EF02 /dev/sda
[root@xenserver-DS-TestServer1 ~]# sgdisk -p --new=6:84936704:87033855 -t 6:8200 /dev/sda
[root@xenserver-DS-TestServer1 ~]# sgdisk -p --new=3:87033856 -t 3:8E00 /dev/sda
命令解释 由于是大于2T的磁盘做分区所以需要用他来做GPT分区
-p 是打印信息用的
--new=X:起始位置:结束位置 (没有结束位置就是到最后)
-t X:分区类型代码
来看看恢复的分区表是不是正确的
[root@xenserver-DS-TestServer1 ~]# sgdisk -p /dev/sda
Disk /dev/sda: 23437770752 sectors, 10.9 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 589962FD-858D-4789-A026-E08AD53863FF
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 23437770718
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 46139392 83888127 18.0 GiB 0700
2 8390656 46139391 18.0 GiB 0700
3 87033856 23437770718 10.9 TiB 8E00
4 83888128 84936703 512.0 MiB EF02
5 2048 8390655 4.0 GiB 0700
6 84936704 87033855 1024.0 MiB 8200
[root@xenserver-DS-TestServer1 ~]# mkdir /1
[root@xenserver-DS-TestServer1 ~]# mount /dev/sda1 /1
[root@xenserver-DS-TestServer1 ~]# ls /1
1 bin boot cli-rt dev etc EULA home iso_storage lib lib64 lost+found media mnt opt proc Read_Me_First.html root run sbin srv sys tmp usr var
分区表回来了,现在就是要做恢复pv了,由于XenServer在/etc/lvm/backup/下有存放lvm的备份信息,所以直接来操作
[root@xenserver-DS-TestServer1 ~]# ls /etc/lvm/backup/
VG_XenStorage-275f0172-dec8-aa20-81a5-5e50cd637f59 XSLocalEXT-0d4b3188-1afd-ecf7-44a4-2d594d966b35
[root@xenserver-DS-TestServer1 ~]# grep -A1 pv0 /etc/lvm/backup/VG_XenStorage-275f0172-dec8-aa20-81a5-5e50cd637f59 |head -3 #取之前PV的ID
pv0 {
id = "XBPMJ4-QTR0-I76k-32jy-UiKR-EaOh-gDu954"
--
[root@xenserver-DS-TestServer1 ~]# pvcreate /dev/sda3 \
-u XBPMJ4-QTR0-I76k-32jy-UiKR-EaOh-gDu954 --restorefile \
/etc/lvm/backup/VG_XenStorage-275f0172-dec8-aa20-81a5-5e50cd637f59
[root@xenserver-DS-TestServer1 ~]# vgcfgrestore
[root@xenserver-DS-TestServer1 ~]# pvs
PV VG %2