SMB マウントされた NAS ドライブにファイルをコピーする際のネットワーク速度の調整

SMB マウントされた NAS ドライブにファイルをコピーする際のネットワーク速度の調整

私は、小さなウェブサーバーとして実行している、かなり控えめな Ubuntu ボックス (Jaunty) を持っています。毎晩、重要なディレクトリを tar/gzip し、単純な cp を実行して、ローカルで SMB マウントされているバックアップ NAS ドライブ (実質的には「オフサイト」バックアップ) にコピーする cron ジョブを実行しています。

ボックスへのネットワーク接続は 802.11G (54Mbps) なので、当然かなり遅いのですが、問題は、ファイルがコピーされているときに、Web サーバーとルーター間のワイヤレス帯域幅がコピー手順によって完全に飽和し、Web 要求が拒否されるか、応答が非常に遅くなることです。

スタンドアロン モードで Trickle を使用してコピー手順を調整しようとしましたが、違いは見られませんでした。

誰か提案やアドバイスはありますか? サーバー上で何らかの形の QoS を実行する必要があると思いますが、実際には NFI があります。簡単で即効性のある解決策を期待していました ;)

ありがとう、クセルクセス

答え1

そこにはwputよく知られているユーティリティとは逆の働きをするwget
制御された速度でファイルをアップロードするために使用できます。

−−limit−rate=レート

Wput が利用可能な帯域幅をすべて消費しないようにするには、このフラグを指定します。RATE は数値です。単位は「K」(KiB の場合) と「M」(MiB の場合) が認識されます。アップロード レートは平均で制限されます。つまり、レートを 10K に制限し、Wput が最初の数秒間に 5K で送信できた場合、平均レートの 10K が満たされるまで、その後は (可能であれば) 10K 以上を送信します。


について滴り落ちる

trickle はユーザー空間の帯域幅マネージャです。現在、trickle は socket(2) インターフェースを介して確立されたあらゆる SOCK_STREAM (socket(2) を参照) 接続のシェーピングをサポートしています。さらに、トリクルは静的にリンクされた実行ファイルやsetuid(2)実行ファイルでは動作しません。

答え2

可能であれば、rsync を使用してください。現在、ほとんどの NAS は rsync サービスを提供しています。これは smb 共有よりも安全で、帯域幅を正確に調整できます。さらに、毎回すべてを転送するのではなく、ファイル間の差分のみを転送します。

答え3

理想的ではないかもしれませんが、tar を小さなファイル チャンクに分割し、ループの下部でスリープしながらスクリプトでそれらを反復処理することは可能でしょうか?

関連情報