Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ddが遅い

41 views
Skip to first unread message

Yoshitaka Ikeda

unread,
Feb 5, 2009, 3:14:00 AM2/5/09
to
FreeBSD 5.3-RELEASEでサーバを運用していますが、最近HDDの調子が悪く、
READ_DMA timed out
なんてエラーが出て起動しないことがままあります。

そこで、HDDを買ってきてコピーして積み替えてやろうと考えています。
今、旧HDDが/dev/ad3 新HDDが/dev/ad4につながってます。
dd if=/dev/ad3 of=/dev/ad4 conv=noerror
としてやってみたんですが、異常に遅いです。
計算すると、160GBの転送に24時間くらいかかりそうです。

Googleなんかで検索してみるとbs=1m
とかつけると早くなる、なんて記述があります。

さて、ここで質問です。ブロックサイズはたぶん512Bか1024Bなのですが、
このような状況で、bs=1mとか設定した場合、エラーが出たブロックはスルーされて
しまうのでしょうか、それとも、読めなかったところだけが無視されて他の部分
(同じバッファにのる)はコピーされるのでしょうか。

まあ、安全策的には、
dd if=/dev/ad3 of=/dev/ad4 conv=noerror bs=512
あたりが安全なような気がしていますが。

--
I LOVE SNOOPY! でつ
Yoshitaka Ikeda mailto:ik...@4bn.ne.jp
My Honeypot: ho...@4bn.ne.jp <-don't send this address

Yoshitaka Ikeda

unread,
Feb 5, 2009, 4:02:28 AM2/5/09
to
Yoshitaka Ikeda <ik...@4bn.ne.jp> writes:

> FreeBSD 5.3-RELEASEでサーバを運用していますが、最近HDDの調子が悪く、
> READ_DMA timed out
> なんてエラーが出て起動しないことがままあります。
>
> そこで、HDDを買ってきてコピーして積み替えてやろうと考えています。
> 今、旧HDDが/dev/ad3 新HDDが/dev/ad4につながってます。
> dd if=/dev/ad3 of=/dev/ad4 conv=noerror
> としてやってみたんですが、異常に遅いです。
> 計算すると、160GBの転送に24時間くらいかかりそうです。
>
> Googleなんかで検索してみるとbs=1m
> とかつけると早くなる、なんて記述があります。
>
> さて、ここで質問です。ブロックサイズはたぶん512Bか1024Bなのですが、
> このような状況で、bs=1mとか設定した場合、エラーが出たブロックはスルーされて
> しまうのでしょうか、それとも、読めなかったところだけが無視されて他の部分
> (同じバッファにのる)はコピーされるのでしょうか。
>
>
>
> まあ、安全策的には、
> dd if=/dev/ad3 of=/dev/ad4 conv=noerror bs=512
> あたりが安全なような気がしていますが。

conv=sync.noerror
にしないとずれていくのを忘れていました。


dumpfsを見る限りでは、ブロックサイズは16384バイトっぽいんだけど、
bs=16384くらいなら問題ないのかなぁ。

0 new messages