![为网络位置创建设备映像](https://linux22.com/image/24782/%E4%B8%BA%E7%BD%91%E7%BB%9C%E4%BD%8D%E7%BD%AE%E5%88%9B%E5%BB%BA%E8%AE%BE%E5%A4%87%E6%98%A0%E5%83%8F.png)
我有一个专用的 Ubuntu 服务器和 hetzner.de。 hetzner 还提供了一个单独的备份空间,可通过samba/ftp/sftp/scp
.
在他们有关备份的支持文档中,提到了以下行。
“直接使用 rsync 是不可能的。但是,可以使用 smbfs、sshfs 或 ftpfs 本地挂载备份空间,从而允许有限地使用 rsync。要充分利用 rsync(例如使用硬链接的增量备份),映像文件必须被创建,应该通过环回安装。”
我想将 rsync 与使用硬链接的增量备份一起使用。我认为环回的意思是http://en.wikipedia.org/wiki/Loop_device。任何人都可以帮助我如何从网络位置创建图像吗?
答案1
使用您正在使用的协议安装您的网络位置:
# smbfs example: mount -o username=your_hetzner_username //server.or.ip.addr/sharename /mnt/server-mountpoint
在该共享上的文件内创建 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
将新创建的映像挂载为环回设备。
mount -o loop /mnt/server-mountpoint/backup-fs.image /mnt/backup-mountpoint/
使用完毕后,您可以umount /mnt/backup-mountpoint
和umount /mnt/server-mountpoint
,然后要稍后更新备份,请重复步骤 1 和 3。
您链接的维基百科页面是正确的主题,但实际的环回设备过程比看起来更简单。处理服务器安装更为复杂,可能需要一些实验。该网站上还有许多其他问题可用于处理上述每个步骤,以防您遇到困难。
答案2
这应该是对 mrb 答案的评论。但我不允许添加评论,因此将其添加为另一个答案。
我们可以使用以下dd
命令来创建 100GB 的映像以节省一些时间。
dd if=/dev/zero of=/mnt/hetzner_backup/backup-fs.image bs=1024 count=0 seek=$[1024*1024*100]
这在不到一秒的时间内完成,而 mrb 的答案则需要很长时间。此外,vinos 似乎还存在dd
命令未完成的问题。
参考:http://www.cyberciti.biz/faq/howto-create-lage-files-with-dd-command/
还值得注意的是,当使用 格式化这些图像时mke2fs
,我们应该对它提出的是否要继续格式化的问题回答“是”非块特殊设备。