|
|
DiskSuite4.2 によるミラーリング
|
■ミラー先のディスクの準備
ディスクのミラーを行うには、元のディスクとミラーを構成するディスクの容量・パーティションがすべて同じでなければなりません。
そのためあらかじめformatコマンドを使って、ミラー先のディスクを作っておく必要があります。
ここではパーティション構成済みということを前提に、フォーマットの方法を説明します。
■今回のディスク構成
c0t0d0:大本のシステムインストールディスク
c0t1d0:システムのミラーリングディスク
c0t2d0:/export/home,/export/home2
まずはrootになりformatを行う。
% su
Password:
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0
/sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@0,0
1. c0t1d0
/sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@1,0
2. c0t2d0
/sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@2,0
Specify disk (enter its number): 1
selecting c0t1d0
[disk formatted]
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
inquiry - show vendor, product and revision
volname - set 8-character volume name
! - execute , then return
quit
format> verify
Primary label contents:
Volume name = < >
ascii name =
pcyl = 3500
ncyl = 2733
acyl = 2
nhead = 19
nsect = 80
Part Tag Flag Cylinders Size Blocks
0 root wm 0 - 202 150.66MB (203/0/0) 308560
1 swap wu 203 - 892 512.11MB (690/0/0) 1048800
2 backup wm 0 - 2732 1.98GB (2733/0/0) 4154160
3 var wm 893 - 1229 250.12MB (337/0/0) 512240
4 unassigned wm 1230 - 1236 5.20MB (7/0/0) 10640
5 unassigned wm 1237 - 1573 250.12MB (337/0/0) 512240
6 usr wm 1574 - 2732 860.20MB (1159/0/0) 1761680
7 unassigned wm 0 0 (0/0/0) 0
format> format
Ready to format. Formatting cannot be interrupted
and takes 31 minutes (estimated). Continue?
Continue? y
Beginning format. The current time is Wed Jan 27 20:34:38 1999
Formatting...
done
Verifying media...
pass 0 - pattern = 0xc6dec6de
0/0/0 0/1/46 0/3/12 0/4/58 0/6/24 0/7/70 0/9/36..........
pass 1 - pattern = 0x6db6db6d
0/0/0 0/1/46 0/3/12 0/4/58 0/6/24 0/7/70 0/9/36..........
Total of 0 defective blocks repaired.
format> quit
フォーマットが終了したら、作ったすべてのパーティションにnewfsを実行する。
/dev/dsk/c0t1d0s2のbackupとなっている部分にはnewfsを行わなくていい。
# newfs -v /dev/dsk/c0t1d0s0
# newfs -v /dev/dsk/c0t1d0s1
# newfs -v /dev/dsk/c0t1d0s3
# newfs -v /dev/dsk/c0t1d0s4
# newfs -v /dev/dsk/c0t1d0s5
# newfs -v /dev/dsk/c0t1d0s6
|
■DiskSuite4.2インストール
DiskSuiteの設定を始めます。
Solaris7のパッケージに入っているSolaris Easy Access Server 2.0のCD-ROMを準備します。
特に必要がなければ、カスタムインストールでDiskSuite4.2だけを選択してインストールを行います。
デフォルトでは
/usr/opt/SUNWmd
/etc/opt/SUNWmd
にインストールされますが、必要に応じてディレクトリを変更してもよろしいかと思います。
インストールが終了したら一度、再起動を行いましょう。
■DiskSuite4.2の設定
はじめに /etc/opt/SUNWmd/md.tab を記述します。
# ls /etc/opt/SUNWmd/md.tab
# root
/dev/md/dsk/d10 1 1 /dev/dsk/c0t0d0s0
/dev/md/dsk/d20 1 1 /dev/dsk/c0t1d0s0
/dev/md/dsk/d0 -m /dev/md/dsk/d10
# swap
/dev/md/dsk/d11 1 1 /dev/dsk/c0t0d0s1
/dev/md/dsk/d21 1 1 /dev/dsk/c0t1d0s1
/dev/md/dsk/d1 -m /dev/md/dsk/d11
# var
/dev/md/dsk/d13 1 1 /dev/dsk/c0t0d0s3
/dev/md/dsk/d23 1 1 /dev/dsk/c0t1d0s3
/dev/md/dsk/d3 -m /dev/md/dsk/d13
# opt
/dev/md/dsk/d15 1 1 /dev/dsk/c0t0d0s5
/dev/md/dsk/d25 1 1 /dev/dsk/c0t1d0s5
/dev/md/dsk/d5 -m /dev/md/dsk/d15
# usr
/dev/md/dsk/d16 1 1 /dev/dsk/c0t0d0s6
/dev/md/dsk/d26 1 1 /dev/dsk/c0t1d0s6
/dev/md/dsk/d6 -m /dev/md/dsk/d16
|
DiskSuite4.2 のコマンドは /usr/opt/SUNWmd/sbin 以下にインストールされます。
次に metadb コマンドを使ってまずは状態保存DBの作成を行います。
# pwd
/usr/opt/SUNWmd/sbin
# ls
growfs metadetach metaonline metaroot metatool
mdlogd metahs metaparam metaset metattach
metaclear metainit metarename metastat rpc.metad
metadb metaoffline metareplace metasync rpc.metamhd
# ./metadb -a -f -c2 /dev/dsk/c0t0d0s4 /dev/dsk/c0t1d0s4
|
metainit で仮想ディスクドライブの作成を行うが、その前に /etc/vfstab と/etc/system のバックアップを行っておく。
バックアップを行ったら metainit を実行し、最後に metaroot を行います。
metaroot を実行すると、 /etc/vfstab:/etc/system が自動的に書き換えられます。
# pwd
/usr/opt/SUNWmd/sbin
# ./metainit d20
d20: 連結/ストライプがセットアップされます
# ./metainit /dev/md/dsk/d21
d21: 連結/ストライプがセットアップされます
# ./metainit /dev/md/dsk/d23
d23: 連結/ストライプがセットアップされます
# ./metainit d25
d25: 連結/ストライプがセットアップされます
# ./metainit d26
d26: 連結/ストライプがセットアップされます
#
#
#
#
# ./metainit -f d10
d10: 連結/ストライプがセットアップされます
# ./metainit -f d11
d11: 連結/ストライプがセットアップされます
# ./metainit -f /dev/md/dsk/d13
d13: 連結/ストライプがセットアップされます
# ./metainit -f d15
d15: 連結/ストライプがセットアップされます
# ./metainit -f d16
d16: 連結/ストライプがセットアップされます
#
#
#
# ./metainit d0
d0: ミラーがセットアップされます
# ./metainit d1
d1: ミラーがセットアップされます
# ./metainit d3
d3: ミラーがセットアップされます
# ./metainit /dev/md/dsk/d5
d5: ミラーがセットアップされます
# ./metainit d6
d6: ミラーがセットアップされます
#
# ./metaroot d0
#
|
■vfstab記述
vfstab を書き換えます。
metaroot を実行した時に / だけは書き換えられているはずなので、/ 以外のディレクトリを書き換えます。
今回は以下のような設定になります。
#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/md/dsk/d1 - - swap - no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -
/dev/md/dsk/d6 /dev/md/rdsk/d6 /usr ufs 1 no -
/dev/md/dsk/d3 /dev/md/rdsk/d3 /var ufs 1 no -
/dev/md/dsk/d5 /dev/md/rdsk/d5 /opt ufs 2 yes -
#/dev/dsk/c0t2d0s6 /dev/rdsk/c0t2d0s6 /export/home ufs 2 yes -
#/dev/dsk/c0t2d0s7 /dev/rdsk/c0t2d0s7 /export/home2 ufs 2 yes -
swap - /tmp tmpfs - yes -
|
■metattach,metastat
ここまでできたら再起動を行います。
再起動が終わったら、root になりミラーリングを開始させます。
どのくらいミラーリングが終了しているのか確認するには、 metastat コマンドを使用します。
ミラーリングが終了しないうちに再起動などを行うと、システムが壊れます。注意しましょう。
# pwd
/usr/opt/SUNWmd/sbin
# ls
growfs metadetach metaonline metaroot metatool
mdlogd metahs metaparam metaset metattach
metaclear metainit metarename metastat rpc.metad
metadb metaoffline metareplace metasync rpc.metamhd
# ./metattach /dev/md/dsk/d0 /dev/md/dsk/d20
d0: サブミラー d20 は接続中
# ./metattach /dev/md/dsk/d1 /dev/md/dsk/d21
d1: サブミラー d21 は接続中
# ./metattach d3 d23
d3: サブミラー d23 は接続中
# ./metattach d5 d25
d5: サブミラー d25 は接続中
# ./metattach d6 d26
d6: サブミラー d26 は接続中-
#
# ./metastat
d0: ミラー
サブミラー 0: d10
状態: 正常
サブミラー 1: d20
状態: 正常
パス: 1
読み込みオプション: ラウンドロビン (巡回的) (デフォルト)
書き込みオプション: 並列処理的 (デフォルト)
サイズ: 308560 ブロック
d10: d0 のサブミラー
状態: 正常
サイズ: 308560 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t0d0s0 0 いいえ 正常
d20: d0 のサブミラー
状態: 正常
サイズ: 308560 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t1d0s0 0 いいえ 正常
d1: ミラー
サブミラー 0: d11
状態: 正常
サブミラー 1: d21
状態: 再同期中
再同期実行中: 27 % 完了
パス: 1
読み込みオプション: ラウンドロビン (巡回的) (デフォルト)
書き込みオプション: 並列処理的 (デフォルト)
サイズ: 1048800 ブロック
d11: d1 のサブミラー
状態: 正常
サイズ: 1048800 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t0d0s1 0 いいえ 正常
d21: d1 のサブミラー
状態: 再同期中
サイズ: 1048800 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t1d0s1 0 いいえ 正常
d3: ミラー
サブミラー 0: d13
状態: 正常
サブミラー 1: d23
状態: 再同期中
再同期実行中: 8 % 完了
パス: 1
読み込みオプション: ラウンドロビン (巡回的) (デフォルト)
書き込みオプション: 並列処理的 (デフォルト)
サイズ: 512240 ブロック
d13: d3 のサブミラー
状態: 正常
サイズ: 512240 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t0d0s3 0 いいえ 正常
d23: d3 のサブミラー
状態: 再同期中
サイズ: 512240 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t1d0s3 0 いいえ 正常
d5: ミラー
サブミラー 0: d15
状態: 正常
サブミラー 1: d25
状態: 再同期中
再同期実行中: 2 % 完了
パス: 1
読み込みオプション: ラウンドロビン (巡回的) (デフォルト)
書き込みオプション: 並列処理的 (デフォルト)
サイズ: 512240 ブロック
d15: d5 のサブミラー
状態: 正常
サイズ: 512240 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t0d0s5 0 いいえ 正常
d25: d5 のサブミラー
状態: 再同期中
サイズ: 512240 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t1d0s5 0 いいえ 正常
d6: ミラー
サブミラー 0: d16
状態: 正常
サブミラー 1: d26
状態: 再同期中
再同期実行中: 0 % 完了
パス: 1
読み込みオプション: ラウンドロビン (巡回的) (デフォルト)
書き込みオプション: 並列処理的 (デフォルト)
サイズ: 1761680 ブロック
d16: d6 のサブミラー
状態: 正常
サイズ: 1761680 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t0d0s6 0 いいえ 正常
d26: d6 のサブミラー
状態: 再同期中
サイズ: 1761680 ブロック
ストライプ 0:
デバイス 開始ブロック MetaDB 状態 ホットスペア
c0t1d0s6 0 いいえ 正常
|
■ミラーリング以外のディスクのマウント
ここまでで、ミラーリング作業は終了します。
今回、 /export/home,/export/home2 用のディスク(c0t2d0)も用意しているので、そのディスクもマウントしておきます。
まず、 /export/home:/export/home2 を作成しておきます。ディレクトリが存在していないとエラーが起こります。(起動はしますが。。。)
# mkdir /export/home /export/home2
|
vfstab を書き換えて、再起動するとディスクがマウントされます。
# more /etc/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/md/dsk/d1 - - swap - no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -
/dev/md/dsk/d6 /dev/md/rdsk/d6 /usr ufs 1 no -
/dev/md/dsk/d3 /dev/md/rdsk/d3 /var ufs 1 no -
/dev/md/dsk/d5 /dev/md/rdsk/d5 /opt ufs 2 yes -
/dev/dsk/c0t2d0s6 /dev/rdsk/c0t2d0s6 /export/home ufs 2 yes -
/dev/dsk/c0t2d0s7 /dev/rdsk/c0t2d0s7 /export/home2 ufs 2 yes -
swap - /tmp tmpfs - yes -
|
以上で DiskSuite 4.2 を使ったディスクのミラーリングは終了です。
365日24時間休むことなく稼動するシステムのディスク故障は日常茶飯事です。
ミラーリングは必ず行ってから、システムを構築するように心がけましょう。
Copyright 2002
MINTIA.NET All rights reserved. |