21 January 2009

(Linux) ハードディスク (システム起動ディスク) 全体のコピー

Seagate製ハードディスクに欠陥があり、何の前触れもなく突然死する可能性があると、製造メーカーから公式発表があり、1ヶ月前に購入したシステム用のハードディスクが見事に外れくじを引いていたことが分かった。 (詳細は昨日の 『Seagateの重大欠陥ハードディスク』 、『Seagate重大欠陥対処のため、HGSTの同容量HDDを購入』 項目に記載済み)

そこで、システム起動ディスクとして利用しているディスク全体を、別のハードディスクに完全にコピーする作業をする。(Windows XP, Vista, Linux CentOS の起動ディスクとして利用中のディスク)

利用したソフト : Knoppix 5.1.1
コピー元 HDD : ST3500320AS    (Seagate 500GB)
コピー先 HDD : HDP725050GLA360 (HGST 500GB)

コピー時間を正確に測るため、コマンドプロンプトに時間を表示させる。

root@Knoppix:~# PS1='[\u@\h \w \t]'

ディスクの基本情報を hdparm で読み出す。通常の -i スイッチでは失敗するので、 -I スイッチを用いた。

[root@Knoppix ~ 23:05:08]hdparm -i /dev/sdb /dev/sdb: HDIO_GET_IDENTITY failed: Inappropriate ioctl for device [root@Knoppix ~ 23:05:19]hdparm -i /dev/sda /dev/sda: HDIO_GET_IDENTITY failed: Inappropriate ioctl for device [root@Knoppix ~ 23:07:00]hdparm -I /dev/sdb /dev/sdb: ATA device, with non-removable media Model Number: Hitachi HDP725050GLA360 Serial Number: GEA534RF2EV*** Firmware Revision: GM4OA5CA Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5; Revision: ATA8-AST T13 Project D1697 Revision 0b Standards: Supported: 8 7 6 5 Likely used: 8 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 268435455 LBA48 user addressable sectors: 976773168 device size with M = 1024*1024: 476940 MBytes device size with M = 1000*1000: 500107 MBytes (500 GB)  ~ 以下略 ~ [root@Knoppix ~ 23:07:07]hdparm -I /dev/sda /dev/sda: ATA device, with non-removable media Model Number: ST3500320AS Serial Number: 9QM7K*** Firmware Revision: SD15 Transport: Serial Standards: Supported: 8 7 6 5 Likely used: 8 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 268435455 LBA48 user addressable sectors: 976773168 device size with M = 1024*1024: 476940 MBytes device size with M = 1000*1000: 500107 MBytes (500 GB)  ~ 以下略 ~

ディスクの転送速度を調べる。60MB/secくらい出るようだ。 CentOS上で計測したときは80MB/secくらい出ていたはずなので、Knoppixでは遅くなっている。転送モードが違うのだろうか…

[root@Knoppix ~ 23:07:41]hdparm -tT /dev/sdb /dev/sdb: Timing cached reads: 534 MB in 2.00 seconds = 267.02 MB/sec Timing buffered disk reads: 188 MB in 3.01 seconds = 62.52 MB/sec [root@Knoppix ~ 23:08:24]hdparm -tT /dev/sda /dev/sda: Timing cached reads: 1124 MB in 2.00 seconds = 561.64 MB/sec Timing buffered disk reads: 180 MB in 3.02 seconds = 59.54 MB/sec

コピー作業開始。 60MB/secの転送速度がキッチリと出れば、140分で終わるはずだが、果たして…

[root@Knoppix ~ 23:08:49]dd if=/dev/sda of=/dev/sdb bs=16384 30524161+1 records in 30524161+1 records out 500107862016 bytes (500 GB) copied, 12563.4 seconds, 39.8 MB/s [root@Knoppix ~ 02:42:14]

結果は、所要時間214分。 平均転送(コピー)速度は 40MB/sec

念のために、ディスクアクセス速度を CrystalDiskMarkで計測してみる。

20090121-ST3500320AS-bench.png
ST3500320AS

20090121-HDP725050GLA360-bench.png
HDP725050GLA360

ST3500320ASの書き込み転送速度が遅いのは、低温環境下でベリファイ動作が入るためらしい。(測定時のハードディスク温度は22℃)
さすが、エンタープライズ向け…   今回の問題で、そんなこと言ってられないと思うのだが。

551 :520:2008/01/29(火) 17:41:09 ID:gNemzScA
 質問に回答下さった方、ありがとうございました。
 結局、Seagateにも問い合わせたところ、低温時のWrite低下は仕様とのことです。
 
低温環境下の Write 動作では、 RAW(Read After Write)という機能が働いて、データ書き込みの直後に、その同じブロックのデータの読み出しを 連続で行なう為、所要時間が倍以上かかります。
一般に、低温環境では、書き込み特性のマージンが下がる為、 データが“きっちり書き込まれているか”確認のためにこのような動作をしています。

「2ちゃんねる掲示板より」

Windows XPのアクティベーションが”切れて”いないか、念のため確認。

20090121-xp-msoobe.png
%systemroot%system32\oobe\msoobe.exe /A コマンドの実行結果