2012年3月7日水曜日

Linux:ddでテープデバイスに書き込んだ時のはまりどころ

バックアップにテープデバイスを使うことがあるかと思いますが、
私が担当したシステムもテープデバイスを使ってバックアップをしていたのでした。

しかし、バックアップのスクリプトが動かない・・・。

原因がddコマンドにあることが分かったので、記録しておきます。

  • tarコマンドではうまくいく
  • ddコマンドでは一晩経っても終わらない
こんな状態でした。

 

写真の通り
ブロックサイズを変えて、コマンドの反応速度を計測しました。
ちなみに書き込んだファイルは100MBです。
512kだと57秒
256kだと58秒
128kだと58秒
64k,32kでも1分以内
しかし、
8kだと1分50秒
1kだとなかなか返ってこないので途中で止めちゃいました。(4分以上)
 そこで、tarのマニュアルを確認
-b, --block-size N
   ブロック・サイズをN*512 バイトとする (デフォルトは N=20)
今度はddのマニュアル
dd  は指定された入力ブロックサイズ (デフォルトは 512 バイト) で、一度に 1 ブロックを読み込む。
tarで終わって、ddで終わらないのはおそらくブロックサイズの指定と考えたので、

結果

20k(tarと同じ)に指定しました

これで、結果待ちです。たぶん大丈夫でしょう。

ちなみに、なんで今までうまく動いていたんだろう・・・。

参考にさせていただいたサイト:DAT TAPE with Linux

Zenback