注意:事前にsmartmontoolsをインストールのこと
yum install smartmontools
ESXiのHDD容量が少なくなったので、HDD差替えを念頭に、使えそうなHDDを診断。
付け替え予定のHDDをLinuxBoxに繋げて、起動。っで、
cat /proc/partitions (どのデバイスに繋がったのが確認)
smartctl -a /dev/sdb (/dev/sdbの全ての情報(-a)を表示)
すると、HDDのメーカー情報やら容量、タイプが記載された
=== START OF INFORMATION SECTION ===
の記述があり、その後にSMART情報が下記表題後に続きます
=== START OF READ SMART DATA SECTION ===
この中には、Short self-testに要する時間、とかExtended self-testに係る時間とかが表記される。
もしself-testが始まっていれば、Self-test execution status:欄にSelf-test routine in progress...と表記されます。
完了していればThe previous self-test routine completedと表記される。
っで、今現在を調べたいのでlong(Extended)でHDDを検査します。
smartctl -t long /dev/sdb (端折って調べたいのならshortを選択)
先に示した時間の経過を待ちます。もしくはsmartctl -a /dev/sdbを実行してSelf-test execution status:欄を確認します。
self-test完了後、再度smart情報を取得して
Vendor Specific SMART Attributes with Thresholds:
以降を確認します。
Reallocated_Sector_Ct (不良セクタの置換えが済んだ個数)
Current_Pending_Sector (置換えていない不良セクタの数)
どの数字がこうだから交換とか目安が分からない。っがReallocated_Sector_Ctが256なので不健康要素ありあり?
っが、一応は不良セクタの置換えが完了しているので問題ないとも見える。
むしろ不良セクタが0だから継続していいのか?
■不良セクタが発見された場合
smartctl -t long -d ata /dev/sdb
にて不良箇所を特定
「不良セクタのLBAのアドレス」を得た後、
それがどこの箇所に存在してるかを調べる。
[root@c4 ~]# fdisk -lu
Disk /dev/sda: 34.3 GB, 34359738368 bytes
255 heads, 63 sectors/track, 4177 cylinders, total 67108864 sectors
Units = セクタ数 of 1 * 512 = 512 bytes
デバイス Boot Start End Blocks Id System
/dev/sda1 * 63 208844 104391 83 Linux
/dev/sda2 208845 8594774 4192965 82 Linux swap / Solaris
/dev/sda3 8594775 67103504 29254365 83 Linux
そして問題ないのなら、その箇所を埋める
dd if=/dev/zero of=/dev/sda bs=512 seek=「不良セクタのLBAのアドレス」 count=1
再度確認のために
smartctl -t long -d ata /dev/sdb