Solaris 10 10/08 インストールガイド (Solaris Live Upgrade とアップグレードの計画)

第 9 章 Solaris Live Upgrade (例)

この章では、新しいブート環境を作成、アップグレード、およびアクティブ化して、これを新たな稼動環境にする例を示します。


注 –

この章では、UFS ファイルシステム用の Solaris Live Upgrade について説明します。UFS ファイルシステムを ZFS ルートプールに移行する、または ZFS ルートプールを作成およびインストールする手順については、第 13 章ZFS ルートプールのブート環境の作成を参照してください。


この章の内容は次のとおりです。

Solaris Live Upgrade によるアップグレードの例

この例では、Solaris 9 リリースを実行しているシステムで lucreate コマンドを使用して新しいブート環境を作成します。この新しいブート環境を、luupgrade コマンドを使用して Solaris 10 10/08 にアップグレードします。アップグレードしたブート環境を、luactivate コマンドによってアクティブ化します。この節では、以前のブート環境に戻す例も示します。

必要なパッチをインストールするには

説明 

詳細 


注意 – 注意 –

Solaris Live Upgrade を正しく操作するためには、指定の OS バージョン用の特定のパッチリビジョンのセットがインストールされている必要があります。Solaris Live Upgrade をインストールまたは実行する前に、これらのパッチをインストールする必要があります。



x86 のみ –

Solaris 10 1/06 以降のリリースでは、このパッチのセットがインストールされていないと、Solaris Live Upgrade が失敗し、次のエラーメッセージが表示されることがあります。次のエラーメッセージが表示されなくても、必要なパッチがインストールされていない場合があります。Solaris Live Upgrade のインストールを試みる前に、SunSolve の infodoc に記載されたすべてのパッチがすでにインストール済みであることを必ず確認してください。


ERROR: Cannot find or is not 
executable: </sbin/biosdev>.
ERROR: One or more patches required by 
Live Upgrade has not been installed.

infodoc 206844 (以前の 72099) に記載されたパッチは、随時変更される可能性があります。これらのパッチにより、Solaris Live Upgrade の欠陥が修正される可能性があると同時に、Solaris Live Upgrade が依存するコンポーネントの欠陥も修正される可能性があります。Solaris Live Upgrade で問題が発生した場合は、最新の Solaris Live Upgrade パッチがインストールされていることを確認してください。 

http://sunsolve.sun.com で最新のパッチリストを確認してください。SunSolve の Web サイトで、infodoc 206844 (以前の 72099) を検索してください。

Solaris 8、または Solaris 9 OS を実行している場合、Solaris Live Upgrade インストーラを実行できないことがあります。これらのリリースには、Java 2 Runtime Environment の実行に必要なパッチのセットが含まれていません。Solaris Live Upgrade インストーラを実行してパッケージをインストールするには、Java 2 Runtime Environment の推奨パッチクラスタが必要です。 

Solaris Live Upgrade パッケージをインストールするには、pkgadd コマンドを使用します。または、Java 2 Runtime Environment 推奨パッチクラスタをインストールします。このパッチクラスタは http://sunsolve.sun.com から入手できます。

次の手順に従って必要なパッチをインストールします。

SunSolve の Web サイトから、パッチ一覧を取得します。


# patchadd /net/server/export/patches
# init 6

アクティブブート環境で Solaris Live Upgrade をインストールする方法


注 –

この手順では、システムでボリュームマネージャーを実行していると仮定しています。ボリュームマネージャーを使用したリムーバブルメディアの管理の詳細は、『Solaris のシステム管理 (デバイスとファイルシステム)』を参照してください。


  1. Solaris Operating System DVD または Solaris SOFTWARE - 2 CD を挿入します。

  2. 使用しているメディアに合わせて操作を行います。

    • Solaris Operating System DVD を使用している場合は、インストーラのあるディレクトリに移動し、インストーラを実行します。


      # cd /cdrom/cdrom0/Solaris_10/Tools/Installers
      # ./liveupgrade20
      

      Solaris インストールプログラムの GUI が表示されます。

    • Solaris SOFTWARE - 2 CD を使用している場合は、インストーラを実行します。


      % ./installer
      

      Solaris インストールプログラムの GUI が表示されます。

  3. 「インストール形式の選択 (Select Type of Install)」パネルで「カスタム (Custom)」をクリックします。

  4. 「ロケールの選択 (Locale Selection)」パネルで、インストールする言語をクリックします。

  5. インストールするソフトウェアを選択します。

    • DVD の場合、「コンポーネントの選択 (Component Selection)」パネルの「次へ (Next)」をクリックしてパッケージをインストールします。

    • CD の場合、「製品の選択 (Product Selection)」パネルの Solaris Live Upgrade の項目で「デフォルトインストール (Default Install)」をクリックします。また、このソフトウェアの選択を解除するには、ほかの製品をクリックします。

  6. Solaris インストールプログラムの指示に従って、ソフトウェアをインストールします。

ブート環境を作成する方法

-c オプションを使用して、ソースブート環境に c0t4d0s0 という名前を付けます。ソースブート環境の名前設定は最初のブート環境を作成するときだけ必要です。-c オプションによる命名の詳細は、「ブート環境をはじめて作成する」の手順 2 を参照してください。

新しいブート環境の名前は c0t15d0s0 です。-A オプションを使用して、このブート環境名に関連付ける説明を作成します。

ルート (/) ファイルシステムを新しいブート環境にコピーします。また、ソースブート環境のスワップスライスは共有せずに、新しいスワップスライスを作成します。


# lucreate -A 'BE_description' -c /dev/dsk/c0t4d0s0 -m /:/dev/dsk/c0t15d0s0:ufs\
-m -:/dev/dsk/c0t15d0s1:swap -n /dev/dsk/c0t15d0s0

非アクティブブート環境をアップグレードする方法

非アクティブブート環境の名前は c0t15d0s0 です。アップグレードに使用するオペレーティングシステムイメージはネットワークから取得します。


# luupgrade -n c0t15d0s0 -u -s /net/ins-svr/export/Solaris_10 \ 
combined.solaris_wos

ブート環境がブート可能か確認する方法

lustatus コマンドは、ブート環境の作成が完了したかどうかを報告します。lustatus コマンドは、ブート環境がブート可能であるかどうかも報告します。


# lustatus
boot environment   Is        Active  Active     Can	    Copy
Name               Complete  Now	 OnReboot   Delete	 Status
------------------------------------------------------------------------
c0t4d0s0           yes       yes      yes      no      -
c0t15d0s0          yes       no       no       yes     -

非アクティブブート環境をアクティブにする方法

luactivate コマンドを使用して c0t15d0s0 ブート環境をブート可能にします。続いてシステムをリブートします。これで c0t15d0s0 がアクティブブート環境になります。c0t4d0s0 ブート環境は非アクティブになります。


# luactivate c0t15d0s0
# init 6

(省略可能) ソースブート環境へ戻す方法

新しいブート環境のアクティブ化の状況に応じて、フォールバックのための手順を次の中から選択します。


例 9–1 SPARC: ブート環境作成は正常に完了したが元のブート環境に戻す場合

この例では、新しいブート環境のアクティブ化が正常に完了したにもかかわらず、元の c0t4d0s0 ブート環境をアクティブブート環境として復元しています。デバイス名は first_disk です。


# /sbin/luactivate first_disk 
# init 6


例 9–2 SPARC: ブート環境のアクティブ化に失敗した場合のフォールバック

この例では、新しいブート環境のブートに失敗しています。シングルユーザーモードで元のブート環境 c0t4d0s0 からブートさせるために、OK プロンプトを表示させる必要があります。


OK boot net -s
# /sbin/luactivate first_disk
Do you want to fallback to activate boot environment c0t4d0s0 
(yes or no)? yes
# init 6

元のブート環境 c0t4d0s0 がアクティブブート環境になります。



例 9–3 SPARC: DVD、CD、またはネットワークインストールイメージを使って元のブート環境に戻す

この例では、新しいブート環境のブートに失敗しています。元のブート環境からはブートできないためメディアまたはネットインストールイメージを使用する必要があります。デバイスは /dev/dsk/c0t4d0s0 です。元のブート環境 c0t4d0s0 がアクティブブート環境になります。


OK boot net -s
# fsck /dev/dsk/c0t4d0s0
# mount /dev/dsk/c0t4d0s0 /mnt 
# /mnt/sbin/luactivate
Do you want to fallback to activate boot environment c0t4d0s0 
(yes or no)? yes
# umount /mnt 
# init 6


例 9–4 x86: GRUB メニューを使用して元のブート環境に戻す

次の例では、Solaris 10 1/06 以降のリリースで、GRUB メニューを使用して戻す手順を示します。

この例では、GRUB メニューは適切に表示されますが、新しいブート環境のブートに失敗します。フォールバックを可能にするため、元のブート環境はシングルユーザーモードでブートされます。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. GRUB メニューを表示するにはシステムをリブートします。


    # init 6
    

    GRUB メニューが表示されます。


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris                                                            |
    |Solaris failsafe                                                   |
    |second_disk                                                        |
    |second_disk failsafe                                               |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  3. GRUB メニューから、元のブート環境を選択します。ブート環境は、GRUB ソフトウェアで作成されている必要があります。Solaris 10 1/06 リリースより前に作成されたブート環境は、GRUB ブート環境ではありません。ブート可能な GRUB ブート環境がない場合は、例 9–5 に進んでください。

  4. 次のように入力して、GRUB メニューを編集します。 e

  5. 矢印キーを使用して kernel /boot/multiboot を選択し、e と入力します。GRUB 編集メニューが表示されます。


    grub edit>kernel /boot/multiboot
  6. -s と入力して、シングルユーザーモードでブートします。


    grub edit>kernel /boot/multiboot -s
    
  7. ブートして、ブート環境をマウントします。次に、それをアクティブ化します。


# b
# fsck /dev/dsk/c0t4d0s0
# mount /dev/dsk/c0t4d0s0 /mnt 
# /mnt/sbin/luactivate
Do you want to fallback to activate boot environment c0t4d0s0
(yes or no)? yes
# umount /mnt
# init 6


例 9–5 x86: DVD または CD を使用して GRUB メニューで元のブート環境に戻す

次の例では、Solaris 10 1/06 以降のリリースにおいて DVD または CD を使用して戻す手順を示します。

この例では、新しいブート環境のブートに失敗しています。また、GRUB メニューは表示されません。フォールバックを可能にするため、元のブート環境はシングルユーザーモードでブートされます。

  1. Solaris Operating System DVD (x86 版) または Solaris SOFTWARE - 1 CD (x86 版) を挿入します。

  2. スーパーユーザーになるか、同等の役割を引き受けます。

  3. DVD または CD からブートします。


    # init 6
    

    GRUB メニューが表示されます。


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris 10 10/08                                                    |
    |Solaris 10 10/08 Serial Console ttya                                |
    |Solaris 10 10/08 Serial Console ttyb (for lx50, v60x and v65x       |
    +-------------------------------------------------------------------+
    Use the ^ and v keys to select which entry is highlighted. Press
    enter to boot the selected OS, 'e' to edit the commands before
    booting, or 'c' for a command-line.
  4. デフォルトのオプションがブートされるまで待機するか、表示されているオプションのどれかを選択します。

    インストール画面が表示されます。


    +-------------------------------------------------------------------+
    
    |Select the type of installation you want to perform:                |
    |                                                                    |
    |         1 Solaris Interactive                                      |
    |         2 Custom JumpStart                                         |
    |         3 Solaris Interactive Text (Desktop session)               |
    |         4 Solaris Interactive Text (Console session)               |
    |         5 Apply driver updates                                     |
    |         6 Single user shell                                        |
    |                                                                    |
    |        Enter the number of your choice followed by the <ENTER> key.|
    |        Alternatively, enter custom boot arguments directly.        |
    |
    |         If you wait 30 seconds without typing anything,            |
    |         an interactive installation will be started.               |
    +----------------------------------------------------------------- --+
  5. 「Single user shell」オプションを選択します。

    次のメッセージが表示されます。


    Do you wish to automatically update the boot archive? y /n
  6. 次のコマンドを入力します。  


    Starting shell...
    #

    これでシングルユーザーモードになりました。

  7. ブート環境をマウントします。次に、アクティブ化してリブートします。


    # fsck /dev/dsk/c0t4d0s0
    # mount /dev/dsk/c0t4d0s0 /mnt 
    # /mnt/sbin/luactivate
    Do you want to fallback to activate boot environment c0t4d0s0
    (yes or no)? yes
    # umount /mnt
    # init 6
    

RAID-1 ボリューム (ミラー) の一方を切り離してアップグレードする例

この例では、次の作業の手順を示します。

図 9–1 は、3 つの物理ディスクから成る現在のブート環境を示します。

図 9–1 RAID-1 ボリューム (ミラー) の一方を切り離し、アップグレードする

この図については本文中で説明しています。

  1. ミラーを持つ新しいブート環境 second_disk を作成します。

    次のコマンドは、次のような処理を実行します。

    • lucreate コマンドにより、ルート (/) マウントポイントの UFS ファイルシステムが構成されます。d10 というミラーが作成されます。このミラー d10 に、現在のブート環境のルート (/) ファイルシステムがコピーされます。ミラー d10 にあるデータはすべて上書きされます。

    • 2 つのスライス c0t1d0s0 および c0t2d0s0 は、サブミラーとして指定されています。これら 2 つのサブミラーは、ミラー d10 に接続されます。


    # lucreate -c first_disk -n second_disk \ 
    -m /:/dev/md/dsk/d10:ufs,mirror \ 
    -m /:/dev/dsk/c0t1d0s0:attach \ 
    -m /:/dev/dsk/c0t2d0s0:attach
    
  2. ブート環境 second_disk をアクティブ化します。


    # /sbin/luactivate second_disk
    # init 6
    
  3. 別のブート環境 third_disk を作成します。

    次のコマンドは、次のような処理を実行します。

    • lucreate コマンドにより、ルート (/) マウントポイントの UFS ファイルシステムが構成されます。d20 というミラーが作成されます。

    • スライス c0t1d0s0 が現在のミラーから切り離され、ミラー d20 に追加されます。このサブミラーの内容であるルート (/) ファイルシステムは保持され、コピー処理は発生しません。


    # lucreate -n third_disk \ 
    -m /:/dev/md/dsk/d20:ufs,mirror \ 
    -m /:/dev/dsk/c0t1d0s0:detach,attach,preserve
    
  4. 新しいブート環境 third_disk をアップグレードします。


    # luupgrade -u -n third_disk \ 
    -s /net/installmachine/export/Solaris_10/OS_image
    
  5. アップグレードされたブート環境にパッチを追加します。


    # luupgrade -t n third_disk -s /net/patches 222222-01
    
  6. ブート環境 third_disk をアクティブ化して、このブート環境からシステムを実行します。


    # /sbin/luactivate third_disk
    # init 6
    
  7. ブート環境 second_disk を削除します。


    # ludelete second_disk
    
  8. 次のコマンドは、次のような処理を実行します。

    • ミラー d10 を消去します。

    • c0t2d0s0 の連結の数を調べます。

    • metastat コマンドで見つけた連結を、ミラー d20 に接続します。metattach コマンドは、新しく接続した連結と、ミラー d20 の連結とを同期します。連結にあるデータはすべて上書きされます。


    # metaclear d10 
    # metastat -p | grep c0t2d0s0
    dnum 1 1 c0t2d0s0
    # metattach d20 dnum
    
    num

    metastat コマンドで見つかった連結の数。

これで、新しいブート環境 third_disk がアップグレードされ、この環境からシステムが実行されます。third_disk には、ミラー化されたルート (/) ファイルシステムが含まれています。

図 9–2 は、前の例のコマンドでミラーを切り離してアップグレードする手順の全体を示しています。

図 9–2 RAID-1 ボリューム (ミラー) の一方を切り離し、アップグレードする (続き)

この図については本文中で説明しています。

既存のボリュームから Solaris ボリュームマネージャー RAID-1 ボリュームへ移行する例

Solaris Live Upgrade では、RAID–1 ボリューム (ミラー) 上に新しいブート環境を作成できます。現在のブート環境のファイルシステムは、次のいずれかです。

ただし、新しいブート環境のターゲットは、Solaris ボリュームマネージャー RAID-1 ボリュームでなければなりません。たとえば、ルート(/) ファイルシステムのコピー用に指定するスライスは、/dev/vx/dsk/rootvol となります。rootvol はルート (/) ファイルシステムを含むボリュームです。

この例では、現在のブート環境のルート (/) ファイルシステムは Solaris ボリュームマネージャーボリューム以外のボリューム上にあります。新しいブート環境では、Solaris ボリュームマネージャー RAID-1 ボリュームである c0t2d0s0 上にルート (/) ファイルシステムが作成されます。lucreate コマンドは、現在のボリュームを Solaris ボリュームマネージャーボリュームに移行させるコマンドです。新しいブート環境の名前は svm_be です。lustatus コマンドを使用すると、新しいブート環境のアクティブ化とリブートの準備ができているかどうかがわかります。ブート環境がアクティブ化され、現在のブート環境になります。


# lucreate -n svm_be -m /:/dev/md/dsk/d1:mirror,ufs \  
-m /:/dev/dsk/c0t2d0s0:attach
# lustatus
# luactivate svm_be
# lustatus
# init 6

空のブート環境を作成して Solaris フラッシュアーカイブをインストールする例

次の手順を 3 段階に分けて説明します。

lucreate コマンドは、アクティブブート環境内のファイルシステムに基づいてブート環境を作成します。lucreate コマンドに -s - オプションを指定して実行すると、空のブート環境を短時間で作成できます。スライスは、指定のファイルシステム用に予約されていますが、ファイルシステムはコピーされません。このブート環境は、名前が付けられてはいますが、実際には、Solaris フラッシュアーカイブがインストールされる時にはじめて作成されることになります。空のブート環境にアーカイブがインストールされると、ファイルシステムは予約されたスライスにインストールされます。その後、ブート環境をアクティブ化します。

空のブート環境を作成する方法

最初の手順で、空のブート環境を作成します。指定されたファイルシステム用にスライスが予約されますが、現在のブート環境からファイルシステムがコピーされることはありません。新しいブート環境の名前は second_disk です。


# lucreate  -s - -m /:/dev/dsk/c0t1d0s0:ufs \  
-n second_disk

これで、ブート環境に Solaris フラッシュアーカイブを格納する準備ができました。

図 9–3 は、空のブート環境の作成の様子を示しています。

図 9–3 空のブート環境の作成

この図については本文中で説明しています。

新しいブート環境へ Solaris フラッシュアーカイブをインストールする方法

2 番目の手順では、前の例で作成した second_disk ブート環境に、アーカイブをインストールします。アーカイブはローカルシステムに存在します。-s および -a オプションで指定するオペレーティングシステムのバージョンは、どちらも Solaris 10 10/08 リリースです。アーカイブの名前は Solaris_10.flar です。


# luupgrade -f -n second_disk \
-s /net/installmachine/export/Solaris_10/OS_image \ 
-a /net/server/archive/10.flar 

このようにして、ブート環境をアクティブにする準備が整います。

新しいブート環境をアクティブ化する方法

最後の手順では、luactivate コマンドを使用して、second_disk ブート環境をブート可能な状態にします。続いてシステムをリブートします。これで second_disk がアクティブブート環境になります。


# luactivate second_disk
# init 6