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

第 10 章 Solaris Live Upgrade (例)

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

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

この例では、Solaris 9 リリースを実行しているシステムで lucreate コマンドを使用して新しいブート環境を作成します。この新しいブート環境を、luupgrade コマンドを使用して Solaris 10 8/07 にアップグレードします。アップグレードしたブート環境を、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 72099 に記載されたパッチは、随時変更される可能性があります。これらのパッチにより、Solaris Live Upgrade の欠陥が修正される可能性があると同時に、Solaris Live Upgrade が依存するコンポーネントの欠陥も修正される可能性があります。Solaris Live Upgrade で問題が発生した場合は、最新の Solaris Live Upgrade パッチがインストールされていることを確認してください。 

http://sunsolve.sun.com で最新のパッチリストを確認してください。SunSolve の Web サイトで、infodoc 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 を使用している場合は、インストーラのあるディレクトリに移動し、インストーラを実行します。

      • SPARC システムの場合:


        # cd /cdrom/cdrom0/s0/Solaris_10/Tools/Installers
        # ./liveupgrade20
        
      • x86 システムの場合:


        # 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

(省略可能) ソースブート環境へフォールバックする方法

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


例 10–1 SPARC: ブート環境作成は正常に完了したが元のブート環境にフォールバックさせる場合

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


# /sbin/luactivate first_disk 
# init 6


例 10–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 がアクティブブート環境になります。



例 10–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


例 10–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 ブート環境がない場合は、例 10–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


例 10–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 8/07                                                    |
    |Solaris 10 8/07 Serial Console ttya                                |
    |Solaris 10 8/07 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. n と入力します。 


    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 ボリューム (ミラー) の一方を切り離してアップグレードする例

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

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

図 10–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 には、ミラー化されたルート (/) ファイルシステムが含まれています。

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

図 10–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 フラッシュアーカイブを格納する準備ができました。

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

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

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

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

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