FrontPage 差分 一覧 ソース 検索 ヘルプ ログイン

Solaris10 for SPARC Ver.02 〜VolumeManager編〜

Solaris10 for SPARC Ver.02 〜VolumeManager編〜

[カテゴリ:Solaris]

以前 Solstice DiskSuite と呼ばれていた何かはVolumeManagerとしてOSに統合された。

そもそもDiskSuiteとはなんぞやとか、どんなことができんねんとかそーいったあたりの話はSunのofficial documentを読んでもらうとして、ここではよくあるパターンのディスク2台をmirroringして使うときに実際に行った作業をメモしておく。


18GBディスク2本をswapまで含めてさっくりとmirroringする方向で。

 c0t0d0                   c0t1d0
   s0 -----  d0(/)    ----- s0
   s1 ----- d1(swap)  ----- s1
   s3 ----- d3(/var)  ----- s3
   s4 ----- d4(/usr)  ----- s4
   s5 ----- d5(/home) ----- s5
   s6 ----- unassigned ---- s6
   s7 -----  metadb   ----- s7

何がやりたいかはわかるよな、これで。わかんないやつはやめとけ(ぉ

とりあえず c0t0d0 にさっくりとOSをインストールしてからformatコマンド で c0t1d0 に c0t0d0 と全く同じようにsliceを切る。詳細略。1本目のディスクにmetadb用のsliceを確保しておくのを忘れないように。多分12cylもあれば足りると思う。具体的にはこんな感じ

 Part      Tag    Flag     Cylinders        Size            Blocks
   0       root    wm       0 -  499        1.00GB    (500/0/0)   2100000
   1       swap    wu     500 - 1499        2.00GB    (1000/0/0)  4200000
   2     backup    wm       0 - 8465       16.95GB    (8466/0/0) 35557200
   3        var    wm    1500 - 1999        1.00GB    (500/0/0)   2100000
   4        usr    wm    2000 - 4999        6.01GB    (3000/0/0) 12600000
   5       home    wm    5000 - 8441        6.89GB    (3442/0/0) 14456400
   6 unassigned    wm       0               0         (0/0/0)           0
   7 unassigned    wm    8442 - 8465       49.22MB    (24/0/0)     100800

sliceの場所も気にしておこう。VolumeManagerでは0cylからはじまっているsliceは0cylからはじまっているsliceとしかmirrorできない。c0t0d0でs0をディスクの先頭から確保したら、c0t1d0でもそうしないといけない。まぁ何も考えずにまったく同じ構成にしておけ。


とりあえず metadb を作成する。c0t0d0s7とc0t1d0s7の両方にそれぞれ3つずつ。詳しいおぷそんは man metadb すれ。

 # metadb -a -f -c 3 c0t0d0s7 c0t1d0s7

んで、とりあえずちゃんとできたか確認しておく。

 # metadb
         flags           first blk       block count
      a        u         16              8192            /dev/dsk/c0t0d0s7
      a        u         8208            8192            /dev/dsk/c0t0d0s7
      a        u         16400           8192            /dev/dsk/c0t0d0s7
      a        u         16              8192            /dev/dsk/c0t1d0s7
      a        u         8208            8192            /dev/dsk/c0t1d0s7
      a        u         16400           8192            /dev/dsk/c0t1d0s7

合計6つ。


んで、rootのmirroringをば。まずは今まさに動いているrootのfilesystemをd10に、mirror先にする予定の場所をd20に。

 # metainit -f d10 1 1 c0t0d0s0
 # metainit d20 1 1 c0t1d0s0

マウント予定のd0をmirrorとしてセットアップ。

 # metainit d0 -m d10

んでおまじない。rootだし。

 # metaroot d0

/etc/vfstabを見て、ちゃんと /dev/dsk/md/d0 をmountするようになっているかを確認しておく。

あとはrebootしてから

 # metattach d0 d20

して、Resyncが完了するのを待てばよろしい。


他のぱーてぃそんも基本的には同じ。metainitでmeta deviceを作成して、metainitでmeta deviceをmirrorとしてセットアップして/etc/vfstab を手動で書き換えてrebootしてmetattachしておしまい。

具体的にはこんな感じ。

 # metainit -f d11 1 1 c0t0d0s1
 # metainit d21 1 1 c0t1d0s1
 # metainit d1 -m d11
 # vi /etc/vfstab
 # reboot
 # metattach d1 d21

d3もd4もd5も同様の手順を繰り返せばいい。


あとは定期的にmetastatを実行して、State が Needs maintenance になってないかを確認しておけ。

おしまい。