全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworksBGVM服务器主机交流
IP归属甄别会员请立即修改密码Sharktech防护
查看: 2747|回复: 7

[经验] 从搬瓦工 快照中提取相关文件

[复制链接]
发表于 2017-9-25 16:15:36 | 显示全部楼层 |阅读模式
之前有台搬瓦工的机器 莫名奇妙的系统就崩了,怎么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系统估计也差不多

发表于 2017-9-25 16:31:32 | 显示全部楼层
支持分享经验!
 楼主| 发表于 2017-9-25 17:03:59 | 显示全部楼层
adu 发表于 2017-9-25 16:41
看好这个程序
群里多收点模板吧

上次有个贴子 好像是你发的吧
发表于 2017-9-25 17:19:41 | 显示全部楼层
支持这类帖子。
发表于 2017-9-25 17:20:33 | 显示全部楼层
icms的大佬居然也在这里
 楼主| 发表于 2017-9-25 17:24:02 | 显示全部楼层

非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|全球主机交流论坛

GMT+8, 2020-10-1 00:44 , Processed in 0.061892 second(s), 10 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表