前言
由于之前做服务器迁移,所以把云主机上的数据和镜像都做了备份
数据备份不用说,主要是镜像备份
在镜像做成镜像以后,如果有下载的需要,会让你传到他们的OSS中,然后下载会得到一份压缩之后的RAW包。
解压raw包以后,会发现这个包什么也做不了。这时他会让你去找qemu工具进行转换,然后成为对应的虚拟机里才可以使用的工具。
原文参考
镜像导出:
https://help.aliyun.com/document_detail/58181.html
镜像转换:
https://help.aliyun.com/document_detail/57187.html?spm=5176.2020520101image.0.0.bb874df5EfjyWq
由于作者我当时迁移的时候,忽略了一部分文件,所以一直想把丢失的数据还原,怀疑官方并没有用过这种方式,对提供的文档还有百度了很多资料,去进行尝试了很多次,不论是对源文件进行转换,还是直接使用源文件,都没办法以源操作系统进行启动,而且启动的时候,还依赖虚拟机。
本身镜像都已经很大了,100G左右。途中使用VMware16版本每个磁盘结构、类型进行了遍历,在这种情况下,能启动进入系统的成功率实在是低的可怜。所以在此提供一个不需要进行镜像转换并可以提取备份数据的方式给大家,希望大家遇到此问题的时候可以少走弯路。
1.下载OSS中备份好的镜像文件
2.将raw文件进行解压
# 解压镜像
tar vxf xxxx.raw.tar.gz
# 检查虚拟磁盘镜像是否正确
fdisk -l xxx.raw
3.挂载raw格式镜像方法
本案例以ubuntu系统为例,因为本身镜像就是ubuntu的
lvs
losetup -a
losetup /dev/loop0 xxxx.raw # 加载无分区的文件系统
kpartx -av /dev/loop0 # 挂载有分区的虚拟文件系统
lvs
vgchange -ay ubuntu # 设置卷为活动状态(可忽略)
mount /dev/mapper/centos-root /srv/ # 挂载到宿主机文件系统
# 现在进去这个目录就是要操作的磁盘了
cd /srv/
4.卸载raw格式镜像
umount /srv/
lvs
lvchange -an debian/root(可忽略)
lvchange -an debian/swap_1(可忽略)
vgchange -an ubuntu (可忽略)
kpartx -dv /dev/loop0
losetup -d /dev/loop0
losetup -a
fdisk -l xxxx.raw
本文来自签署作者原创,站点有权对文章执行产权保护,转载请与作者沟通,并注明出处:http://61.174.243.28:13541/AY-knowledg-hub/%e9%98%bf%e9%87%8c%e4%ba%91raw%e9%95%9c%e5%83%8f%e6%96%87%e4%bb%b6%e5%a6%82%e4%bd%95%e7%9b%b4%e6%8e%a5%e6%89%93%e5%bc%80/