从搬瓦工快照中提取相关文件

之前有台搬瓦工的机器 莫名奇妙的系统就崩了,怎么google 都找不到解决办法 所以只能重装系统了
重装系统前先用快照功能备份备份整个VPS
备份完就开始重装,重装系统很快就完成了
然后用快照恢复

那么问题就来,发现快照是备份整个VPS的,连系统也备份了.
现在用这个快照恢复后相当把VPS重置到重装前 还是一样是崩溃的系统啊
还是一样重启不起来.

这样的话只能重装系统后 从快照里提取想要的文件了

经研究发现 快照文件 snapshot-****.tar.gz
解压后是一个 vm-***.disk 的文件
经检查发现 vm-***.disk 是一个raw格式镜像 这样就可以能过 kpartx方式挂载
以后下重装系统后的操作
使用wget 下载的快照文件
wget http://*****/snapshot-123456-******.tar.gz

tar -zxvf snapshot-123456-******.tar.gz

1、losetup -f   #查看哪个loop设备是空闲的
/dev/loop0      #loop0这个设备是空闲的

losetup /dev/loop0 vm-123456.disk

kpartx -av /dev/loop0

#如果没有kpartx命令可以先安装
安装 kpartx
aptitude install kpartx
在次执行
kpartx -av /dev/loop0
#输出结果如下
add map loop0p1 *****
add map loop0p2 *****
add map loop0p5 **********

然后查看你想要的在哪个分区
比如我的数据在loop0p2

#把loop0p2 挂载到 /mnt
mount /dev/mapper/loop0p2 /mnt

就可在/mnt里找到相关数据了

数据复制完成后记得卸载镜像
2、卸载镜像
umount /mnt
kpartx -dv /dev/loop0
losetup -d /dev/loop0

以上操作在 Debian 8 x86_64   其它linux系统估计也差不多

原文: https://www.hostloc.com/thread-392553-1-1.html

留下评论