Oracle Solaris ZFS 管理ガイド

ゾーンが含まれているシステムを Oracle Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 10/08)

Solaris 10 10/08 リリースでは、ゾーンが含まれているシステムを Oracle Solaris Live Upgrade で移行することはできますが、サポートされる構成は限られています。Solaris 10 5/09 以降のリリースをインストールする場合や Solaris 10 5/09 以降のリリースにアップグレードする場合は、より多くのゾーン構成がサポートされます。詳細は、「ゾーンが含まれているシステムを Oracle Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 5/09 以降)」を参照してください。

この節では、Oracle Solaris Live Upgrade によるアップグレードやパッチの適用が可能になるように、ゾーンが含まれているシステムを構成してインストールする方法について説明します。ゾーンが含まれていない ZFS ルートファイルシステムに移行する場合は、「Oracle Solaris Live Upgrade を使用して ZFS ルートファイルシステムに移行する (ゾーンなし)」を参照してください。

Solaris 10 10/08 リリースで、ゾーンが含まれているシステムを移行する場合や、ゾーンが含まれているシステムを構成する場合は、次の手順を確認してください。

ZFS ルートファイルシステムが含まれているシステムでこれらの推奨手順に従ってゾーンを設定して、そのシステムで Oracle Solaris Live Upgrade を使用できるようにします。

ProcedureUFS 上にゾーンルートを持つ UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する方法 (Solaris 10 10/08)

次の手順では、ゾーンがインストールされている UFS ルートファイルシステムを、アップグレードやパッチの適用が可能な ZFS ルートファイルシステムおよび ZFS ゾーンルート構成に移行する方法を説明します。

次の手順では、プール名の例として rpool、アクティブなブート環境の名前の例として s10BE* を使用しています。

  1. システムで以前の Solaris 10 リリースが稼働している場合は、Solaris 10 10/08 リリースにアップグレードします。

    Solaris 10 リリースが稼働しているシステムのアップグレードの詳細については、『Oracle Solaris 10 9/10 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』を参照してください。

  2. ルートプールを作成します。


    # zpool create rpool mirror c0t1d0 c1t1d0
    

    ルートプールの要件については、「ZFS をサポートするための Oracle Solaris インストールと Oracle Solaris Live Upgrade の要件」を参照してください。

  3. UFS 環境のゾーンが起動されることを確認します。

  4. 新しい ZFS ブート環境を作成します。


    # lucreate -n s10BE2 -p rpool
    

    このコマンドは、新しいブート環境のデータセットをルートプールに確立し、現在のブート環境をゾーンも含めてそれらのデータセットにコピーします。

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


    # luactivate s10BE2
    

    これで、システムでは ZFS ルートファイルシステムが稼働していますが、UFS 上のゾーンルートはまだ UFS ルートファイルシステムにあります。UFS ゾーンをサポートされる ZFS 構成に完全に移行するには、次の手順が必要です。

  6. システムを再起動します。


    # init 6
    
  7. ゾーンを ZFS BE に移行します。

    1. ゾーンを起動します。

    2. プール内に別の ZFS BE を作成します。


      # lucreate s10BE3
      
    3. 新しいブート環境をアクティブにします。


      # luactivate s10BE3
      
    4. システムを再起動します。


      # init 6
      

      この手順により、ZFS BE とゾーンが起動されることが確認されます。

  8. 発生する可能性のあるマウントポイントの問題をすべて解決します。

    Oracle Solaris Live Upgrade のバグのため、アクティブでないブート環境は起動に失敗する場合があります。これは、ブート環境の ZFS データセットまたはゾーンの ZFS データセットに無効なマウントポイントが含まれているためです。

    1. zfs list の出力を確認します。

      正しくない一時的なマウントポイントを探します。次に例を示します。


      # zfs list -r -o name,mountpoint rpool/ROOT/s10u6
      
      NAME                               MOUNTPOINT
      rpool/ROOT/s10u6                   /.alt.tmp.b-VP.mnt/
      rpool/ROOT/s10u6/zones             /.alt.tmp.b-VP.mnt//zones
      rpool/ROOT/s10u6/zones/zonerootA   /.alt.tmp.b-VP.mnt/zones/zonerootA

      ルート ZFS BE (rpool/ROOT/s10u6) のマウントポイントは / となるべきです。

    2. ZFS BE とそのデータセットのマウントポイントを設定しなおします。

      次に例を示します。


      # zfs inherit -r mountpoint rpool/ROOT/s10u6
      # zfs set mountpoint=/ rpool/ROOT/s10u6
      
    3. システムを再起動します。

      GRUB メニューまたは OpenBoot PROM プロンプトで、特定のブート環境を起動するオプションが表示されたら、前の手順でマウントポイントを修正したブート環境を選択します。

ProcedureZFS 上にゾーンルートを持つ ZFS ルートファイルシステムを構成する方法 (Solaris 10 10/08)

次の手順では、アップグレードやパッチの適用が可能な ZFS ルートファイルシステムおよび ZFS ゾーンルート構成を設定する方法を説明します。この構成では、ZFS ゾーンルートは ZFS データセットとして作成されます。

次の手順では、プール名の例として rpool、アクティブなブート環境の名前の例として s10BE を使用しています。ゾーンのデータセットの名前には、正当なデータセット名であればどのようなものでも使用できます。次の例では、ゾーンのデータセットの名前は zones になっています。

  1. Solaris 対話式テキストインストーラまたは Solaris JumpStart インストール方法を使用して、システムを ZFS ルートでインストールします。

    初期インストールまたは Solaris JumpStart インストールを使用して ZFS ルートファイルシステムをインストールする方法については、「ZFS ルートファイルシステムのインストール (初期インストール)」または 「ZFS ルートファイルシステムのインストール (Oracle Solaris JumpStart インストール)」を参照してください。

  2. 新しく作成したルートプールからシステムを起動します。

  3. ゾーンルートをまとめるためのデータセットを作成します。

    次に例を示します。


    # zfs create -o canmount=noauto rpool/ROOT/s10BE/zones
    

    canmount プロパティーに noauto 値を設定すると、Oracle Solaris Live Upgrade とシステムの起動コードの明示的なアクションによらないかぎり、データセットはマウントされなくなります。

  4. 新しく作成したゾーンデータセットをマウントします。


    # zfs mount rpool/ROOT/s10BE/zones
    

    データセットは /zones にマウントされます。

  5. 各ゾーンルートのデータセットを作成し、マウントします。


    # zfs create -o canmount=noauto rpool/ROOT/s10BE/zones/zonerootA
    # zfs mount rpool/ROOT/s10BE/zones/zonerootA
    
  6. ゾーンルートディレクトリに適切なアクセス権を設定します。


    # chmod 700 /zones/zonerootA
    
  7. ゾーンを設定して、ゾーンパスを次のように設定します。


    # zonecfg -z zoneA
        zoneA: No such zone configured
        Use 'create' to begin configuring a new zone.
        zonecfg:zoneA> create
        zonecfg:zoneA> set zonepath=/zones/zonerootA
    

    次の構文を使用して、システムの起動時にゾーンが自動的に起動するように設定できます。


    zonecfg:zoneA> set autoboot=true
    
  8. ゾーンをインストールします。


    # zoneadm -z zoneA install
    
  9. ゾーンを起動します。


    # zoneadm -z zoneA boot
    

ProcedureZFS 上にゾーンルートを持つ ZFS ルートファイルシステムにアップグレードまたはパッチを適用する方法 (Solaris 10 10/08)

ZFS 上にゾーンルートを持つ ZFS ルートファイルシステムにアップグレードやパッチを適用する必要がある場合は、次の手順を使用します。このような更新には、システムのアップグレードの場合と、パッチの適用の場合があります。

次の手順では、アップグレードまたはパッチを適用するブート環境の名前の例として newBE を使用しています。

  1. アップグレードまたはパッチを適用するブート環境を作成します。


    # lucreate -n newBE
    

    すべてのゾーンを含め、既存のブート環境が複製されます。元のブート環境の各データセットに対してデータセットが 1 つずつ作成されます。新しいデータセットは、現在のルートプールと同じプールに作成されます。

  2. 次のいずれかを選択して、システムをアップグレードするか新しいブート環境にパッチを適用します。

    • システムをアップグレードします。


      # luupgrade -u -n newBE -s /net/install/export/s10u7/latest
      

      ここで、-s オプションは Solaris インストールメディアの場所を指定します。

    • 新しいブート環境にパッチを適用します。


       # luupgrade -t -n newBE -t -s /patchdir 139147-02 157347-14
      
  3. 新しいブート環境をアクティブにします。


    # luactivate newBE
    
  4. 新たにアクティブにしたブート環境から起動します。


    # init 6
    
  5. 発生する可能性のあるマウントポイントの問題をすべて解決します。

    Oracle Solaris Live Upgrade 機能のバグのため、アクティブでないブート環境は起動に失敗する場合があります。これは、ブート環境の ZFS データセットまたはゾーンの ZFS データセットに無効なマウントポイントが含まれているためです。

    1. zfs list の出力を確認します。

      正しくない一時的なマウントポイントを探します。次に例を示します。


      # zfs list -r -o name,mountpoint rpool/ROOT/newBE
      
      NAME                               MOUNTPOINT
      rpool/ROOT/newBE                   /.alt.tmp.b-VP.mnt/
      rpool/ROOT/newBE/zones             /.alt.tmp.b-VP.mnt/zones
      rpool/ROOT/newBE/zones/zonerootA   /.alt.tmp.b-VP.mnt/zones/zonerootA

      ルート ZFS BE (rpool/ROOT/newBE) のマウントポイントは / となるべきです。

    2. ZFS BE とそのデータセットのマウントポイントを設定しなおします。

      次に例を示します。


      # zfs inherit -r mountpoint rpool/ROOT/newBE
      # zfs set mountpoint=/ rpool/ROOT/newBE
      
    3. システムを再起動します。

      GRUB メニューまたは OpenBoot PROM プロンプトで、特定のブート環境を起動するオプションが表示されたら、前の手順でマウントポイントを修正したブート環境を選択します。