UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

DiskSuite4.x コマンドで設定


DiskSuite4.x コマンドで設定


0.改定履歴

  • 1999.04.02 初版

1.はじめに

 このドキュメントは,Solaris2.5.1でDiskSuite4.1を利用し,コマンドラインから状態データベースとメタデバイスを構成する手順を示す.

 なお,今回は前述の通りDiskSuite4.1を利用しているが,DiskSuite4.0でも同様に動作すると思われる.

2.前提条件

 前提として,対象となるハードディスクのスライスを次のように設定しておく.

対象 設定内容
状態データベース スライス0を5.12MB程度で割り当て.
メタデバイス スライス7を割り当て.

3.状態データベースの作成

 metadbコマンドで,現在の状態データベースが作成されていない事を確認する.

duo# metadb
duo#

 状態データベースを作成する. ここでは,c1t0d0〜c1t0d4までの5台のディスクのスライス0に作成する.

duo# metadb -a -f /dev/dsk/c1t0d0s0 /dev/dsk/c1t0d1s0 /dev/ds
k/c1t0d2s0 /dev/dsk/c1t0d3s0 /dev/dsk/c1t0d4s0
duo#

 コマンドを入力して,数秒でプロンプトが戻ってくるので,metadbコマンドで割り当て状態を確認する. -iを付けることで,ヘルプが出る.

duo# metadb -i
        flags           first blk       block count
     a        u         16              1034            /dev/dsk/c1t0d0s0
     a        u         16              1034            /dev/dsk/c1t0d1s0
     a        u         16              1034            /dev/dsk/c1t0d2s0
     a        u         16              1034            /dev/dsk/c1t0d3s0
     a        u         16              1034            /dev/dsk/c1t0d4s0
 o - replica active prior to last mddb configuration change
 u - replica is up to date
 l - locator for this replica was read successfully
 c - replica's location was in /etc/opt/SUNWmd/mddb.cf
 p - replica's location was patched in kernel
 m - replica is master, this is replica selected as input
 W - replica has device write errors
 a - replica is active, commits are occurring to this replica
 M - replica had problem with master blocks
 D - replica had problem with data blocks
 F - replica had format problems
 S - replica is too small to hold current data base
 R - replica had device read errors
duo#

 ヘルプをみると,現在のステータスはアクティブ(a)で,データベースのアップデート(複製)が行なわれている状態(u)である事が判る.

4.状態データベースの削除

 誤って状態データベースを作成した場合,削除するにはmetadb -dコマンドを利用する.

duo# metadb
        flags           first blk       block count
     a        u         16              1034            /dev/dsk/c1t0d0s0
     a        u         16              1034            /dev/dsk/c1t0d1s0
     a        u         16              1034            /dev/dsk/c1t0d2s0
     a        u         16              1034            /dev/dsk/c1t0d3s0
     a        u         16              1034            /dev/dsk/c1t0d4s0
duo# metadb -d -f /dev/dsk/c1t0d0s0 /dev/dsk/c1t0d1s0 /dev/ds
k/c1t0d2s0 /dev/dsk/c1t0d3s0 /dev/dsk/c1t0d4s0
duo# metadb
duo#

5.メタデバイスの作成

5.1.メタディスクユーティリティファイルの編集

 メタデバイスを作成するには,メタディスクのユーティリティファイル,/etc/opt/SUNWmd/md.tabを編集する.

/etc/opt/SUNWmd/md.tabファイルの先頭
#
#ident "@(#)md.tab   1.6     94/11/14 SMI"
#
# md.tab
#
#       metainit utility input file.
#
# The following examples show the format for local metadevices, and a
# similar example for a shared metadevice, where appropiate.  The shared
# metadevices are in the diskset named "blue":
#
# Metadevice database entry:
#
#       mddb01  /dev/dsk/c0t2d0s0 /dev/dsk/c0t0d0s0
#

※注意

md.tabファイルは,最新の情報を持っているとは限らない. メタデバイスを構成する際に使用されるだけなので,構成後書き換えられても判らないので注意する. それは手順を見れば判る.

 md.tabファイルには,各メタデバイスを構成する時のサンプルがかかれている. 

md.tabファイルでのRAID5構成記述例
/dev/md/dsk/d0  -r /dev/dsk/c1t0d0s7 /dev/dsk/c1t0d1s7 \
                   /dev/dsk/c1t0d2s7 /dev/dsk/c1t0d3s7 \
                   /dev/dsk/c1t0d4s7

 このサンプルでは,デバイス/dev/md/dsk/d0として,RAID5デバイス(-r)を5つのディスクに作成する事を示す.

 ファイルを編集して保存する.

5.2.メタデバイスの作成

 現在のメタデバイスの情報を確認する.

duo# metastat
duo#

 何も無い事が確認できたら,metainitコマンドにてデバイスを作成する.

duo# metainit /dev/md/dsk/d0
d0: RAID is setup
duo#

 ここでは,md.tabで定義した/dev/md/dsk/d0デバイスを作成する指示を与えている.

 なお,このコマンドはすぐプロンプトに戻ってくる.(ディスクの数(20本くらい)が多いと,10秒くらい)

 metastatコマンドでステータスを確認する.

metainit直後のステータス
duo# metastat
d0: RAID
    State: Initializing
    Initialization in progress: 0% done
    Interlace: 32 blocks
    Size: 34960 blocks
Original device:
    Size: 34960 blocks
        Device              Start Block  Dbase State        Hot Spare
        c1t0d0s7                 330     No    Initializing
        c1t0d1s7                 330     No    Initializing
        c1t0d2s7                 330     No    Initializing
        c1t0d3s7                 330     No    Initializing
        c1t0d4s7                 330     No    Initializing

 とりあえず,かまわずリブートする.

duo# sync
duo# sync
duo# sync
duo# reboot

 リブート後,イニシャライズが開始されている事をmetastatコマンドで確認する.

※ご参考

2.1GB HDを20本分でRAID5を構成した場合に,1時間55秒かかった.

5.3.メタデバイスの削除

 間違ってメタデバイスを作成した場合には,metaclearコマンドでメタデバイスを削除できる.

メタデバイスを全部消すコマンド
duo# metaclear -a
d0: RAID is cleared
duo# metastat
duo#

※注意

metaclearで-aを使うと,全てのメタデバイスが削除される. 複数のメタデバイスを運用している場合には注意する.

6.状態を確認する

 作成した状態データベースと,メタデバイスを確認する.

状態データベース
duo# metadb
        flags           first blk       block count
     a m  pc luo        16              1034            /dev/dsk/c1t0d0s0
     a    pc luo        16              1034            /dev/dsk/c1t0d1s0
     a    pc luo        16              1034            /dev/dsk/c1t0d2s0
     a    pc luo        16              1034            /dev/dsk/c1t0d3s0
     a    pc luo        16              1034            /dev/dsk/c1t0d4s0
#

メタデバイス
duo# metastat
d0: RAID
    State: Okay
    Interlace: 32 blocks
    Size: 34960 blocks
Original device:
    Size: 35072 blocks
        Device              Start Block  Dbase State        Hot Spare
        c1t0d0s7                 330     No    Okay
        c1t0d1s7                 330     No    Okay
        c1t0d2s7                 330     No    Okay
        c1t0d3s7                 330     No    Okay
        c1t0d4s0                1850     No    Okay

duo#

7.ファイルシステム作成

 作成したメタデバイスは,ファイルシステムの無い状態なので,作成する. これは普通のファイルシステムと同様に作成すればよい.

newfs
duo# newfs /dev/md/rdsk/d0
newfs: construct a new file system /dev/md/rdsk/d0: (y/n)? y
/dev/md/rdsk/d0:全セクタ数: 78719280  (シリンダ数: 51789、トラック数: 19、

セクタ数: 80)
        38437.1MB、3237 シリンダグループ (16 c/g, 11.88MB/g, 5696 i/g)
スーパーブロックのバックアップの位置 (fsck -F ufs -o b=# のため) :
 32, 24432, 48832, 73232, 97632, 122032, 146432, 170832, 195232, 219632,

〜つづく〜

ご参考

  • 2.1GB×20本 RAID5
  • 総容量38,437.1MB(38GB)
  • 3237 シリンダグループ (16 c/g, 11.88MB/g, 5696 i/g)
  • 3時間17分13秒

fsck
duo# fsck /dev/md/rdsk/d0
** /dev/md/rdsk/d0
** Last Mounted on
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
2 files, 9 used, 37003028 free (12 frags, 4625377 blocks,  0.0% fragmentation)
duo#
上記諸元で約10分

8./etc/vfstabへの記述

 再起動時に自動的にマウントされるようにする.

8.1.マウントポイントの作成

 ディレクトリを作成する.(なんでもよい.ここでは/raid5とする)

duo# mkdir /raid5
duo# ls -la /raid5
合計 4
drwxr-xr-x   2 root     other        512  4月  2日  11:29 .
drwxr-xr-x  26 root     root        1024  4月  2日  11:29 ..
duo#

8.2.vfstabファイル

 vfstabファイルに記述する.

#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
#/dev/dsk/c1d0s2 /dev/rdsk/c1d0s2 /usr          ufs     1       yes     -
fd      -       /dev/fd fd      -       no      -
/proc   -       /proc   proc    -       no      -
/dev/dsk/c0t0d0s1       -       -       swap    -       no      -
/dev/dsk/c0t0d0s0  /dev/rdsk/c0t0d0s0      /       ufs     1       no      -
/dev/dsk/c0t1d0s6  /dev/rdsk/c0t1d0s6      /usr    ufs     1       no      -
/dev/dsk/c0t0d0s7  /dev/rdsk/c0t0d0s7      /home   ufs     2       yes     -
/dev/md/dsk/d0   /dev/md/rdsk/d0   /raid5  ufs  2    yes     -
swap    -       /tmp    tmpfs   -       yes     -

8.3.確認

 リブートし,マウントされることを確認する.

dfの結果サンプル
duo# df -k
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0t0d0s0     985446  115410  771496    14%    /
/dev/dsk/c0t1d0s6    1952573  344162 1413161    20%    /usr
/proc                      0       0       0     0%    /proc
fd                         0       0       0     0%    /dev/fd
/dev/dsk/c0t0d0s7     473287       9  425958     1%    /home
/dev/md/dsk/d0  37003037      9 33302728  1%   /raid5
swap                  945936       8  945928     1%    /tmp
duo#


参考文献



広告スペース
Google