我正在使用 DD over Netcat 将硬盘从一个系统复制到另一个直接克隆。
我在每个系统上都启动了 RIP。
目标系统:nc -l -p 9000 |pv|dd of=/dev/hda 源系统:dd if=/dev/hda |pv|nc 9000 -q 10
传输似乎徘徊在 10 或 11 MB/s 左右,有 18 个附近的突发记录。这两个系统连接到一个千兆交换机。两者上的 Ethtool eth0 都显示:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: umbg
Wake-on: g
Current message level: 0x00000007 (7)
Link detected: yes
我想我可能会混淆传输速率的一些数字,但这是传输数据的预期速度吗?
编辑:我刚刚尝试使用标记为 5e 兼容的两种不同电缆,并使用交叉连接器直接连接两个系统。虽然 ethtool 仍然表示它们的速度设置为 1000Mb/s,但传输速率似乎只比以前略高。我猜是驱动器很糟糕,网卡很粗糙,或者处理器一定是瓶颈。
EDIT2 我刚刚尝试从需要克隆的单元中取出第二个硬盘并将其物理连接到主克隆。最初一个 IDE 通道用于 HD,另一个用于 CD-ROM。我拿了master的硬盘,把它和CD-ROM连接到同一个频道,所以应该是/dev/hda和/dev/hdb。我拿起 CD 上的电缆并将其连接到“空白板”,所以它应该是 /dev/hdc。
我重新启动并运行“dd if=/dev/hda|pv|dd of=/dev/hdc”,我得到了惊人的...10 MB/s。它在 8 MB/s 和飙升至 12 之间剧烈波动。
所以...我认为是硬盘提供了垃圾性能...我只是习惯于网络成为瓶颈,以至于我认为磁盘是问题所在很奇怪!
dd if=/dev/zero of=/dev/hda
目的地和 源上dd if=/dev/hda of=/dev/null
的内容是两者中较低的一个,这将为您提供最佳情况。如果您有备用 CPU,请考虑 gzip -fast
值得考虑设置巨型数据包(大 mtu )
我希望更多像 20 MB/s,您使用的是 cat 6 / 5e 布线吗?
我还会运行 iostat(sysstat 包的一部分),也许看看 iostat 是否认为驱动器的利用率为 100%:
这是 Tom's Hardware 关于千兆网络的一篇不错的文章:千兆以太网:伙计,我的带宽在哪里?
通过压缩/解压缩传输数据流,以牺牲一些 CPU 为代价提高整体吞吐量。
我得到 12MB/秒,但以前得到的速度要少得多——我的特殊问题是驱动器。我正在使用带有可怕 RAID 卡的讨厌的廉价戴尔“存储服务器”。废弃 RAID,用 JBOD 配置替换会产生很大的不同,即使我随后将软件 RAID5 放在首位。
我还考虑在交换机上设置巨型帧,这将大大提高您的吞吐量。(
ifconfig eth0 mtu 9000
暂时,或添加MTU 9000
到您的 ifcfg 文件以在您的 linux 接口上设置 jumbo)。大部分的缓慢来自高清瓶颈。您的平均 HD 将在完全空闲的磁盘/系统/网络上通过网络推送 40-50mb。将 dd 的开销添加到一个简单的 tcp netcat 管道中,该管道绝不针对网络流量进行优化,并且速度开始下降。
大部分减速来自 TCP 窗口大小。数据包经过,必须等待回复才能发送下一个。通常内部网络具有如此低的延迟,以至于没有人注意到这些。当您以非网络优化的方式进行转储时,Windows 开始到处乱跑。一个很好的例子是在 SP1 之前的版本中的 Vistas 网络文件复制,当 TCP 窗口调整出错时,它的传输速度低于每秒 100kb。
另外作为参考,我在这里有两个盒子,而不是通过他们的网络以每秒 60-80 兆的速度持续推送到其他盒子。他们确实有专用的 NIC、RAID 10 和一堆 10000RPM SAS 驱动器来提供这种速度。