Oracle Solaris 10 9/10 インストールガイド (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 9/10 にアップグレードします。アップグレードしたブート環境を、luactivate コマンドによってアクティブにします。この節では、以前のブート環境に戻す例も示します。

Solaris Live Upgrade を使用するための準備

Solaris Live Upgrade をはじめて実行する前に、インストールメディアに含まれている最新の Solaris Live Upgrade パッケージと、SunSolve Infodoc 206844 に記載されているパッチをインストールしてください。SunSolve の Web サイトで、Infodoc 206844 (以前の 72099) を検索してください。

最新のパッケージとパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。新しいブート環境の作成に進む前に、システムに関連するすべてのパッチを必ずインストールしてください。

以下では、SunSolve Infodoc 206844 に記載されている手順について説明します。


注 –

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


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


    注 –

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。


  2. SunSolve の Web サイトにある Infodoc 206844 の手順に従って、Solaris Live Upgrade パッケージを削除および追加します。

    1. 既存の Solaris Live Upgrade パッケージを削除します。

      3 つの Solaris Live Upgrade パッケージ SUNWluuSUNWlur、および SUNWlucfg は、Solaris Live Upgrade を使ってアップグレードまたはパッチを適用するのに必要なソフトウェアを構成します。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグ修正が含まれています。Solaris Live Upgrade を使用する前に、既存パッケージを削除しないで新しいパッケージをシステムにインストールすると、ターゲットリリースへのアップグレードまたはパッチ適用は失敗します。SUMWlucfg パッケージは、Solaris 10 8/07 以降のリリースの新機能です。Solaris 10 8/07 より前のリリースから Solaris Live Upgrade パッケージを使用する場合は、このパッケージを削除する必要はありません。


      # pkgrm SUNWlucfg SUNWluu SUNWlur
      
    2. 新しい Solaris Live Upgrade パッケージをインストールします。

      パッケージをインストールするには、インストール DVD または CD にある liveupgrade20 コマンドか、pkgadd コマンドを使用します。liveupgrade20 コマンドを使用する場合は、Java ソフトウェアが必要です。システムに Java ソフトウェアがインストールされていない場合は、pkgadd コマンドを使用してパッケージをインストールする必要があります。詳細については、SunSolve Infodoc を参照してください。

      • Solaris Operating System DVD を使用する場合は、ディレクトリを変更してインストーラを実行します。

        • ディレクトリを変更します。


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

          注 –

          SPARC ベースのシステムの場合、Solaris 10 10/08 リリースより前のリリースではインストーラへのパスが異なります。


          # cd /cdrom/cdrom0/s0/Solaris_10/Tools/Installers
          

        • インストーラを実行します。


          # ./liveupgrade20  -noconsole - nodisplay
          

          -noconsole オプションと -nodisplay オプションを使用すると、キャラクタユーザーインタフェース (character user interface、CUI) が表示されるのを防ぐことができます。


          注 –

          Solaris Live Upgrade CUI はサポートされなくなりました。


      • Solaris Software – 2 CD を使用する場合は、パスを変更せずにインストーラを実行できます。


        % ./installer
        
      • パッケージが正常にインストールされていることを確認します。


        # pkgchk -v SUNWlucfg SUNWlur SUNWluu
        
  3. Infodoc 206844 に記載されているパッチをインストールします。

    1. ローカルディスクにパッチを保存する場合は、/var/tmp/lupatches などのディレクトリを作成します。

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

    3. この例のようにパッチディレクトリに移動します。


      # cd /var/tmp/lupatches
      
    4. パッチをインストールします。


      # patchadd -M  path-to-patchespatch-id  patch-id
      

      path-to-patches は、/var/tmp/lupatches などのパッチディレクトリへのパスです。patch_id はパッチの番号です。複数のパッチ名を指定する場合は、スペースで区切ります。


      注 –

      パッチは、infodoc 206844 で指定された順序で適用する必要があります。


    5. 必要に応じてシステムをリブートします。いくつかのパッチは、有効にするためにリブートする必要があります。

      x86 のみ: システムをリブートする必要があります。そうしないと Solaris Live Upgrade が失敗します。


      # init 6
      

      以上で新しいブート環境を正しく作成するために必要なパッケージとパッチがインストールされました。

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

-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. スーパーユーザーになるか、同等の役割を引き受けます。


    注 –

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。


  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. スーパーユーザーになるか、同等の役割を引き受けます。


    注 –

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』「RBAC の構成 (作業マップ)」を参照してください。


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


    # init 6
    

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


    GNU GRUB version 0.95 (616K lower / 4127168K upper memory)
    +-------------------------------------------------------------------+
    |Solaris 10 9/10                                                    |
    |Solaris 10 9/10 Serial Console ttya                                |
    |Solaris 10 9/10 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 9/10 リリースです。アーカイブの名前は 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