xenserver恢复vps数据(ext格式的存储数据恢复)
vps的数据很重要,被误删除了,客户一定要找回,通过数据公司,费用高耗时长,并且会影响vps的正常运行。这个时候,我们可以通过linux系统的文件恢复工具来恢复:extundelete ,
该工具的原理是通过 Inode 值去恢复文件,下面开始详细介绍这款工具的使用。
恢复数据前期准备:
1:需要准备额外的一块硬盘,并且这个硬盘的空间要足够用,用于把恢复的数据保存在这块硬盘上面。
2:在恢复数据的时候,所有的vps都需要关机处理,不然无法进行恢复的。
开始操作:
(一)部署extundelete所需的环境,使用命令yum进行安装make,C++等组件。
- yum --enablerepo=base --disablerepo=citrix install gcc-c++ make openssl openssl-devel -y
(二)下载extundelete工具,并且进行安装。
- wget http://os.xensystem.net/XenSystem/download/extundelete-0.2.4.tar.bz2
- tar -jxvf extundelete-0.2.4.tar.bz2
- cd extundelete-0.2.4
- ./configure --prefix=/usr/local/extundelete
- make && make install
- cd /usr/local/extundelete/bin
- ./extundelete -v
- ---------------------
- extundelete version 0.2.4
- libext2fs version 1.41.12
- Processor is little endian.
- ---------------------
(三)设置环境变量。
- echo "PATH=/usr/local/extundelete/bin:$PATH" >> /etc/profile
- echo "export PATH" >> /etc/profile
- source /etc/profile
(四)使用新的硬盘创建一个分区,并且格式化之后,挂载到一个目录,可以使用xenserver系统的home目录进行挂载。
创建一个新的分区,可以使用命令gdisk 进行分区,这里就不详细操作了,分区的大小不能小于需要恢复数据的大小。
格式化分区,并且挂载到home目录。
- mkfs.ext3 /dev/sda4
- mount /dev/sda4 /home
查看xenserver存储的挂载目录,记录存储的路径,以及挂载的目录,这个很重要,恢复挂载的时候,需要使用到的。
- df -hal
将存储进行反挂载。
- umount /dev/mapper/XSLocalEXT--89012026--8c0a--e51e--744b--c1536b7d2075-89012026--8c0a--e51e--744b--c1536b7d2075
(六)开始进行数据恢复操作,切换到新硬盘挂载的目录home,使用工具extundelete查看删除的文件,并且进行恢复。
切换到home目录。
- cd /home
格式为:extundelete 存储设备 --inode 2
- extundelete /dev/mapper/XSLocalEXT--89012026--8c0a--e51e--744b--c1536b7d2075-89012026--8c0a--e51e--744b--c1536b7d2075 --inode 2
如果这里出现多个被删除的文件,并且您也不知道那个文件是客户的vps的虚拟硬盘,那么只能是全部恢复了,如果之前有记录了vps的硬盘vdi的uuid,那么可以根据uuid来恢复,恢复文件需要一定时间。
注意:恢复的时候,默认被删文件会恢复到当前目录下的RECOVERED_FILES目录中,因此需要查看当前目录是否是挂载了新硬盘的home目录。
命令格式如下:extundelete --restore-file 文件名 存储设备
- extundelete --restore-file d497f387-d779-4672-b600-d6da522127df.vhd /dev/mapper/XSLocalEXT--89012026--8c0a--e51e--744b--c1536b7d2075-89012026--8c0a--e51e--744b--c1536b7d2075
- extundelete --restore-all /dev/mapper/XSLocalEXT--89012026--8c0a--e51e--744b--c1536b7d2075-89012026--8c0a--e51e--744b--c1536b7d2075
(七) 切换到RECOVERED_FILES目录中,并且查看恢复文件。
- cd RECOVERED_FILES/
(八)将存储的目录进行挂载,并且恢复的文件复制到存储中。
挂载存储目录,需要将恢复数据的时候,反挂载的存储进行挂载。
- mount /dev/mapper/XSLocalEXT--89012026--8c0a--e51e--744b--c1536b7d2075-89012026--8c0a--e51e--744b--c1536b7d2075 /var/run/sr-mount/89012026-8c0a-e51e-744b-c1536b7d2075
注意:建立vps之后,不能再次对存储进行操作,比如扫描,删除vps,删除vdi等等操作。
修改新建立的vps的硬盘名称,以便于查询到该硬盘的vdi的uuid。
查询该硬盘的VDI的uuid。
- xe vdi-list name-label=1
切换到存储的目录,并且显示文件,看到和vdi的uuid对应的vhd文件
- cd /var/run/sr-mount/89012026-8c0a-e51e-744b-c1536b7d2075/
删除新新建立vps的硬盘对应的vhd,此步骤非常重要,不能删除错误了,vhd的名称和vps的硬盘vdi的uuid是一样的。
(十)复制恢复的数据到存储里面,复制之后的名称,要和删除vhd名称一样。
- cp /home/d497f387-d779-4672-b600-d6da522127df.vhd /var/run/sr-mount/216a0461-ebfc-4c9a-92ea-6a374c7e9630.vhd
(十一)启动vps,就可以在vps里面看到恢复的vhd数据了,这个时候就可以将vps的数据进行复制到其他的地方,保存到云盘等,数据保留之后,重新扫描一下存储,然后就可以进行其他的操作了。
目录 返回
首页