34:ネットワーク越しにDDコマンドでコピーする
Date 2014-11-13 14:00:11 | Topic: Linux (サーバー制作)
| 現行のサーバーのバックアップ用にもう一台同じ仕様のサーバーを作っている時、ネットワーク越しにDDコマンドが使えるか探すとここに回答があった。 考え方は dd コマンドの出力側と受け側に分け、間を nc コマンドでつなぐ見たいになっている。 まずは現行のサーバーの方で # dd if=/dev/Kvm/web4 | nc 192.168.XX.XX 12345 if=の後ろは例によって領域(device)の指定。私はLVMでサブホストのルート領域を作っているのでこんな風になっている。普通なら /dev/sda1 とかかな パイプ(|)の後は nc コマンド(netcat)の略らしい。その後のIPアドレスはバックアップ用のサーバーのIPアドレス、次の数字が使用するポート番号 ーーーーーーーーーーーーーーーーーーー バックアップ用サーバーに移って # nc -l 12345 | dd of=/dev/Kvm/web5 -l で nc をリッスンモードにし、同じポート番号にして、パイプの後は dd コマンドの後ろの設定 同じホスト間での dd だったら、上記は dd if=/dev/Kvm/web4 of=/dev/Kvm/web5 となるが、これを出力側(if)と受け側(of)に分けている。 ネットワークはギガビットだが思ったより早く終了した。多分同じホスト間より早いくらい。 これには理由がある。私はサブホストのルート領域、データー部分などを1台のSSDの押し込めているので(サーバーを小さく作りたい)出力側も受け側も同じディスクを指定する事になるからだと思う。 おまけ:いつも忘れる、ddの進捗状況を表示する を忘れるので 新しくターミナルを開いて # watch -n 60 pkill -USR1 dd とすると、60秒毎に何メガコピーしたか表示される。 追記:重要 CentOS7でやったらエラーが出る Ncat: Connection refused. google先生に聞いても中々回答がない、ふとリッスンを先にしたら難無く繋がった つまり、受け側(# nc -l 12345 | dd of=/dev/Kvm/web5)を先にやってから 送り側(# dd if=/dev/Kvm/web4 | nc 192.168.XX.XX 12345 )ということ うーん、CentOS 7だからかNcatのバージョウンが変わったか、それとも私の勘違いで最初からだったのか???
|
|