gal*_*alq 14 rsync sshfs synchronization
如果我使用远程主机 (ssh://) 作为源/目标运行 rsync 或使用本地路径通过 sshfs 共享挂载目录有什么区别吗?
在不使用任何开关的情况下,安全性或复制速度是否存在差异,只需使用 rsync 存档模式和远程主机路径 (ssh)。与 sshfs 相同,仅使用源和目标挂载(没有密码更改,只是默认值)。
Gil*_*il' 20
SSHFS 很方便,但它与 rsync 或更普遍的同步工具不能很好地配合。
最大的问题是 SSHFS 在很大程度上扼杀了 rsync 的性能优化。特别是对于大中型文件,当 rsync 发现文件已被修改时,它会计算文件每一侧部分的校验和,以便仅传输已修改的部分。仅当网络带宽明显小于磁盘带宽时,这是一种优化,通常是这种情况。但是对于 SSHFS,“磁盘”带宽实际上是网络带宽,因此 rsync 必须读取整个文件才能确定要复制的内容。事实上,使用本地副本(就 rsync 而言,即使其中一侧在 SSHFS 上),rsync 也只是复制整个文件。
如果有很多小文件,SSHFS 也会对性能不利。Rsync 至少需要检查每个文件的元数据,以确定它是否被修改。使用 SSHFS,这需要每个文件的网络往返。使用rsync over SSH,双方可以并行工作,批量传输信息,速度快了很多。
在访问限制方面,SSHFS 需要 SFTP 访问,而 rsync 需要能够通过 shell 运行代码(特别是 rsync 程序)。如果用户没有 shell 帐户,则可以为帐户提供一个特殊的 shell,只允许运行一些程序,包括sftp-server和rsync。请参阅您是否需要 SCP 的外壳?
如果您只是复制新文件并且文件数量不是很多,则没有有意义的性能差异。
SSHFS 在文件系统挂载时建立 SSH 连接,并保留该连接直到卸载。每次运行 Rsync 时都会建立一个新连接,但您可以使用多路复用功能并搭载在单个主连接上以避免每次都进行身份验证。
SSHFS 是一个 FUSE 文件系统,因此只支持传统的 Unix 元数据和 ACL。Rsync 可以传输扩展属性(您需要使用rsync -aAX,请注意,plain-a仅保留传统的 Unix 元数据)。
回答您的主要问题:是的,存在差异。由于sshfs存在允许通过安全通道访问远程文件的现有连接以及通过 ssh 的 rsync,该安全通道被设置为与远程 rsync 实例对话。
回答您的第二个问题:对于大多数(如果不是所有)实例,通过 ssh 的 rsync 会更快,因为远程系统上的 rsync 在查找不需要同步的文件方面提供了更多智能,但主要是因为它与您的文件并行运行本地 rsync 来收集该信息。
两种方式的安全性是,假设ssh参数(key-length,算法)的相似配置相同。源系统和目标系统的默认设置取决于这些系统上的分发组合。
| 归档时间: |
|
| 查看次数: |
8247 次 |
| 最近记录: |