![是否可以同步从源到目的地的实时日期?](https://linux22.com/image/82757/%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%90%8C%E6%AD%A5%E4%BB%8E%E6%BA%90%E5%88%B0%E7%9B%AE%E7%9A%84%E5%9C%B0%E7%9A%84%E5%AE%9E%E6%97%B6%E6%97%A5%E6%9C%9F%EF%BC%9F.png)
我们希望使用 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