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を編集する.
# #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ファイルには,各メタデバイスを構成する時のサンプルがかかれている.
/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コマンドでステータスを確認する.
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.ファイルシステム作成
作成したメタデバイスは,ファイルシステムの無い状態なので,作成する. これは普通のファイルシステムと同様に作成すればよい.
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秒
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# |
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.確認
リブートし,マウントされることを確認する.
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# |
参考文献
- DiskSuite関連
- Solstice DiskSuite4.0
- 一般
- DiskSuite4.0でRAID5環境を作る
- ファイルシステムの作成とマウント
- 状態チェック
- Solstice DiskSuite4.0
- 関連