为网络位置创建设备映像

vin*_*nos 5 remote rsync sshfs loop-device

我有一个带有 hetzner.de 的专用 Ubuntu 服务器。hetzner 还提供了一个单独的备份空间,可通过samba/ftp/sftp/scp.

在他们关于备份的支持文档中,提到了以下行。

“直接使用 rsync 是不可能的。但是可以使用 smbfs、sshfs 或 ftpfs 在本地安装备份空间,从而允许有限地使用 rsync。要充分利用 rsync(例如使用硬链接的增量备份),图像文件必须创建,应通过环回挂载。”

我想将 rsync 与使用硬链接的增量备份一起使用。我认为环回是指http://en.wikipedia.org/wiki/Loop_device。任何人都可以帮助我如何从网络位置创建图像?

mrb*_*mrb 5

  1. 使用您使用的任何协议安装您的网络位置:

    # smbfs example:
    mount -o username=your_hetzner_username //server.or.ip.addr/sharename /mnt/server-mountpoint
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在该共享的文件中创建一个 ext2fs 映像(或其他文件系统,如果您愿意)。仅第一次执行此操作,因为它会擦除 中的数据backup-fs.image

    # create a 1000 MB file for the backup disk image (you will need to choose a size that works for you)
    dd if=/dev/zero of=/mnt/server-mountpoint/backup-fs.image bs=1048076 count=1000 
    
    # create an ext2 filesystem inside the image
    mke2fs /mnt/server-mountpoint/backup-fs.image
    
    Run Code Online (Sandbox Code Playgroud)
  3. 挂载新创建的镜像作为环回设备。

    mount -o loop /mnt/server-mountpoint/backup-fs.image /mnt/backup-mountpoint/
    
    Run Code Online (Sandbox Code Playgroud)

使用完毕后,您可以umount /mnt/backup-mountpointumount /mnt/server-mountpoint,然后要稍后更新备份,请重复步骤 1 和 3。

您链接的维基百科页面是正确的主题,但实际的环回设备过程比它们看起来更简单。处理服务器挂载比较复杂,可能需要进行一些实验。本网站上还有许多其他问题可用于处理上述每个步骤,以防您遇到困难。


Anj*_*jan 5

这应该是对 mrb 回答的评论。但是我不允许添加评论,因此将其添加为另一个答案。

我们可以使用以下dd命令来创建 100GB 图像以节省一些时间。

dd if=/dev/zero of=/mnt/hetzner_backup/backup-fs.image bs=1024 count=0 seek=$[1024*1024*100]
Run Code Online (Sandbox Code Playgroud)

这在几分之一秒内完成,而 mrb 的答案中的那个需要永远。此外,vinos 似乎在dd命令未完成方面存在问题。

参考:http : //www.cyberciti.biz/faq/howto-create-lage-files-with-dd-command/

可能还值得注意的是,当使用 格式化这些图像时mke2fs,我们应该对它询问我们是否要继续格式化非块特殊设备的问题回答是。