« | Home | »

2009.03.07

atacontrolで故障HDDの交換

FreeBSDではATAインターフェイスをコマンドでattach, detach出来る機能があり、gmirror構成したディスクの1台が壊れても、サーバの運用を続けながらhot replaceで交換きる。まず、root権限でatacontrolでlistを表示してみる。

# atacontrol list
ATA channel 0:
    Master: acd0 <TSSTcorp CD-ROM TS-H192C/B504> ATA/ATAPI
    Slave:       no device present
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3808110AS/3.AJJ> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <Hitachi HDS721680PLA380/P21OABEA> Serial ATA II
    Slave:       no device present

使用しているサーバはHPのProLiant M110であり、IDEのPrimaryとSecondaryがATA channel 0とATA channel 1として表示され、SATAがそれぞれATA cahnnel 2とATA channel 3として表示されている。

この例ではATA channel 2のMasterにad4が接続されており、ATA channel 3にad6が接続されている。

atacontrolでは、channel単位にattach, detachができるので、例えばATA channel 3につながっているad6を交換したいのであれば、このチャネルをdetachする。detachしてリストを表示すると、

# atacontrol detach ata3
# atacontrol list
ATA channel 0:
    Master: acd0 <TSSTcorp CD-ROM TS-H192C/B504> ATA/ATAPI
    Slave:       no device present
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3808110AS/3.AJJ> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:      no device present     ← HDDが消えた
    Slave:       no device present

となり、ad6として動作していたHitachiの160GBのドライブが消える。
ここで、このドライブをサーバ運用のまま交換し、attachする。

# atacontrol attach ata3
# atacontrol list
ATA channel 0:
    Master: acd0 <TSSTcorp CD-ROM TS-H192C/B504> ATA/ATAPI
    Slave:       no device present
ATA channel 1:
    Master:      no device present
    Slave:       no device present
ATA channel 2:
    Master:  ad4 <ST3808110AS/3.AJJ> Serial ATA v1.0
    Slave:       no device present
ATA channel 3:
    Master:  ad6 <Hitachi HDP725025GLA380/GM2OA5CA> Serial ATA II
    Slave:       no device present

ここの例では、Hitachの250GBのドライブに交換した。
あとはgmirrorを再構成するだけである。

# gmirror statua           ← statusの表示
    Name         Status   Components
  gmirror/gm0   DEGRADED      ad4
# gmirror forget gm0           ← 構成情報のリセット
# gmirror status           ← 再度statusの確認
    Name         Status   Components
  gmirror/gm0   COMPLETE      ad4   ← DEGRADEDからCOMPLETEになる
# gmirror insert gm0 ad6        ← ad6の組み込み
    Name         Status   Components
  gmirror/gm0   DEGRADED      ad4
               ad6(1%)   ← 進行が%で表示される

あとは、同期化が進行して完了する。

コメント

コメントはありません

コメントフィードを購読する

コメント投稿





コメント本文に次の(X)HTMLタグを使えます:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)