BigAdmin System Administration Portal
非大域ゾーンがインストールされている Solaris 10 OS を Solaris Live Upgrade を使用してアップグレードする方法
Print-friendly VersionPrint-friendly Version

Pallavi Madhusudhan、Arindam Sarkar 共著、2007 年 11 月

この記事では、Solaris Live Upgrade を使用して、非大域ゾーンがインストールされている Solaris 10 OS をアップグレードする方法を説明します。


非大域ゾーンでの Solaris Live Upgrade の使用法

Solaris Live Upgrade は、非大域ゾーンがインストールされている Solaris 10 OS のアップグレードをサポートするようになりました。Solaris 10 8/07 リリースは、Solaris プラットフォームのアップグレード機構を強化する「ゾーンアップグレード」機能を備え、システム上に構成されているすべての非大域ゾーンを完全にサポートします。ゾーンアップグレード機能には、非大域ゾーンでの Solaris Live Upgrade の使用のサポートが含まれます。

各非大域ゾーンは、Solaris Live Upgrade および基本となるユーティリティーにより、独立した Solaris インスタンスとして処理されます。最初に大域ゾーンがアップグレードされ、続いて各非大域ゾーンが 1 つずつアップグレードされます。

注 - インストール、アップグレード、またはパッチ処理を実行する前に、システムを完全にバックアップしていることを確認してください。


Solaris Live Upgrade の計画

Solaris 10 8/07 リリースよりも古いバージョンの Solaris 10 OS を実行しているシステムをアップグレードする前に、Solaris Live Upgrade のパッケージとパッチをインストールします。Solaris 10 システムは、少なくとも InfoDoc 72099 に示されているパッチレベルまでパッチを適用する必要があります。Solaris 10 システムのバージョンに応じて、これらのパッチの一部はすでにインストールされている場合があります。

必要なパッケージ

システムを Solaris 10 8/07 リリースにアップグレードするには、Solaris 10 8/07 イメージから Solaris Live Upgrade パッケージをインストールする必要があります。アップグレードを実行するには、新規パッケージの SUNWlucfg が必要です。Solaris Live Upgrade パッケージには、既存のソフトウェア、新しい機能、およびバグの修正が含まれています。Solaris Live Upgrade を使用する前に、既存のパッケージを削除せずにシステムに新しいパッケージをインストールすると、ターゲットリリースへのアップグレードで問題が発生する可能性があります。新しいパッケージには、バグの修正と現在のシステムに存在しない機能が含まれています。パッケージのインストール方法の詳細は、この記事の「必要なパッケージのインストール方法」を参照してください。

必要なパッチ

パッケージをインストールするときに、Solaris Live Upgrade によるアップグレードで必要となるパッチを適用します。これらのパッチは、InfoDoc 72099 に一覧表示されています。パッチをローカルディスクに格納する場合は、/var/tmp/lupatches ディレクトリを作成して、このディレクトリにパッチをダウンロードします。

パッチをインストールする前に、次の条件を満たしていることを確認してください。

  • Kernel パッチをシングルユーザーモードでインストールしてください。

  • パッチの README ファイルで指定されている場合、すべてのパッチをシングルユーザーモードでインストールしてください。

  • すべてのゾーンがインストールされた状態である。

  • すべてのゾーンパスがアクセス可能である。ゾーンパスが別のファイルシステムにある場合、ファイルシステムはシングルユーザーモードでマウントされません。特定のファイルシステムをマウントするか、mountall コマンドを使用してください。

InfoDoc 72099 に記載されているパッチの一部は、Solaris Live Upgrade およびゾーンに固有のものです。 これらのパッチのダウンロードとインストールにより、次の作業が完了します。

  • アップグレードソフトウェアが許容範囲内のパフォーマンスで非大域ゾーンをアップグレードできるように、既存のアップグレードソフトウェアをゾーン対応するように更新します。

  • Solaris Live Upgrade ソフトウェアを、ソフトウェアが非大域ゾーンのアップグレードを完全に管理できるように更新します。

InfoDoc 72099 に記載されている残りのパッチは、システムを Solaris 10 8/07 リリースへのアップグレードに必要なパッチレベルへ更新するために必要です。InfoDoc 72099 に表示されているパッチはすべて、アップグレードの実行に必要なパッチの最も古いリビジョンです。ユーザーは、リストにあるリビジョンのパッチかそれよりも新しいリビジョンをアップグレード用にインストールできます。

Solaris Live Upgrade での共有ファイルシステムの管理方法

ブート環境間で共有されるファイルシステムに非大域ゾーンが存在している場合、Solaris Live Upgrade は非大域ゾーンを認識します。アクティブなブート環境とファイルシステムを共有しているブート環境のコピーをアップグレードするときに、すべてのファイルシステムは読み取り専用の lofs マウントを通してマウントされます。これにより、同じファイルシステムを共有するアクティブなブート環境が、アップグレード操作によって破壊されるのを防ぎます。

ブート環境への管理者アクセス

lucreate を使用してブート環境を作成するときに、大域ゾーン管理者は現在のブート環境とすべての非アクティブなブート環境にアクセスできます。非大域ゾーンがある場合、大域ゾーン管理者はすべてのブート環境にアクセスできます。

ただし、各非大域ゾーン管理者は、その非大域ゾーンのファイルシステムが含まれる現在のブート環境の一部にしかアクセスできません。非大域ゾーン管理者が非アクティブなブート環境にあるゾーンのファイルシステム領域にアクセスする場合、大域ゾーン管理者は大域ゾーンの非アクティブなブート環境をマウントする必要があります。続いて大域ゾーン管理者は lumount(1M) および luumount(1M) コマンドに対する拡張を通して、必要なファイルスシステム領域を非大域ゾーン管理者が利用できるようにします。

必要なパッケージのインストール方法

次の手順を実行して、必要な Solaris Live Upgrade パッケージをインストールします。

  1. pkgrm コマンドを使用して、既存の Solaris Live Upgrade パッケージを削除します。

    SUNWlucfg、SUNWlur、および SUNWluu の 3 つの Solaris Live Upgrade パッケージが、Solaris Live Upgrade でアップグレードが必要なソフトウェアです。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグの修正が含まれます。システムにある既存のパッケージを削除して、新しいパッケージをインストールします。

    # pkgrm SUNWlucfg SUNWluu SUNWlur

  2. Solaris Live Upgrade パッケージをインストールします。

    liveupgrade20 コマンドを使用してパッケージをインストールする方法を次に示します。liveupgrade20 コマンドを実行するには Java が必要です。システムに Java がインストールされていない場合は、pkgadd コマンドを使用して、パッケージを個別にインストールする必要があります。

    1. Solaris DVD または CD を挿入します。

      このメディアには、アップグレードするリリースのパッケージが含まれます。

    2. インストーラディレクトリに移動します。
      • Solaris Operating System DVD を使用している場合は、次のようになります。

        • SPARC ベースのシステムの場合

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

        • x86 ベースのシステムの場合

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

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

        % ./installer

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

      # ./liveupgrade20 -noconsole - nodisplay

      -noconsole および -nodisplay オプションは、キャラクタユーザーインタフェース (Character User Interface、CUI) の表示を無効にします。

      注 - 現在、Solaris Live Upgrade CUI はサポートされていません。

    4. パッケージが正しくインストールされたことを確認します。

      # pkgchk -v SUNWlucfg SUNWlur SUNWluu

Solaris Live Upgrade パッチのインストール方法と Solaris Live Upgrade によるシステムのアップグレード方法

  1. テストシステムを設定します。

    疎ルート非大域ゾーンと完全ルート非大域ゾーン (つまり zone1 および zone2) を作成してブートします。非大域ゾーンの作成およびブート方法の手順については、『Solaris のシステム管理 (Solaris コンテナ: 資源管理と Solaris ゾーン)』を参照してください。

  2. InfoDoc 72099 に記載されたパッチをインストールします。

    /var/tmp/lupatches ディレクトリに移動して、InfoDoc 72099 に記載されている順にパッチをインストールします。

    #cd /var/tmp/lupatches
    #patchadd patch_id

    patch_id はパッチ番号です。

  3. すべての非大域ゾーンに UUID を割り当てます。

    すべての非大域ゾーンが汎用一意識別子 (Universally Unique Identifier、UUID) を含むことを確認するには、すべてのゾーンに対して detachattach、および boot を実行します。

    #zoneadm -z zone1 detach    	
    #zoneadm -z zone2 detach    	
    #zoneadm -z zone1 attach    	
    #zoneadm -z zone2 attach    	
    #zoneadm -z zone1 boot    	
    #zoneadm -z zone2 boot     	

    zoneadm list -p コマンドを入力して、すべてのゾーンに UUID が割り当てられていることを確認します。

    #zoneadm list -p    	
    0:global:running:/::native:shared    	
    16:zone1:running:/space/zone1:559ca0a2-d7c5-6a61-e64c-	  bec99bb0910c:native:shared    	
    17:zone2:running:/space/zone2:d3e6bc88-3533-6209-f25d-	  e811e334295a:native:shared    	
  4. 少なくとも 1 度、非大域ゾーンにログインします。

    ログインにより、ゾーンが起動され実行状態になります各ゾーンにログインしたら、ゾーンから抜けます。

    #zlogin zone1    	
    #exit    	
    #zlogin zone2    	
    #exit    	
  5. 新しいブート環境を作成します。

    アクティブなブート環境に BE1 のラベルを付け、新しいブート環境に BE2 のラベルを付けます。新しいブート環境 BE2 用に 2 つのファイルシステムを作成します。

    #lucreate -c BE1 -n BE2 -m /:/dev/dsk/c1t0d0s4:ufs  -m /space:/dev/dsk/c1t0d0s5:ufs
    -c BE1

    現在のアクティブなブート環境に BE1 という名前を割り当てます。

    -n BE2

    新しいブート環境の名前を表示します。

    -m /:/dev/dsk/c1t0d0s4:ufs

    新しいブート環境のシステムの構成を vfstab に指定します。ルート (/) ファイルシステムは c1t0d0s4 に置かれます。

    -m /space:/dev/dsk/c1t0d0s5:ufs

    c1t0d0s5 に 2 つ目のファイルシステムを作成します。ゾーンのルートは /space に置かれます。

  6. 新しいブート環境をアクティブにします。

    新しいブート環境をアクティブにして実行できることを確認するには、luactivate コマンドを入力します。

    #luactivate BE2

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

    #init 6
  7. 新しいブート環境から、ゾーンに再ログインします。

    再ログインにより、新しいブート環境でゾーンが機能していることを確認します。

    #zoneadm -z zone1 boot    	
    #zoneadm -z zone2 boot    	
    #zlogin zone1    	
    #exit    	
    #zlogin zone2    	
    #exit    	
  8. 元のブート環境に戻します。
    #luactivate BE1
    #init 6
  9. 元のブート環境のゾーンの状態を確認します。

    ゾーンが動作状態であることを確認します。

    #zoneadm -z zone1 boot
    #zoneadm -z zone2 boot
    #zoneadm list -cv	
    ID NAME             STATUS     PATH                           BRAND    IP        	
    0 global           running    /                              native   shared    	
    1 zone1            running    /space/zone1                   native   shared    	
    2 zone2            running    /space/zone2                   native   shared    	
    
    #zoneadm list -p    	
    0:global:running:/::native:shared    	
    1:zone1:running:/space/zone1:559ca0a2-d7c5-6a61-e64c-	bec99bb0910c:native:shared    	
    2:zone2:running:/space/zone2:d3e6bc88-3533-6209-f25d-	e811e334295a:native:shared
  10. 新しいブート環境をアップグレードします。

    #luupgrade -u -n new-BE -s solaris-image-path

    luupgrade -u

    ブート環境の OS をアップグレードします。

    -n new-BE

    アップグレード対象のブート環境の名前です。

    -s solaris-image-path

    Solaris イメージパスを指定します。

    たとえば、次のように入力します。

    #luupgrade -u -n BE2 -s /net/ins3525-svr/export2/s10u4/dvds/latest
    
    159376 blocks
    miniroot file system is <lofs>
    Mounting miniroot at </net/ins3525-svr/export2/s10u4/dvds/latest/Solaris_10/Tools/Boot>
    Validating the contents of the media </net/ins3525-	svr/export2/s10u4/dvds/latest>.
    The media is a standard Solaris media.
    The media contains an operating system upgrade image.
    The media contains <Solaris> version <10>.
    Constructing upgrade profile to use.
    Locating the operating system upgrade program.
    Checking for existence of previously scheduled Live Upgrade requests.
    Creating upgrade profile for BE <BE2>.
    Determining packages to install or upgrade for BE <BE2>.
    Performing the operating system upgrade of the BE <BE2>.
    CAUTION: Interrupting this process may leave the boot environment unstable 
    or unbootable.
    Upgrading Solaris: 100% completed
    Installation of the packages from this media is complete.
    Updating package information on boot environment <BE2>.
    Package information successfully updated on boot environment <BE2>.
    Adding operating system patches to the BE <BE2>.
    The operating system patch installation is complete.
    INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot 
    environment <BE2> contains a log of the upgrade operation.
    INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot 
    environment <BE2> contains a log of cleanup operations required.
    WARNING: <1> packages failed to install properly on boot environment <BE2>.
    INFORMATION: The file </var/sadm/system/data/upgrade_failed_pkgadds> on
    boot environment <BE2> contains a list of packages that failed to upgrade 
    or install properly.
    INFORMATION: Review the files listed above. Remember that all of the files 
    are located on boot environment <BE2>. Before you activate boot 
    environment <BE2>, determine if any additional system maintenance is 
    required or if additional media of the software distribution must be 
    installed.
    The Solaris upgrade of the boot environment <BE2> is partially complete.
  11. 問題のトラブルシューティングを行うには、ログファイルを使用します (省略可能)。

    アップグレード処理の出力ファイルと結果は、多数のログファイルに記録されます。これらのファイルは、発生した問題を確認したり、アップグレードのあとにクリーンアップ操作が必要かどうかを判断するのに役立ちます。ログファイルは大域ゾーンに格納され、大域ゾーン管理者はこれらのログファイルにアクセスできます。サンプルのログファイルの例と、その一部のエントリを次に示します。

    • /var/sadm/system/logs/upgrade_cleanup

    • /var/sadm/system/logs/upgrade_log

      大域ゾーンの upgrade_log ファイルのサンプルエントリは、次のようになります。

      Doing pkgadd of SUNWcsu to /
      29329 blocks
      Doing pkgadd of SUNWcsu
      
      Installation of SUNWcsu was successful

      非大域ゾーンの upgrade_log ファイルのサンプルエントリは、次のようになります。

      Doing pkgadd of SUNWcsu to /
      31722 blocks
      
      Installation of SUNWcsu was successful.
      Installation of SUNWcsu on zone <SUNWlu-zone1> was successful.
      Installation of SUNWcsu on zone <SUNWlu-zone2> was successful

      非大域ゾーンの upgrade_log ファイルの失敗したエントリのサンプルは、次のようになります。

      Removal of SUNWgttf from zone <SUNWlu-zone1> failed.

    注 - Solaris Live Upgrade は、VxVM と互換性がありません。Solaris Live Upgrade は、Solaris ボリュームマネージャーと使用してください。

  12. 新しいブート環境が正しくアップグレードされたことを確認します。

    luupgrade コマンドが完了したあと、BE2 をアクティブにし、すべてのゾーンが正しくアップグレードされていることを確認します。

    注 - コンソールに表示される次のメッセージは無視してください。これは既知の問題です。

    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100083_1/  rpc_tcp:default in repository: entity not found
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100083_1/  rpc_tcp:default in repository: No such file or directory
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100068_2-5/   rpc_udp:default in repository: entity not found
    Sep 12 04:29:32 inetd[515]: Failed to update state of instance
    svc:/network/rpc-100068_2-5/  rpc_udp:default in repository: No such file or directory

Solaris Live Upgrade の追加情報

表 1 Solaris Live Upgrade の参照情報
説明
詳細情報
『Solaris 10 8/07 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』には、このツールを使用する際に必要なすべての情報が記載されています。
Solaris Live Upgrade によるパッチ処理の詳細
Solaris 10 1/06 リリースで、新しいパッチ処理ツールの Sun Update Connection が追加されました。このツールはシステムを解析して、適切なパッチを適用します。このツールセットの September 2006 release 1.0.8 には、Solaris Live Upgrade で作業するためのさまざまなオプションが用意されています。
Patching Best Practices の Web サイトには、FAQ、記事、および Solaris OS のパッチに関する多くの情報が掲載されています。
サポートサイト
『Solaris のシステム管理 (Solaris コンテナ: 資源管理と Solaris ゾーン)』には、 Solaris ゾーンに関する情報が記載されています。
ディスカッション
Sun トレーニングコース
  • Make the transition to the Solaris 10 operating system (VC-SA-210-S10)

  • Solaris 10 features for experienced Solaris system administrators (SA-225-S10)


Comments (latest comments first)

Discuss and comment on this resource in the BigAdmin Wiki

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


BigAdmin
  
 
BigAdmin Upgrade Hub