我喜欢在第一次备份系统时创建图像备份。之后,我第一次使用rsync进行增量备份。
我通常的图像备份如下:
安装并清除空空间:
dd if=/dev/zero of=temp.dd bs=1M
rm temp.dd
在压缩驱动器的同时进行压缩
dd if=/dev/hda conv=sync,noerror bs=64K | gzip -c > /mnt/sda1/hda.ddimg.gz
为了使系统恢复正常,我通常会做一个
gunzip -c /mnt/sda1/hda.img.gz | dd of=/dev/hda conv=sync,noerror bs=64K
这是非常简单的,并允许我保存‘整个驱动器’,但实际上只是节省了使用的空间。
这就是问题所在。假设我做了上面的工作,但不是在一个干净的系统上,并且没有足够快地进行rsync备份,并且有一些文件是我想要访问的。假设我没有实际解压缩映像到驱动器的存储空间,但我希望挂载映像以获取单独的文件.这个是可能的吗?
通常,不压缩dd映像,这将允许您只使用-o loop挂载映像.但这不是我的案子..。
有任何建议,以安装压缩img在飞行?
会使用AVFS‘挂载’gz文件然后挂载内部dd.img工作(我不这么认为.但需要核实)?
发布于 2014-05-28 08:29:53
root@srv1:/backup# archivemount windows-2003-S.gz /target/
Unrecognized archive format
root@srv1:/backup# archivemount -o formatraw windows-2003-S.gz /target/
Calculating uncompressed file size. Please wait.
root@srv1:/backup# ls /target/
data
root@srv1:/backup# file /target/data
/target/data: DOS/MBR boot sector; partition 1 : ID=0x7, start-CHS (0x0,1,1), end-CHS (0x3ff,254,63), startsector 63, 58717512 sectors, extended partition table (last)archivemount是一个面向Unix变体(包括Linux )的基于熔断器的文件系统。其目的是挂载档案(如tar、tar.gz等)到一个挂载点,在那里它可以像任何其他文件系统一样被读取或写入。这使得访问存档的内容(可能是压缩的)对其他程序是透明的,而无需解压缩它们。
http://linuxaria.com/howto/how-to-mounts-an-archive-for-access-as-a-file-system
挂载存档后,您可以像普通文件一样使用它的内容。可以使用qemu工具获取分区表或转换挂载映像。
squashfs用于从映像引导,但对于备份非常复杂。
发布于 2012-02-14 22:39:02
不怎么有意思。如果不首先解压整个文件,就不能真正地寻找压缩文件中的特定块,这使得将压缩图像用作块设备很困难。
您可以使用类似dump和restore (或tar,实际上)的东西,所有这些都使用流format...so,您可以通过对未压缩的流进行有效扫描来访问个人文件。这意味着如果您想要的文件位于压缩存档的末尾,您可能有很长的时间等待,但它并不要求您将所有内容实际解压缩到磁盘上。
使用tar进行备份似乎有点过时,但您可以获得大量的可伸缩性。
发布于 2017-11-20 17:26:40
克里斯蒂安·丘比特( Cristian Ciupitu的答复)的另一份增编:
如果使用nbdkit挂载完整的磁盘映像(相对于分区映像),则在连接到NBD服务器时可能需要指定块大小(磁盘扇区大小),因为它默认为1024字节。要使用512字节,请改为:
nbd-client 127.0.0.1 /dev/nbd0 -b 512 -n之后,磁盘将以/dev/nbd0的形式出现,您应该能够使用fdisk -l查看分区表。但是,分区还不能挂载--使用kpartx (来自65536‘S回答)为分区创建设备,例如:
kpartx -arv /dev/nbd0最后,分区将出现在/dev/mapper/中,您可以像往常一样挂载它们。确保使用只读模式(-o ro),因为xz插件只支持读取:
mount -o ro /dev/mapper/nbd0p3 /mnthttps://unix.stackexchange.com/questions/31669
复制相似问题