别院牧志知识库 别院牧志知识库
首页
  • 基础

    • 全栈之路
    • 😎Awesome资源
  • 进阶

    • Python 工匠系列
    • 高阶知识点
  • 指南教程

    • Socket 编程
    • 异步编程
    • PEP 系列
  • 面试

    • Python 面试题
    • 2022 面试记录
    • 2021 面试记录
    • 2020 面试记录
    • 2019 面试记录
    • 数据库索引原理
  • 基金

    • 基金知识
    • 基金经理
  • 细读经典

    • 德隆-三个知道
    • 孔曼子-摊大饼理论
    • 配置者说-躺赢之路
    • 资水-建立自己的投资体系
    • 反脆弱
  • Git 参考手册
  • 提问的智慧
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
首页
  • 基础

    • 全栈之路
    • 😎Awesome资源
  • 进阶

    • Python 工匠系列
    • 高阶知识点
  • 指南教程

    • Socket 编程
    • 异步编程
    • PEP 系列
  • 面试

    • Python 面试题
    • 2022 面试记录
    • 2021 面试记录
    • 2020 面试记录
    • 2019 面试记录
    • 数据库索引原理
  • 基金

    • 基金知识
    • 基金经理
  • 细读经典

    • 德隆-三个知道
    • 孔曼子-摊大饼理论
    • 配置者说-躺赢之路
    • 资水-建立自己的投资体系
    • 反脆弱
  • Git 参考手册
  • 提问的智慧
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工作
  • 规范

  • Linux

  • 数据库

  • Git

  • 👨‍💻Web

  • 英语

  • Docker

  • 编辑器

  • 网络

  • 前端

  • 存储

    • 双活

      • 基于 DRBD 实现的双活方案文档阅读记录
      • AA-ALUA-AP
      • 基于 DRBD 实现的双活方案
    • OpenStack

    • DRBD

    • SCSI、FC、iSCSI 三大协议详解及比较
    • 各种同步工具之间的差异| DRBD vs SCP vs rsync vs mirror
      • DRBD
      • SCP
      • rsync
      • 参考链接
    • RAID 是什么?各类型之间的区别?
    • 磁盘模块
    • SAN 和 NAS 的对比
    • scstadmin 命令汇总
    • 双控接管理解
    • 待办事务
    • Storcli 常用管理命令汇总
    • 磁盘阵列控制卡(RAID 卡)MegaCli 常用管理命令汇总
  • 备忘录

  • 如何开始你的单元测试
  • 以程序员的视角看中国——西安篇
  • 💻工作
  • 存储
佚名
2020-08-07
目录

各种同步工具之间的差异| DRBD vs SCP vs rsync vs mirror

# DRBD

DRBD (opens new window) operates on block device level. This makes it useful for synchronizing systems that are under heavy load. Lsyncd on the other hand does not require you to change block devices and/or mount points, allows you to change uid/gid of the transferred files, separates the receiver through the one-way nature of rsync. DRBD is likely the better option if you are syncing databases.

GlusterFS (opens new window) and BindFS (opens new window) use a FUSE-Filesystem to interject kernel/userspace filesystem events.

Mirror (opens new window) is an asynchronous synchronisation tool that takes use of the inotify notifications much like Lsyncd. The main differences are: it is developed specifically for master-master use, thus running on a daemon on both systems, uses its own transportation layer instead of rsync and is Java instead of Lsyncd’s C core with Lua scripting.

DRBD 用于块级别设备之间的同步,这使得它对于在高负载下的系统(如数据库)同步非常有用。

# SCP

是用于在 Linux 下本地或通过网络进行远程纯线性拷贝文件的命令,和它类似的命令有 cp,不过 cp 只是在本机进行拷贝不能跨服务器,而且 scp 是加密传输的。可能会稍微影响一下速度。当你服务器硬盘变为只读(read only )系统时,用 scp 可以帮你把文件移出来。另外,scp 资源消耗非常小,不会提高多少系统负荷,在这一点上,rsync 就远远不及它了。虽然 rsync 比 scp 会快一点,但当小文件众多的情况下,rsync 会导致硬盘 I/O 非常高,而 scp 基本不影响系统正常使用。

# rsync

rsync 是一个本地或通过网络数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件。rsync 使用所谓的“rsync 算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。

我们通过下面的实例来分析:

rsync A host:B
1
  • rsync将检查文件大小和修改时间戳的 A和 B,如果它们匹配,则跳过任何进一步的处理。
  • 如果目标文件B已存在,增量传输算法将确保仅通过网络发送A和B之间的差异。
  • rsync会将数据写入临时文件T,然后将目标文件B替换为T,以使更新对于可能正在使用B的进程而言显得“原子”(atomic)。
  • rsync在缓慢且不可靠的连接上运行可能很有用。 因此,如果您的下载在大文件中间中止,则rsync将能够断点续传。

它们之间的另一个区别涉及调用。 rsync具有许多命令行选项,允许用户微调其行为。 它支持复杂的过滤规则,可在批处理模式,守护程序等模式下运行。scp 只有几个开关。

总之,将scp用于日常任务。 您偶尔在交互式shell上键入的命令。 它使用起来更简单,在这种情况下,rsync优化不会有太大帮助。

对于诸如cron作业之类的重复任务,请使用rsync。 如前所述,在多次调用中,它将利用已传输的数据,执行速度非常快并节省资源。 这是使两个目录通过网络保持同步的出色工具。

另外,在处理大文件时,请将rsync与-P选项一起使用。 如果传输中断,则可以通过重新发出命令在停止的位置继续传输。参见此处 (opens new window)。

关于安全问题,可以使用rsync --rsh=ssh使其加密传输。

# 参考链接

rsync 的核心算法 | | 酷 壳 - CoolShell (opens new window)

Lsyncd - Live Syncing (Mirror) Daemon (opens new window)

How does scp differ from rsync? - StackOverflow (opens new window)

scp 命令,Linux scp 命令详解:加密的方式在本地主机和远程主机之间复制文件 - Linux 命令搜索引擎 (opens new window)

rsync 命令,Linux rsync 命令详解:远程数据同步工具 - Linux 命令搜索引擎 (opens new window)

编辑 (opens new window)
#存储#工具#Linux#SCP#面试
上次更新: 2024-07-15, 08:03:22
SCSI、FC、iSCSI 三大协议详解及比较
RAID 是什么?各类型之间的区别?

← SCSI、FC、iSCSI 三大协议详解及比较 RAID 是什么?各类型之间的区别?→

最近更新
01
提升沟通亲和力的实用策略
03-26
02
工作
07-15
03
如何选房子
06-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 IMOYAO | 别院牧志
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式