CentOS 6.5を実行している2台のDell R515サーバーがあり、それぞれのBroadcom NICの1つが他に直接接続されています。 ssh経由でrsyncを使用して、ペアのメインサーバーからセカンダリに毎晩バックアップをプッシュする直接リンクを使用します。トラフィックを監視すると、スループットが約2MBpsであることがわかります。これは、ギガビットポートで期待するよりもはるかに低い値です。両側でMTUを9000に設定しましたが、何も変更されていないようです。
利用可能な最大スループットに到達するための推奨される設定と最適化のセットはありますか?さらに、ssh(またはNFSのみ)を介してrsyncを使用して数百万のファイル(約6 TBの小さなファイル-巨大なZimbraメールストア)をコピーしているので、私が探している最適化は、特定のユースケースに対してより具体的にする必要があるかもしれません。
それが重要な場合、私は両側でext4を使用しています
ありがとう
編集:私は次のrsync
オプションを使用して、非常によく似た結果が得られました。
rsync -rtvu --delete source_folder/ destination_folder/
rsync -avHK --delete --backup --backup-dir=$BACKUPDIR source_folder/ destination_folder/
現在、同じダイレクトケーブルリンクを介して、NFSエクスポートにcp
を使用すると、同じレベルのパフォーマンスの低下が見られます。
EDIT2:同期が終了した後、iperf
を実行すると、パフォーマンスは約990Mビット/秒であることがわかりました。速度が遅いのは、実際に使用されているデータセットが原因でした。
ファイル数とSSH暗号化オーバーヘッドが最大の障壁である可能性があります。このような転送では、ワイヤースピードは表示されません。
改善するオプションは次のとおりです。
-e "ssh -c arcfour"
など)でrsync + SSHを使用するdd
、 ZFSスナップショットの送受信 など.tar
、netcat(nc
)、 mbuffer またはいくつかの組み合わせを使用します。tuned-adm
設定 。rsync
コマンドのチューニング。 -W
、ファイル全体のオプションはここで意味がありますか?圧縮は有効ですか?おそらくご存じのように、多くの小さなファイル(MailDir形式などを使用するメールボックス)をコピーすることは、高帯域幅インターフェイスを利用するための最良のオプションではありません。 SSHはおそらく、そのための最良のトランスポートプロトコルでもありません。セカンダリホストに送信する前に、tarを使用してソースホストにtarballを作成してみます。
tar c /var/mail | ssh root@secondary-Host 'tar x -C /var/backups'
増分バックアップが必要な場合は、-g
tarのオプション。それでもthrouputを最大化する必要がある場合は、sshの代わりにnetcatを使用してみてください。
要因をばらばらにしてみてください。
独立してテストします。
Broadcomドライバーでいくつかの悪い経験をしたので、最初の提案は、使用可能なネットワーク帯域幅をdd if=/dev/zero bs=1m count=10k | rsh backup_Host cat \> /dev/null
でテストすることです。