HDのデータ、まるまるコピー (SCSI HDD → IDE HDD)

| | コメント(0) | トラックバック(12)

Linux (RedHat8.0。古いけど良いの) が入ってるSCSI HDDの内容をまるまるIDE HDDにコピーして、IDE HDDから起動できるようにする必要がありました。

Knoppixでブートして、ddコマンドでコピーしました。

分かってない事多いけど、とりあえずこの辺を参考にして。

・Linux ユーザのためのデータ救出
http://www.nn.iij4u.or.jp/~tutimura/salvage.html

SEE:
ddでハードディスクのイメージをとっておく (このblogより)
KNOPPIX (このblogより)

構成

● SCSI HDD (40G)
/dev/sda

● IDE HDD (40G)
/dev/hdc (セカンダリー - マスター)

● IDE CD Drive
/dev/hda (プリマリー - マスター)

「/dev/sda」の内容を「/dev/hdc」にごっそりコピーしたい。

IDEでは、HDD以外のIDEデバイスより先にIDE HDDを認識させるのが基本らしい。(特に古いBIOSで)
「IDE HDD = /dev/hda」「IDE CD Drive = /dev/hdc」としたら、BIOSがCD Driveをうまく認識しなくて、CD bootできなかった。
なので、上記の構成。
IDE HDDをフォーマットしてなかったんだけど、それって関係ある?

やってみる

● Knoppixから起動

Forensic目的じゃないから、「noswap」はいらないかもしれないけど、念のため付けてみる。

// noswap = HDDに書き込みを防ぐ
// nodma = DMAをオフ。うまく起動できなかったため。
// 2 = 必要なかったので、CUIで起動
boot: knoppix noswap nodma 2

● 一応、ディスクの速度の確認

(2004/12/20 追記 ここから)
・エンタープライズ: Linux Tips - ハードディスクのアクセスが遅いような気がする
http://www.itmedia.co.jp/help/tips/linux/l0086.html
hdparmの簡単な説明。
(2004/12/20 追記 ここまで)

# hdparm -Tt /dev/sda
/dev/sda:
 Timing buffer-cache reads:   1608 MB in  2.00 seconds = 804.00 MB/sec
 Timing buffered disk reads:  154 MB in  3.01 seconds =  51.16 MB/sec
 
// 「/dev/hda」なのはHDDを別マシンにつけてKnoppixで起動して実行したんだった。。。
# hdparm -Tt /dev/hda
/dev/hda:
 Timing buffer-cache reads:   3724 MB in  2.00 seconds = 1862.00 MB/sec
 Timing buffered disk reads:   12 MB in  3.44 seconds =   3.49 MB/sec

何回か実行した方がいいらしい。

  • -T (Timing buffer-cache reads)
    ディスクアクセスなしに、Linux buffer cacheから直接読む速度。
    プロセッサー、キャッシュ、メモリの処理能力。
  • -t (Timing buffered disk reads)
    ファイルシステムのオーバーヘッドなしで連続したデータを読み込む速度がわかるっぽい。

ていうか、遅い?
KnoppixでDMAをオフにして起動してあから、、、って関係ある?
とりあえず、以下のオプションで早くなるか確認した方が良いかな?

  • -c
    (E)IDE 32-bit I/O support関係
  • -d
    DMAコントローラ関係
    • -X
      IDE transfer mode関係
  • -W
    IDEの書き込みキャッシュ

参考値として、特にいじってない古い別マシン(RedHat7.3)を見てみました。
HDDもそんなに新しくないはず。

# hdparm /dev/hda
 
/dev/hda:
 multcount    = 16 (on)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 1232/255/63, sectors = 19807200, start = 0
 busstate     =  1 (on)
 
# hdparm -Tti /dev/hda
 
/dev/hda:
 
 Model=IBM-DTTA-351010, FwRev=T56OA73A, SerialNo=WF0WFJP7062
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=34
 BuffType=DualPortCache, BuffSize=466kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=19807200
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes: pio0 pio1 pio2 pio3 pio4
 DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 udma1 *udma2
 AdvancedPM=no WriteCache=enabled
 Drive Supports : ATA/ATAPI-4 T13 1153D revision 17 : ATA-1 ATA-2 ATA-3 ATA-4
 
 Timing buffer-cache reads:   128 MB in  1.50 seconds = 85.33 MB/sec
 Timing buffered disk reads:  64 MB in  7.06 seconds =  9.07 MB/sec

○ 変更するには

例えば、DMAの場合。
DMAのオン/オフを確認するには、以下のコマンドを実行して、「using_dma」部分を見ます。

# hdparm /dev/hda

変更するには以下のコマンド。

// DMAをオンにする
# hdparm -d1 /dev/hdc
// DMAをオフにする
# hdparm -d0 /dev/hdc

Linux起動時に実行されるようにしとくらしい。

● セクタサイズを調べる

# fdisk -l -u

セクタサイズは512っぽい。

● 転送速度を確認

結果は生出力じゃないですが。。
1.1MB/secくらいで転送できそう。

# dd if=/dev/sda of=/dev/hdc bs=512 \
   conv=sync,noerror count=1
0.05sec,10kB/secくらい
 
# dd if=/dev/sda of=/dev/hdc bs=512 \
   conv=sync,noerror count=100
0.1sec,527kB/secくらい
 
# dd if=/dev/sda of=/dev/hdc bs=512 \
   conv=sync,noerror count=10000
4.5sec,1.1MB/secくらい
 
# dd if=/dev/sda of=/dev/hdc bs=512 \
   conv=sync,noerror count=1000000
450sec,1.1MB/secくらい

● コピー

セクタサイズ毎にコピーをしてみます。
読み込みエラーしても、ロストする部分は最小になる予定。
ロストされるのは困るけど、読めないものは読めないから仕方ない?
速度優先にするなら、bsを4096や、それ以上にしちゃってもいいかも。

エラーでも続行します。

# dd if=/dev/sda of=/dev/hdc bs=512 \
   conv=sync,noerror

HDDって同じ容量を謳ってても(メーカーや機種によって)正確にはサイズが違うから、半端なところはどうなるのかな?
今回はIDE(コピー先)の方が微妙に大きかったんだけど、余計な部分はどうなるんだろう?
syncがあるからNUL埋めしてくれてる?(そういうものじゃない?)

実際に掛かった時間は、計りませんでしたー。

● 一応MD5とってみる

// 20分くらいかかりました
# md5sum /dev/sda
// 1時間掛かっても終わらなかったから、中断しちゃった
# md5sum /dev/hdc

そもそもサイズが違うんだから、MD5の値も違いそう?

● IDE HDDから起動

別マシンにIDE HDDを接続して起動。

「Kudzu」が起動したので、Configureを削除したり、追加したりしました。

Linux起動時に「Linux スワップ」が見つかってないみたいなエラーが出てました。

// 現在のディスク構成を確認
# fdisk -l -u
// 「/etc/fstab」を確認
# cat /etc/fstab
// 「/etc/fstab」のswapの指定がSCSIのままになってたので修正
# vi /etc/fstab
// ネットワークの設定とか変更して、一応再起動しちゃえー

動いてるっぽい。
これから問題でるかなぁ。。。

はて?

MBR(マスターブートレコード)は以下のコマンドで取り出すことができるはずなので、今回のコピーでもコピーされてるはず。

# dd if=/dev/hdc of=~/mbr bs=512 count=1

起動できたって事は、SCSI HDDとIDE HDDでMBRはまったく同じなのかしらん?
無理かなぁと思いつつやったら、さらっと出来たので、拍子抜け。
全然分かってないけど。

そうそう、ブートマネージャはgrubでした。
grubはIDE,SCSI関係なく認識した順番に hd0,hd1,・・・ となっていくらしいので、今回は関係なく出来ました。

トラックバック(12)

このブログ記事を参照しているブログ一覧: HDのデータ、まるまるコピー (SCSI HDD → IDE HDD)

このブログ記事に対するトラックバックURL: http://kinshachi.ddo.jp/mt/mt-tb.cgi/357

» Tracing sheets (Bologna tourist information )~のトラックバック

Lilith eve adam 続きを読む

» Bumps on head (Time difference to gmt )~のトラックバック

Bag inflate 続きを読む

» Java string to int (Africa kampala )~のトラックバック

Hindu baby names girl 続きを読む

» Princess diaries dvd(Mini memory cards )~のトラックバック

Hindu baby names girl 続きを読む

» 1953 triumph motorcycle (City map of mississauga ontario)~のトラックバック

System of a down posters 続きを読む

» Pattern for making slipcovers (System of a down posters )~のトラックバック

System of a down posters 続きを読む

» Western stationary (Symbiotic relationship examples )~のトラックバック

Central in marketing oregon 続きを読む

» Brightplanet com(Western stationary )~のトラックバック

All2easy net 続きを読む

» 1953 triumph motorcycle (Neolithic stone )~のトラックバック

The documentary songlist 続きを読む

» Bobina variable (Western stationary)~のトラックバック

Bobina variable 続きを読む

» Scandinavan airlines (College admission letter samples )~のトラックバック

Scandinavan airlines 続きを読む

» Terry jessup (Oregon resort seaside )~のトラックバック

Double room to rent 続きを読む

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、ikeが2004年11月 6日 11:41に書いたブログ記事です。

ひとつ前のブログ記事は「fireFTP」です。

次のブログ記事は「Startup Control Panel / StartupMonitor」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

Powered by Movable Type 4.261