Sun 関係覚え書き

FC-AL のディスクでの復旧方法については,こちらも 参照のこと-> Sun/FC-AL HDD におけるミラーリング復旧手順

参考文献:BigAdmin

概要

Solstice DiskSuite を用いてシステムディスクをミラーしている場合, 片方のディスクが壊れて使えないとシステムが再起動しなくなる. これは,データベースのレプリカ(metadb) が半数以下となってしまうためである.

そうなった場合の対処法について説明する.

また,ディスク交換後の方法を説明する.

データベースレプリカのエラー

推奨する手順

1.

ok> プロンプトで,boot コマンドを発行する. すると,データベースのレプリカが壊れているので, シングルユーザモードになる.

ok > boot
...
Hostname: yazid
metainit: yazid: stale databases
Insufficient metadevice database replicas located.
Use metadb to delete databases which are broken.
Ignore any "Read-only file system" error messages.
Reboot the system when finished to reload the metadevice
database.
After reboot, repair any broken database replicas which were
deleted.
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance): 
Entering System Maintenance Mode.

2.

metadb コマンドを使ってメタデバイスのステータスを見る. 出力された結果に "unknown" や M フラッグがついていることで, 利用できなくなったデータベースのレプリカを見分けることができる.

# metadb -i
flags      first blk      block count
a m  p lu    16           1034                /dev/dsk/c0t0d0s7
a    p  l    1050         1034                /dev/dsk/c0t0d0s7
M    p       unknown      unknown             /dev/dsk/c0t1d0s7
M    p       unknown      unknown 

3.

障害のあるディスクのデータベースレプリカを -d オプションを使って削除する. このとき root(/)パーティションはリードオンリーとなっているので, mddb.cf に関するエラーメッセージは無視してよい.

# metadb  -d  -f  c0t1d0s7
metadb: demo: /etc/opt/SUNWmd/mddb.cf.new: Read-only file system.

で,削除されたことを確認.

# metadb  -i
flags        first blk       block count
a m  p  lu   16              1034            /dev/dsk/c0t0d0s7
a    p  l    1050            1034            /dev/dsk/c0t0d0s7

4.

システムを再起動する.

5.

metadb コマンドを使ってデータベースレプリカを追加しなおし, 正常な状態に戻す.

# metadb -a -c 2 c0t1d0s7
# metadb -i
flags        first blk  block count
a m  p  luo  16           1034         dev/dsk/c0t0d0s7
a    p  luo  1050         1034         dev/dsk/c0t0d0s7
a       u    16           1034         dev/dsk/c0t1d0s7
a       u    1050         1034         dev/dsk/c0t1d0s7

メタデバイスのエラー

推奨する手順

1.

障害のあるディスクを交換する

2.

元のディスクと同じ大きさでパーティションを作成する. もし,meta データベースをリカバリするなら,上述の方法で行う.

3.

Solaris OS にログインし,metastat コマンドを発行する. 次のような結果が表示されるだろう.

# metastat

	 d0: Mirror
    Submirror 0: d10
      State: Needs maintenance
    Submirror 1: d20
      State: Okay
...
d10: Submirror of d0
    State: Needs maintenance
    Invoke: "metareplace d0 /dev/dsk/c0t3d0s0 <new device>"
    Size: 47628 blocks
    Stripe 0:
Device              Start Block  Dbase State        Hot Spare
/dev/dsk/c0t3d0s0          0     No    Maintenance 
d20: Submirror of d0
    State: Okay
    Size: 47628 blocks
    Stripe 0:
Device              Start Block  Dbase State        Hot Spare
/dev/dsk/c0t2d0s0          0     No    Okay 

4.

この結果から c0t3d0s0 が障害を起こし,交換されたことがわかる. metareplace コマンドを使ってデバイスを利用可能にする.

# metareplace -e d0 c0t3d0s0
Device /dev/dsk/c0t3d0s0 is enabled

もしくは,障害のあったデバイスを新しいディスクの別のデバイスに移したい場合, 次のようにコマンドを打つ.

# metareplace  d0 c0t3d0s0   <new device name>

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-01-04 (金) 21:53:22