BigAdmin System Administration Portal
投稿 Tech Tip: Solaris ボリュームマネージャーソフトウェアを使用したブートディスクのミラー化
Print-friendly VersionPrint-friendly Version
この記事は、BigAdmin ユーザーの投稿です。 Sun Microsystems では、読みやすくするために若干の編集を行なった箇所もありますが、技術的な正確さについては見直していません。 間違いを見つけた場合や記事にコメントする場合は、投稿者に連絡するか、記事の末尾にある「コメント:」フィールドを使用してください。 コミュニティーの投稿は、Sun の商標ガイドラインに従っていない場合があります。 Sun の商標については、http://www.sun.com/suntrademarks/ を参照してください。
 
 

Solaris ボリュームマネージャーソフトウェアを使用したブートディスクのミラー化

執筆者: Sivakanth Mundru

対象となる OS バージョン: Solaris 9 オペレーティングシステム (OS)、および、Solstice DiskSuite 4.2.1 ソフトウェア (108693-06 のパッチ適用) がインストールされた SPARC 版 Solaris 8 OS

注:この内容がそのまますべてのユーザーに対して機能するとは保証できません。必要に応じて調整してください。

以降の手順では、無作為にコントローラやターゲットを使用した可能性があります。これらはホストごとに異なる場合があります。

また、同じコントローラを介してミラー化を行うと、そのコントローラが引き続きシングルポイント障害となるので、代わりに、複数のコントローラを介してミラー化を行うとよいでしょう。

1) 重要な予防措置

作業を進める前に、/etc/vfstab/etc/system のコピーを作成します。

cp -p /etc/system /etc/system.orig."日付"

cp -p /etc/vfstab /etc/vfstab.orig."日付"

/etc/system が乱雑になってしまった場合でも、OK プロンプトからコマンド boot -a に次のように指定できます。

/etc/system.orig."日付"

2) ルートディスクをミラー化するために、データの入っていない別のディスクを用意しておきます。

3) ボリュームデータベースを格納するために 25M バイト (10M バイトでも可) の小さいスライスをルートディスク上に作成し、ディスクにラベルを付けます。

ルートディスク上に空き領域がまったくない場合は、スワップ空間を削除してから追加し直すことによって、小さいスライスを作成します。

この作業を行う間、コンピュータ上で大量のアクティビティーが発生しないようにしてください。

3.1) swap -l を使用してスワップを一覧表示します。

(スワップとして設定されているスライスが複数ある場合に役立ちます。)

3.2) 次のコマンドを実行します。

swap -d swap-name ( /dev/dsk/c?ct?d?s?)

新しいスライスを組み込むために、パーティションテーブルを変更してスワップパーティションのサイズまたはシリンダ長を縮小します。

3.3) 次のコマンドを実行します。

swap -a swap-name ( /dev/dsk/c?t?d?s?) 

4) ルートディスクとルートミラーとで、VTOC (ボリューム構成テーブル) は同じでなければなりません。prtvtocfmthard を使用して VTOC をコピーします。

# prtvtoc /dev/rdsk/c?t?d?s2 | fmthard -s - /dev/rdsk/c?t?d?s2

5) ルートディスク上に作成した小さいスライスにメタデータベースを作成します。

# metadb -f -a -c3 c?t?d?s6 (このスライス 6 は私の小さいスライスです)
# metadb -a -c3 c?t?d?s6 (ルートミラー上のスライス 6)

6) 次に、パーティションテーブル内のすべてのスライスに対して、それぞれミラーを作成します。

ルート (/) パーティションの場合は、次のようにします。

# metainit -f d10 1 1 c?t?d?s? 

# metainit d20 1 1 c?t?d?s?

(メタデバイス d0 を作成し、サブミラーを 1 つ接続します)
# metainit d0 -m d10 

(ルート (/) メタデバイスのシステムファイルを設定します。つまり、/etc/system と /etc/vfstab に変更を加えます)

# metaroot d0 

# lockfs -fa (マウントされているすべての UFS ファイルシステムから不適切なファイルロックを消去します)

7) ほかのメタディスクの命名規則が続きます。(このソフトウェアをはじめて使用するユーザーへの注意: metaroot および lockfs の手順は、ほかのファイルシステムに対しては実行しません。)

サブミラーには、d10d20 などの名前が付けられます。

d10 の場合、1 はサブミラー番号、0 はスライス番号です。

スワップがパーティション/スライス 1 に存在する場合は、次のようにします。

# metainit -f d11 1 1 c?t?d?s1

# metainit d21 1 1 c?t?d?s1

# metainit d1 -m d11

8) ブートディスク上にあるすべてのファイルシステムに対して、同じ作業を繰り返します。

9) /etc/vfstab に変更を加えます。ルートの md エントリは、metaroot コマンドによってすでに更新されているはずです。

/etc/vfstab の例を次に示します。

#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
##/dev/dsk/c1t1d0s1 - - swap - no -
/dev/md/dsk/d1 - - swap - no -
/dev/md/dsk/d0 /dev/md/rdsk/d0 / ufs 1 no -
##/dev/dsk/c1t1d0s7 /dev/rdsk/c1t1d0s7 /export/home ufs 2 yes -
/dev/md/dsk/d7 /dev/md/rdsk/d7 /export/home ufs 2 yes -
##/dev/dsk/c1t1d0s3 /dev/rdsk/c1t1d0s3 /opt/uc4 ufs 2 yes -
/dev/md/dsk/d3 /dev/md/rdsk/d3 /opt/uc4 ufs 2 yes -
swap - /tmp tmpfs - yes -

10) dumpadm を使用してダンプデバイスを設定します。

11) /etc/system ファイルの mdd info セクションに、次のエントリを作成します。

set md:mirrored_root_flag=1

ルートディスクが使用できなくなると、ルートディスク上に格納されているデータベースのコピーも使用できなくなります。

Solaris ボリュームマネージャーソフトウェアでは、50 パーセントより多くのデータベースが使用可能であることを正常なブートアップの前提としており、そうでない場合はデータベースの複製の数が不足しているというエラーが発生することがあります。上記の変更を加えるのは、少なくとも 50 パーセントのコピーがあれば Solaris ボリュームマネージャーソフトウェアがブートアップできるからです。

12) 次のコマンドを実行します。

sync; sync; init 6

13) システムが起動したら、その他のサブミラーを接続します。

# metattach d0 d20

注:「metaattach」ではなく「metattach」です)

# metattach d1 d21 

以下同様に続けます。

14) ファイルシステムの同期が完了したかどうかを確認するには、次のコマンドを実行します。

metastat | grep progress 

15) 主ブートデバイスとミラーブートデバイスの両方について、デバイスパスを調べます。

ls -l /dev/dsk/c1t1d0s0 /dev/dsk/c1t0d0s0
lrwxrwxrwx 1 root root 43 Dec 23 17:51 /dev/dsk/c1t0d0s0 -> \
   ../../devices/pci@1c,600000/scsi@2/sd@0,0:a
lrwxrwxrwx 1 root root 43 Dec 23 17:51 /dev/dsk/c1t1d0s0 -> \
   ../../devices/pci@1c,600000/scsi@2/sd@1,0:a

# eeprom "nvramrc=devalias rootdisk /pci@1c,600000/scsi@2/disk@1,0 
devalias rootmirror /pci@1c,600000/scsi@2/disk@0,0"

(ls -l の出力を使用する際、「sd」を「disk」に変更することに留意してください。)

# eeprom "use-nvramrc?=true"

boot-device の値を変更して、それらのブートデバイスのいずれかが使用できなくなった場合にシステムがミラーからのブートを試みるようにすることもできます。

# eeprom boot-device="rootdisk rootmirror net"

16) 同期が完了したら、ルートディスクを取り外してシステムをテストします。

The information and links on this page have been provided by a BigAdmin user. The submitter is solely responsible for such information and links. Sun is not responsible for the availability of external sites or resources, and does not endorse and is not responsible or liable for any content, advertising, products, or other materials on or available from such sites or resources. Sun will not be responsible or liable, directly or indirectly, for any actual or alleged damage or loss caused by or in connection with use of or reliance on the information posted here, or goods or services available on or through any external site or resource.
 
 

Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin
  
 
BigAdmin Upgrade Hub