我目前在工作中跨环境移动数据方面遇到了很麻烦的情况。
这些数据是数据库转储、Solr 索引或简单图像。我们的流程是:“tarball 数据”+“rsync/scp 将数据复制到另一个环境/机器”+“解压数据”。
这些数据的大小从几 GB 到最大的约 1 TB 不等。
有些流程是“脚本化的”,其他流程仍然需要手动处理。
无论如何,主要问题是打包/解包和 rsync 数据的时间。
考虑到性能和“自动化”,是否有更好的策略来移动数据?
答案1
您可以使用以下命令挂载远程文件系统SSHFS例如。
sshfs user@remotehoste:<remotepath> <localpath>
然后,您可以将数据符号链接到您需要的位置或直接在那里访问它们。
ln -s <mountpont/file> <targetlocation>
但这取决于你到底想用这些数据做什么。
答案2
根据您要执行的操作,另一种可能性是在块级别复制数据 - 例如在 LVM 上使用 DRBD 或 MARS,并使用快照进行 PITR 和/或修改图像副本中的数据 - 请注意,LVM 快照会大大减慢被快照子系统上的 IO 速度。