使用rsync hardlink选项将文件备份到具有多个版本的远程服务器

要使用rsync硬链接选项远程备份文件,以便远程备份服务器可以保留多个备份版本,link-dest目录和目标目录必须位于同一个远程磁盘上。 但'rsync –link-dest'选项只需要一个本地path。 要从要备份目录的服务器运行脚本,必须首先通过SSH连接到备份服务器,然后从备份服务器运行rsync命令,如下所示:

ssh [email protected] 'rsync -a --delete --rsh "ssh -l root -i /root/.ssh/key2" --link- dest=backupDict.1 19.2.2.1:/mnt/mountDict backupDict' 

使用硬链接备份文件的方法不太复杂吗?

另外,在备份处理期间,当快照vm并将快照lv作为原始目录挂载时,我还收到了错误日志和pipe理程序冻结。 如果不使用rsync硬连接方法,快照并挂载虚拟机。 有没有办法解决它?

 Mar 10 02:36:59 kvm kernel: BUG: Bad page map in process udevd pte:800000081ad43645 pmd:409f37067 Mar 10 02:36:59 kvm kernel: addr:00006aff4f837000 vm_flags:00100173 anon_vma:ffff88081f7dc448 mapping:(null) index:7fffffff1 Mar 10 02:37:02 kvm kernel: Pid: 5091, comm: udevd Not tainted 2.6.32- 358.18.1.el6.x86_64 #1 Mar 10 02:37:03 kvm kernel: Call Trace: Mar 10 02:37:03 kvm kernel: [<ffffffff8113ef18>] ? print_bad_pte+0x1d8/0x290 Mar 10 02:37:03 kvm kernel: [<ffffffff8111b970>] ? generic_file_aio_read+0x380/0x700 Mar 10 02:37:03 kvm kernel: [<ffffffff8113f03b>] ? vm_normal_page+0x6b/0x70 Mar 10 02:37:03 kvm kernel: [<ffffffff8114179f>] ? unmap_vmas+0x61f/0xc30 Mar 10 02:37:03 kvm kernel: [<ffffffff811476d7>] ? exit_mmap+0x87/0x170 Mar 10 02:37:03 kvm kernel: [<ffffffff8106b50c>] ? mmput+0x6c/0x120 Mar 10 02:37:03 kvm kernel: [<ffffffff811889a4>] ? flush_old_exec+0x484/0x690 Mar 10 02:37:03 kvm kernel: [<ffffffff811d9700>] ? load_elf_binary+0x350/0x1ab0 Mar 10 02:37:03 kvm kernel: [<ffffffff8113f3ff>] ? follow_page+0x31f/0x470 Mar 10 02:37:03 kvm kernel: [<ffffffff811446e0>] ? __get_user_pages+0x110/0x430 Mar 10 02:37:03 kvm kernel: [<ffffffff811d7abe>] ? load_misc_binary+0x9e/0x3f0 Mar 10 02:37:03 kvm kernel: [<ffffffff81144a99>] ? get_user_pages+0x49/0x50 Mar 10 02:37:03 kvm kernel: [<ffffffff81189fa7>] ? search_binary_handler+0x137/0x370 Mar 10 02:37:03 kvm kernel: [<ffffffff8118a4f7>] ? do_execve+0x217/0x2c0 Mar 10 02:37:03 kvm kernel: [<ffffffff810095ea>] ? sys_execve+0x4a/0x80 Mar 10 02:37:03 kvm kernel: [<ffffffff8100b4ca>] ? stub_execve+0x6a/0xc0 Mar 10 02:37:03 kvm kernel: Disabling lock debugging due to kernel taint 

哇,哇。

链接dest只能采取本地path(如传统文件系统上的硬链接一样),因为它们实际上必须指向完全相同的inode 。 每次访问这个inode时,都会增加它的开放计数(防止它被清除),当你通过一些ssh进程堆栈并抛出一个非常不耐烦的快照时, ,我希望事情能够打破。

我有几个问题: – 为什么你要安装快照LV代替原始磁盘? 空间? 你可能会捕捉到SSH隧道,但它可能会更快,然后rsync。 – 为什么在源头上给你带来麻烦时,好奇地依赖硬链接?

我做了一些与一些虚拟机不完全不同的东西,但是它有几个nasfsfree(即ZFS盒子),它们是VM主机的iScsi目标。 ZFS快照是即时的,像我有空间一样持久,对我来说很熟悉。 我避免了ZFS的复制,比如远程连接的瘟疫,我宁愿远程pipe理远程连接,rsync远程pipe理单个文件,然后在另一端进行快照,这对繁忙的虚拟机(例如Exchange服务器)并且有一点点的一致性,但也有其他的方法。 无论如何,我的大部分客户都有一天的15分钟的当地快照,第二天,我办公室的nas有时候会更快。 我可以在现场出现一台新的机器,或者远程启动他们的虚拟机,他们不知道其中的差别。 我知道扔硬件不是一个理想的答案,但你真的不会有任何你现在所做的痛苦(这听起来像你真的冒险两端和保护都没有)。 我肯定会把iScsi NAS,HDFS,也许DRBD,openstack-y虚拟机复制到三台机器上。 (我不知道你有多大),如果我在你的鞋子。

但也试图把工作分成更小的部分。

哦,永远不要低估一个满载磁带的旅行车的带宽。