BigAdmin System Administration Portal
Feature Article
Print-friendly VersionPrint-friendly Version

ソフトウェアアップデートに先立ち Solaris Volume Manager によってミラー化されたルートの分割方法

Enda O'Connor、2009 年 4 月

この記事は、アップグレードやソフトウェア更新 (パッチ) などのソフトウェアの更新を行う前に、 Solaris Volume Manager ミラーを分割する正しい方法を概説します。次の手順は、Solaris 10 OS にのみに適用される「メディアからブートされた Solaris Volume Manager ミラーのマウント方法」の記述を除いて、すべての Solaris リリースで実行可能です。 下記の例は Sun Fire x4200 Server で実行されました。

この記事は次のトピックを含みます:

ソフトウェアアップデートの前にミラーを分割する方法

1. まず、ルートファイルシステムのレイアウトを決定します:

root@patchtest-x4200-2 # df -k /
Filesystem         kbytes    used   avail capacity  Mounted on
/dev/md/dsk/d10   10085921 1041301 8943761    11%    /
root@patchtest-x4200-2 # metastat -p d10
d10 -m d11 d12 1
d11 1 1 c0t2d0s0
d12 1 1 c0t3d0s0

2. アップグレードされていないミラーを削除します (たとえば、ステップ 1 の d12:c0t3d0s0 はアップグレードされません)。

root@patchtest-x4200-2 # metadetach d10 d12
d10: submirror d12 is detached

3. アップグレードされる物理デバイスをブートしない状態に戻します (この例では d11 ディスク c0t2d0s0):

root@patchtest-x4200-2 # metaroot c0t2d0s0

4. vfstab が現在、正しいかどうかを確認します:

root@patchtest-x4200-2 # grep c0t2d0s0 /etc/vfstab
/dev/dsk/c0t2d0s0     /dev/rdsk/     /     ufs    1 no     -
root@patchtest-x4200-2 # grep d10 /etc/vfstab
root@patchtest-x4200-2 #

5. システムをリブートします (現在、c0t2d0s0 からブートする)。また、その他のソフトウェア保守ステップを実行します。

ソフトウェアの更新後にミラーを再構築する方法

1. d10 をブートデバイスとして再定義します。

#metaroot d10

2. システムをリブートします。

3. もう一度ミラーを追加します:

#metaattach d10 d12

4. リブート前に同期を完了させます; metastat d10 を検査して同期進行状況の監視を行います。

メディアからブートされた Solaris Volume Manager ミラーのマウント方法

何らかの理由で、メディアからブートされた Solaris Volume Manager がミラー化されたメタデバイスをマウントする必要がある場合、たとえば、boot net -s または boot cdrom -s を使用して、次のステップを実行します。

: これは Solaris 10 オペレーティングシステムのみに適用されます。

このシナリオでは、代替メディアの終了に必要になる以前にミラーが分割されなかったので、代替メディアを終了して、Solaris Volume Manager メタデバイスをマウントする必要があります。 この場合、/a 上に、/dev/md/dsk/* メタデバイスをマウントするために手動で特定の操作を行う必要があります。

したがって、ルートディスクが以下のように配置されると仮定します:

  • d10 上に /
  • d20 上に /var

下記はメディアを終了する前のメタデバイスの状態です:

root@oyster # metastat -p d10
d10 -m d11 d12 1
d11 1 1 c0t2d0s0
d12 1 1 c0t3d0s0
root@oyster #  metastat -p d20
d20 -m d21 d22 1
d21 1 1 c0t2d0s1
d22 1 1 c0t3d0s1

1. まず、メディアからブートします。次に例を示します:

#boot net -s

2. ここでサブディスクのうちの 1 つを読み取り専用としてマウントします。それによって、偶然にサブディスクを破損することを防げます。

この例において、配下のディスクがまだアクセス可能であり、データは壊れていないと仮定します。

# mount -o ro /dev/dsk/c0t0d0s0 /a

3. 次に、Solaris Volume Manager を使用可能にするため、現在のブートされた環境をセットアップします:

# cp /a/kernel/drv/md.conf /kernel/drv/md.conf
# umount /a

4. 構成をロードするために Solaris Volume Manager ドライバを更新します:

# update_drv -f md

注: update_drv からのエラーメッセージはすべて無視してください。

5. ここですべてのメタデバイスを初期化するために、metainitを実行します。

#metainit -r

6. もしミラーがあれば、metasync を実行して、この時点でそれらを同期させます。metastat を使用して、同期が必要か、または同期が完了したかを確認します。

7. 同期が完了したあと、メタデバイスのマウントをすすめることができます:

# mount /dev/md/dsk/d10 /a
# mount /dev/md/dsk/d20 /a/var

マウントポイント /a に、Solaris Volume Manager ミラーをマウントしました。

追加情報

次にいくつかの追加リソースがあります:

BigAdmin