是否有一个命令,例如 rsync,可以将巨大的、稀疏的文件从一个 linux 服务器同步到另一个?
目标文件保持稀疏非常重要。它可能比包含它的驱动器更长(但不会更大)。只应通过线路发送更改的块。
我试过 rsync,但没有任何乐趣。https://groups.google.com/forum/#!topic/mailing.unix.rsync/lPOScZgFE9M
如果我编写一个程序来做到这一点,我只是在重新发明轮子吗? http://www.finalcog.com/synchronise-block-devices
谢谢,
克里斯。
我正在尝试按照此过程使用 KVM 进行实时快照。
我一定是在某个时候搞砸了,因为我处于一种我不明白的状态。
我的 VM 被称为prod. 它是在文件中创建的/srv/vm/prod.qcow2。
显然,没有正在运行的快照:我正在处理基本文件。我可以猜测是因为文件的修改日期/srv/vm/prod.qcow2每分钟左右更改一次。此外,此命令确认:
# virsh domblklist prod
Target Source
------------------------------------------------
vda /srv/vm/prod.qcow2
Run Code Online (Sandbox Code Playgroud)
并且没有什么可以阻止提交:
# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file
Run Code Online (Sandbox Code Playgroud)
但是,libvirt 会跟踪旧快照:
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
snap 2015-06-09 12:11:33 +0200 disk-snapshot
Run Code Online (Sandbox Code Playgroud)
它的描述符文件是/var/lib/libvirt/qemu/snapshot/prod/snap.xml:
<domainsnapshot>
<name>snap</name>
<state>disk-snapshot</state>
<creationTime>1433844693</creationTime>
<memory snapshot='no'/>
<disks>
<disk name='vda' snapshot='external' type='file'>
<driver type='qcow2'/>
<source …Run Code Online (Sandbox Code Playgroud)