所有问题解决方案
我们都已亲身测试

xenserver恢复vps数据(ext格式的存储数据恢复)

xenserver里面的vps数据被误删除了,但是vps的数据很重要,这个时候就需要恢复vps的数据了。如果您的xenserver服务器的存储格式是ext的,那么可以使用linux系统恢复文件工具:extundelete ,下面我们来介绍一下这款工具的使用。

注意:extundelete工具无法直接在需要恢复数据的分区或者硬盘上面进行恢复数据,因此需要额外一块硬盘,来进行数据恢复,该硬盘的大小不能小于需要恢复数据的vps硬盘大小。

(一)部署extundelete所需要的环境,需要安装make,gcc等,在xenserver服务器里面执行以下命令即可:

yum --enablerepo=base --disablerepo=citrix install gcc-c++ make openssl openssl-devel -y

(二)安装extundelete工具。
下载extundelete。

wget http://os.xensystem.net/XenSystem/download/extundelete-0.2.4.tar.bz2

解压下载的安装包。

tar -jxvf extundelete-0.2.4.tar.bz2

切换到解压之后的extundelete安装目录。

cd extundelete-0.2.4

安装extundelete。

./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服务器里面存储进行反挂载(VPS需要全部关机),以便于恢复文件,查看存储的挂载目录,可以使用df -hal查看的。

umount /var/run/sr-mount/1a5dfcb1-2d79-539e-b793-21b60b51c81a

(五)使用extundelete查看被删除的文件,被删除的文件是可以通过inode值去查看的,一般一个分区挂载到一个目录时,这个值为2,因此我们查看分区inodel值为2的部分。
格式为:extundelete  存储的路径 –inodel 2

extundelete /dev/mapper/XSLocalEXT--1a5dfcb1--2d79--539e--b793--21b60b51c81a-1a5dfcb1--2d79--539e--b793--21b60b51c81a --inode 2

发现一些带Deleted的就是删除的文件,这些文件名都是vdi的uuid,如果能够知道被删除的vps的vdi的uuid就可以直接恢复,如果不知道,那么只能一文件,一个文件去尝试了。

(六)切换到新硬盘挂载的目录,文件恢复的时候,会自动恢复到当前目录下面的RECOVERED_FILES目录里面,我们这里是指定文件恢复。
注意:一定要将文件恢复到新的硬盘里面,并且硬盘的大小不能小于恢复文件的大小。
格式为:extundelete –restore-file  文件名  存储的路径      –指定文件名恢复
格式为:extundelete –restore-all 存储的路径                     –恢复存储上面所有删除的文件
格式为:extundelete –restore-all –after “时间戳”  存储的路径  –恢复指定时间戳以后的文件

extundelete --restore-file  d84fa733-e189-45a0-b855-338b774162dd.vhd /dev/mapper/XSLocalEXT--1a5dfcb1--2d79--539e--b793--21b60b51c81a-1a5dfcb1--2d79--539e--b793--21b60b51c81a

出现Successfully 代表文件恢复成功了。

(七)将刚才反挂载的xenserver存储挂载回去。

mount /dev/mapper/XSLocalEXT--1a5dfcb1--2d79--539e--b793--21b60b51c81a-1a5dfcb1--2d79--539e--b793--21b60b51c81a  /var/run/sr-mount/1a5dfcb1-2d79-539e-b793-21b60b51c81a

(八)创建一台和需要恢复的vps一样系统的vps,然后查看新的创建vps的vdi,并且让恢复的vhd文件替换掉新建立的vps的vhd文件。
注意(重要):在恢复的vhd文件替换掉新建立vps的vhd文件之后,不能再次新建立vps和扫描存储,否则恢复的vhd文件会被删除。
 1.查询一下新建立的vps的vdi的uuid,可以看到uuid为:73172c37-4d25-4ae9-a6db-bc10ffed0652      

xe vdi-list name-label=1


               2.切换到存储的目录,会看到有一个和vdi的uuid一样的vhd文件,这个就是vps的硬盘文件,把他删除了或者重命名。

              3.将恢复的vhd文件,复制到存储的目录中,并且命名为新创建vps的vhd文件。                  

cp /huifu/RECOVERED_FILES/fdc3614b-ee44-479f-a56f-d1d4d8dbe20a.vhd /var/run/sr-mount/1a5dfcb1-2d79-539e-b793-21b60b51c81a/73172c37-4d25-4ae9-a6db-bc10ffed0652.vhd

(九)将新建立的vps开机,就可以看到新建立vps的里面硬盘文件就是需要恢复的vps的数据。这个时候,将里面的数据进行打包,然后进行导出等等备份操作就可以了。
注意:数据备份完毕之后,才可以进行创建vps,存储的扫描等操作,否则会直接删除VHD文件的。

赞(0)
未经允许不得转载:无忧解决网 » xenserver恢复vps数据(ext格式的存储数据恢复)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!