■disksuiteのインストール作業と設定から運用まで 手順概要 ---------------------------------------------------------------- ○DiskSuiteのインストール ミラーリングをするために、 データとディスクドライブを管理するためのソフトウェア「Solstice DiskSuite」をインストールする。 ○ミラー元のスライスとミラー先のスライスを同じサイズにする。 ミラーリングをするためには、ミラー元とミラー先のスライスは同じサイズにしなければならない。 ○状態データベース(MetaDB)の複製 メタデバイスの状態データベースのコピーを取っておくと、メタデバイスの操作に必要な状態および構成情報の消失を防ぐことができる。 ここでは専用のスライスを用意し、そこへ状態データベースの複製を置く。 ○ミラーリング設定 ミラーを作成する前に、ミラーを構成するストライプ方式メタデバイスまたは連結方式メタデバイスを作成する。 ・metainit(1M) -f を使用して、ファイルシステムのスライスを単一スライス (1 面目) の連結方式 (サブミラー 1) に置く。 ・2 面目の連結方式 (サブミラー 2) の作成 metainit(1M) を使用して、サブミラー 1 から 1 面ミラーを作成 ファイルシステムがミラーを参照するよう、/etc/vfstab ファイルを編集 リブートする metattach(1M) を使用してサブミラー 2 を接続 → 同期が始まる 同期が100%までいけばミラーリング設定終了 ミラーデバイスの障害発生に備えて、代替ブートディスクの path をペーパーメディア等に記録しておきます ---------------------------------------------------------------- ※参考資料 docs.sun.com Solstice DiskSuite 4.2.1 ユーザーズガイド >> 2. DiskSuite オブジェクトの作成 >> ミラーの作成 ●disksuiteのインストール ○cdrom(software2/2)をシステムに挿入する。 #cd /cdrom/sol_8_202_sparc_2/Solaris_8/EA/products/DiskSuite_4.2.1/sparc/Packages に移動する。 ○allで、全てのdisksuiteのパッケージをインストールを行う。 #pkgadd -d . を実行する。 ----------- 次のパッケージを利用できます: 1 SUNWlvma Solaris Volume Management API's (sparc) 1.0,REV=2001.11.02.03.17 2 SUNWlvmg Solaris Volume Management Application (sparc) 1.0,REV=2001.11.14.03.19 3 SUNWlvmr Solaris Volume Management (root) (sparc) 1.0,REV=2001.11.14.03.19 4 SUNWmdg Solstice DiskSuite Tool (sparc) 4.2.1,REV=1999.11.04.18.29 5 SUNWmdja Solstice DiskSuite Japanese localization (sparc) 4.2.1,REV=1999.12.09.15.37 6 SUNWmdnr Solstice DiskSuite Log Daemon Configuration Files (sparc) 4.2.1,REV=1999.11.04.18.29 7 SUNWmdnu Solstice DiskSuite Log Daemon (sparc) 4.2.1,REV=1999.11.04.18.29 8 SUNWmdr Solstice DiskSuite Drivers (sparc) 4.2.1,REV=1999.12.03.10.00 9 SUNWmdu Solstice DiskSuite Commands (sparc) 4.2.1,REV=1999.11.04.18.29 10 SUNWmdx Solstice DiskSuite Drivers(64-bit) (sparc) 4.2.1,REV=1999.11.04.18.29 パッケージ (複数可) を選択してください (すべてのパッケージを 処理するには 'all' を入力してください)。 (default: all) [?,??,q]: enterを押す。 ○以下の内容でインストール終了するので、再起動を行う。 *** 重要な注意事項 *** 正常な動作を保証するためには、このマシンをリブートする必要が あります。 shutdown -y -i6 -g0 を実行して、 "Console Login:" プロンプトが表示されるのをお待ちください。 ●disk情報を確認のため、formatコマンド実行 # format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c1t0d0 /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000004cf5c8457,0 1. c1t1d0 /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000004cf5c8311,0 Specify disk (enter its number):1 ○ディスク番号を選択すると、以下のメニューが表示される。 ・disksuiteでは、ディスクを同じ構成(スライス構成)にしなければいけないので、ミラー元(ディスク0)と ミラー対象先(ディスク1)の、情報を確認する。 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 ○partitionを選択すると、以下が表示される。 format> p PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk ! - execute , then return quit ○printを設定すると、以下が表示される。 partition> p Current partition table (original): Total disk cylinders available: 14087 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 25 129.19MB (26/0/0) 264576 1 swap wu 26 - 51 129.19MB (26/0/0) 264576 2 backup wu 0 - 14086 68.35GB (14087/0/0) 143349312 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 usr wm 52 - 14086 68.10GB (14035/0/0) 142820160 7 unassigned wm 0 0 (0/0/0) 0 ○ディスクのスライス内容を変更する。 ・メニューを表示する。 partition> p PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk ! - execute , then return quit ・ミラー元のディスク情報の確認。 ミラー元の情報 (例) -------------------------- partition> p Current partition table (original): Total disk cylinders available: 14087 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 1006 4.89GB (1007/0/0) 10247232 1 usr wm 1007 - 1208 1003.69MB (202/0/0) 2055552 2 backup wm 0 - 14086 68.35GB (14087/0/0) 143349312 3 var wm 1209 - 2215 4.89GB (1007/0/0) 10247232 4 swap wu 2216 - 3021 3.91GB (806/0/0) 8201856 5 unassigned wm 3022 - 6040 14.65GB (3019/0/0) 30721344 6 usr wm 6041 - 9059 14.65GB (3019/0/0) 30721344 7 home wm 9060 - 14086 24.39GB (5027/0/0) 51154752 ---------------------- ・ミラー先のディスクスライス設定を行なう。0〜7のスライス番号を入力する。 partition> 0 を入力 (例) -------------------- partition> 0 Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 25 129.19MB (26/0/0) 264576 Enter partition id tag[root]: Enter partition permission flags[wm]: Enter new starting cyl[0]: Enter partition size[264576b, 26c, 129.19mb, 0.13gb]: <-- 容量だと誤差が生じるので、ブロック数で設定する。 ----------------- 最終的な設定内容 Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 - 1006 4.89GB (1007/0/0) 10247232 1 unassigned wm 1007 - 1208 1003.69MB (202/0/0) 2055552 <-- このスライスをmetadb用に割り当てた 2 backup wm 0 - 14086 68.35GB (14087/0/0) 143349312 3 unassigned wm 1209 - 2215 4.89GB (1007/0/0) 10247232 4 unassigned wu 2216 - 3021 3.91GB (806/0/0) 8201856 5 unassigned wm 3022 - 6041 14.65GB (3020/0/0) 30731520 6 unassigned wm 6042 - 9060 14.65GB (3019/0/0) 30721344 7 unassigned wm 9061 - 14086 24.39GB (5026/0/0) 51144576 ○設定後、labelを書く ・一つ前に戻る。 partition> q 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> label Ready to label disk, continue? y ・yを入力して、enterを押す。 ○ミラー対象先ディスクでformatを実行する。 format> format Ready to format. Formatting cannot be interrupted and takes 169 minutes (estimated). Continue? y Beginning format. The current time is Mon Apr 8 09:10:34 2002 Formatting... ・終了するまで待つ。 ○作成したスライスに、newfsを実行する。 ・/dev/dsk/c1t1d0s2は、実行しなくてよい。 #newfs -v /dev/dsk/c1t1d0s0 #newfs -v /dev/dsk/c1t1d0s1 #newfs -v /dev/dsk/c1t1d0s3 #newfs -v /dev/dsk/c1t1d0s4 #newfs -v /dev/dsk/c1t1d0s5 #newfs -v /dev/dsk/c1t1d0s6 #newfs -v /dev/dsk/c1t1d0s7 (例) -------------------- newfs: construct a new file system /dev/rdsk/c1t1d0s5: (y/n)? y ・yを入力すると、FSの作成が始まる。 mkfs -F ufs /dev/rdsk/c1t1d0s7 51144576 424 24 8192 1024 203 1 167 8192 t 0 -1 8 128 /dev/rdsk/c1t1d0s7: 全セクタ数: 51144576 (シリンダ数: 5026、トラック数: 24、セクタ数: 424) 24972.9MB、503 シリンダグループ (10 c/g, 49.69MB/g, 6016 i/g) スーパーブロックのバックアップの位置 (fsck -F ufs -o b=# のため) : 32, 102224, 204416, 306608, 408800, 510992, 613184, 715376, 817568, 919760, 1021952, 1124144, 1226336, 1328528, 1430720, 1532912, 1635104, 1737296, 1839488, 1941680, 2043872, 2146064, 2248256, 2350448, 2452640, 2554832, 2657024, 2759216, 2861408, 2963600, 3065792, 3167984, 3256352, 3358544, -------- ●disksuiteの設定前に、ファイルのバックアップ作業を行っておく。 ・/etc/vfstabと/etc/systemと/etc/lvm/md.tabのバックアップを行う。 ・/etc/lvmのmd.tabの設定をする。 ●metadbのための、スライス指定 ・通常metadb用スライスは、最後に持ってくるが、今回は空きスライスが確保できないため、 /dev/dsk/c1t0d0s1の/usr/openwinのディレクトリを、削除した。 その際、/dev/dsk/c1t0d0s1の/usr/openwinの内容は、シングルユーザでそっくり/usr/openwinに にコピーを行った。 ○ディスク0とディスク1のスライス1をそれぞれ指定する。 # metadb -a -f /dev/dsk/c1t0d0s1 /dev/dsk/c1t1d0s1 ○metadbの内容確認 # metadb -i フラグ 最初のブロック ブロック数 a u 16 1034 /dev/dsk/c1t0d0s1 a u 16 1034 /dev/dsk/c1t1d0s1 o - 複製は最後の mddb 構成変更の前までアクティブでした u - 複製は最新です l - この複製のロケータは無事読み込まれました c - 複製の場所は /etc/lvm/mddb.cf です p - 複製の場所はカーネルにパッチされました m - 複製はマスターです。この複製は入力として選択されています W - 複製にはデバイス書き込みエラーがあります a - 複製はアクティブです。確定操作はこの複製に対して行われます M - 複製はマスターブロックで問題を起こしました D - 複製はデータブロックで問題を起こしました F - 複製はフォーマット問題を起こしました S - 複製は現在のデータベースを入れるには小さすぎます R - 複製はデバイス読み込みエラーを起こしました ●metainitの実行 ○md.tabの設定を元に、metainitを実行する。 ○ミラー対象ディスクを、metainitする。 # metainit d12 d12: 連結/ストライプがセットアップされます # metainit d32 d32: 連結/ストライプがセットアップされます # metainit d42 d42: 連結/ストライプがセットアップされます # metainit d52 d52: 連結/ストライプがセットアップされます # metainit d62 d62: 連結/ストライプがセットアップされます # metainit d72 d72: 連結/ストライプがセットアップされます ○ミラー元ディスクを、metainitするが、マウントされているので、オプションは"-f"をつける。 # metainit -f d11 d11: 連結/ストライプがセットアップされます # metainit -f d31 d31: 連結/ストライプがセットアップされます # metainit -f d41 d41: 連結/ストライプがセットアップされます # metainit -f d51 d51: 連結/ストライプがセットアップされます # metainit -f d61 d61: 連結/ストライプがセットアップされます # metainit -f d71 d71: 連結/ストライプがセットアップされます ○ミラーディスクに、metainitする。 # metainit d10 d10: ミラーがセットアップされます # metainit d30 d30: ミラーがセットアップされます # metainit d40 d40: ミラーがセットアップされます # metainit d50 d50: ミラーがセットアップされます # metainit d60 d60: ミラーがセットアップされます # metainit d70 d70: ミラーがセットアップされます ●metarootの実行 ○rootとなるディスク(ミラーディスク)を指定する。 この実行で、/etc/vfstabと/etc/systemの内容が変更される。 # metaroot d10 ●vfstabを以下に修正 ○再起動する前に、/etc/vfstabを修正する。 # more 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 - add> /dev/md/dsk/d40 - - swap - no - #/dev/dsk/c1t0d0s4 - - swap - no - add> /dev/md/dsk/d10 /dev/md/rdsk/d10 / ufs 1 no - add> /dev/md/dsk/d60 /dev/md/rdsk/d60 /usr ufs 1 no - add> /dev/md/dsk/d30 /dev/md/rdsk/d30 /var ufs 1 no - add> /dev/md/dsk/d70 /dev/md/rdsk/d70 /export/home ufs 2 yes - add> /dev/md/dsk/d50 /dev/md/rdsk/d50 /opt ufs 2 yes - add> swap - /tmp tmpfs - yes - #/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 / ufs 1 no - #/dev/dsk/c1t0d0s6 /dev/rdsk/c1t0d0s6 /usr ufs 1 no - #/dev/dsk/c1t0d0s3 /dev/rdsk/c1t0d0s3 /var ufs 1 no - #/dev/dsk/c1t0d0s7 /dev/rdsk/c1t0d0s7 /export/home ufs 2 yes - #/dev/dsk/c1t0d0s5 /dev/rdsk/c1t0d0s5 /opt ufs 2 yes - #swap - /tmp tmpfs - yes - ●システムの再起動 # shutdown -i6 -g0 -y Shutdown started. 2002年04月10日 (水) 17時08分23秒 JST Changing to init state 6 - please wait Broadcast Message from root (pts/1) on intra-t (水) 4月 10 17:08:... THE SYSTEM intra-t IS BEING SHUT DOWN NOW ! ! ! Log off now or risk your files being damaged ●metattachの実行 ○この実行でミラーリングが実行され、同期がはじまるのでディスク容量に従って、数時間ディスクのアクセスが増大する。 # metattach d10 d12 d10: サブミラー d12 は接続中 # metattach d30 d32 d30: サブミラー d32 は接続中 # metattach d40 d42 d40: サブミラー d42 は接続中 # metattach d50 d52 d50: サブミラー d52 は接続中 # metattach d60 d62 d60: サブミラー d62 は接続中 # metattach d70 d72 d70: サブミラー d72 は接続中 ●metastatで、再同期の確認を行う。 ○同期確認、%で表示されているので、確認していく。 # metastat d10: ミラー サブミラー 0: d11 状態: 正常 サブミラー 1: d12 状態: 再同期中 再同期実行中: 5 % 完了 パス: 1 読み込みオプション: ラウンドロビン (巡回的) (デフォルト) 書き込みオプション: 並列処理的 (デフォルト) サイズ: 10247232 ブロック d11: d10 のサブミラー 状態: 正常 サイズ: 10247232 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t0d0s0 0 いいえ 正常 d12: d10 のサブミラー 状態: 再同期中 サイズ: 10247232 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t1d0s0 0 いいえ 正常 d30: ミラー サブミラー 0: d31 状態: 正常 サブミラー 1: d32 状態: 再同期中 再同期実行中: 0 % 完了 パス: 1 読み込みオプション: ラウンドロビン (巡回的) (デフォルト) 書き込みオプション: 並列処理的 (デフォルト) サイズ: 10247232 ブロック d31: d30 のサブミラー 状態: 正常 サイズ: 10247232 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t0d0s3 0 いいえ 正常 d32: d30 のサブミラー 状態: 再同期中 サイズ: 10247232 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t1d0s3 0 いいえ 正常 d40: ミラー サブミラー 0: d41 状態: 正常 サブミラー 1: d42 状態: 再同期中 再同期実行中: 0 % 完了 パス: 1 読み込みオプション: ラウンドロビン (巡回的) (デフォルト) 書き込みオプション: 並列処理的 (デフォルト) サイズ: 8201856 ブロック d41: d40 のサブミラー 状態: 正常 サイズ: 8201856 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t0d0s4 0 いいえ 正常 d42: d40 のサブミラー 状態: 再同期中 サイズ: 8201856 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t1d0s4 0 いいえ 正常 d50: ミラー サブミラー 0: d51 状態: 正常 サブミラー 1: d52 状態: 再同期中 再同期実行中: 0 % 完了 パス: 1 読み込みオプション: ラウンドロビン (巡回的) (デフォルト) 書き込みオプション: 並列処理的 (デフォルト) サイズ: 30731520 ブロック d51: d50 のサブミラー 状態: 正常 サイズ: 30731520 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t0d0s5 0 いいえ 正常 d52: d50 のサブミラー 状態: 再同期中 サイズ: 30731520 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t1d0s5 0 いいえ 正常 d60: ミラー サブミラー 0: d61 状態: 正常 サブミラー 1: d62 状態: 再同期中 再同期実行中: 0 % 完了 パス: 1 読み込みオプション: ラウンドロビン (巡回的) (デフォルト) 書き込みオプション: 並列処理的 (デフォルト) サイズ: 30721344 ブロック d61: d60 のサブミラー 状態: 正常 サイズ: 30721344 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t0d0s6 0 いいえ 正常 d62: d60 のサブミラー 状態: 再同期中 サイズ: 30721344 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t1d0s6 0 いいえ 正常 d70: ミラー サブミラー 0: d71 状態: 正常 サブミラー 1: d72 状態: 再同期中 再同期実行中: 0 % 完了 パス: 1 読み込みオプション: ラウンドロビン (巡回的) (デフォルト) 書き込みオプション: 並列処理的 (デフォルト) サイズ: 51144576 ブロック d71: d70 のサブミラー 状態: 正常 サイズ: 51144576 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t0d0s7 0 いいえ 正常 d72: d70 のサブミラー 状態: 再同期中 サイズ: 51144576 ブロック ストライプ 0: デバイス 開始ブロック MetaDB 状態 ホットスペア c1t1d0s7 0 いいえ 正常 ●全てのスライスで再同期が終了したら(再同期実行中100%で正常になる)ミラーリング作業の終了。 ○ミラーデバイスの障害発生に備えて、代替ブートディスクの path をペーパーメディア等に記録しておきます intra-t /dev/rdsk/c1t1d0s0 lrwxrwxrwx 1 root root 74 3月 27日 2002年 /dev/rdsk/c1t1d0s0 -> ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000004cf5c8355,0:a,raw intra-b /dev/rdsk/c1t1d0s0 lrwxrwxrwx 1 root root 74 3月 27日 2002年 /dev/rdsk/c1t1d0s0 -> ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000004cf5c8311,0:a,raw fss-a /dev/rdsk/c1t1d0s0 lrwxrwxrwx 1 root root 74 6月 28日 18:21 /dev/rdsk/c1t1d0s0 -> ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000004cf6b2018,0:a,raw fsdb-a /dev/rdsk/c1t1d0s0 lrwxrwxrwx 1 root root 74 6月 28日 17:20 /dev/rdsk/c1t1d0s0 -> ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000004cf6b240a,0:a,raw fss-b /dev/rdsk/c1t1d0s0 lrwxrwxrwx 1 root root 74 10月 28日 18:09 /dev/rdsk/c1t1d0s0 -> ../../devices/pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000004cf6b1faf,0:a,raw