我们希望使用 rsync 将约 800GB 的数据从源服务器复制到目标服务器。我想知道在不关闭源服务器应用程序的情况下使用 rsync 是否安全? rsync 在将数据复制/同步回目标服务器时能否处理源上的实时数据流入?
答案1
对于备份和实时同步,我使用glusterfs
.是一个非常友好且强大的同步和备份包。
查看更多关于glusterfs
在这里。
答案2
Rsync 通过忽略它来“处理”它。这算吗?并非如此... rsync 复制该文件部分后所做的任何更改都会丢失并且不会被复制。这可能意味着同一文件的不同部分包含来自不同时间点的数据。
正如您所怀疑的,这可能是一个问题。
我经常在 Linux 上使用的解决方法(看到你的标签)是创建一个 LVM 快照,以只读方式挂载,然后复制快照数据。 LVM 快照保证在快照的生命周期内保持不变,但其大小必须能够容纳足够的已更改数据(写入)。当 LVM 快照填满时,它将变得不可用。
例如:
# lvcreate --snapshot /dev/vgName/lvName --size 1G --name snapNameDate
# mkdir /snaps
# mkdir /snaps/lvName/Mount/Point
# mount -o ro /dev/vgName/snapNameDate /snaps/lvName/Mount/Point
# cd /snaps/lvName/Mount/Point
# rsync --archive --verbose --progress . user@destination:/destination/Point/.
# cd /
# umount /snaps/lvName/Mount/Point
# lvremove /dev/vgName/snapNameDate