Solaris 10 10/08 以降のリリースでは、Oracle Solaris Live Upgrade 機能を使用して、ゾーンが含まれているシステムを移行またはアップグレードすることができます。Solaris 10 5/09 以降のリリースでは、疎ルートゾーン構成と完全ルートゾーン構成も Live Upgrade でサポートされます。
この節では、Solaris 10 5/09 以降のリリースで Oracle Solaris Live Upgrade によるアップグレードやパッチの適用が可能になるようにゾーンが含まれているシステムを構成する方法について説明します。ゾーンが含まれていない ZFS ルートファイルシステムに移行する場合は、「Oracle Solaris Live Upgrade を使用して ZFS ルートファイルシステムに移行する (ゾーンなし)」を参照してください。
Solaris 10 5/09 以降のリリースで ZFS とゾーンに Oracle Solaris Live Upgrade を使用する場合は、次の点を考慮してください。
Solaris 10 5/09 以降のリリースでサポートされるゾーン構成で Oracle Solaris Live Upgrade を使用するには、まず標準のアップグレードプログラムを使って Solaris 10 5/09 以降のリリースにシステムをアップグレードする必要があります。
その後、Oracle Solaris Live Upgrade を使用して、ゾーンルートを持つ UFS ルートファイルシステムを ZFS ルートファイルシステムに移行するか、ZFS ルートファイルシステムとゾーンルートにアップグレードやパッチを適用することができます。
サポートされていないゾーン構成を、以前の Solaris 10 リリースから直接 Solaris 10 5/09 以降のリリースに移行することはできません。
Solaris 10 5/09 以降のリリースでゾーンを含むシステムを移行または構成する場合は、次の情報を確認してください。
「ZFS ルートファイルシステムとゾーンルートを持つ ZFS BE を作成する方法 (Solaris 10 5/09 以降)」
「ゾーンルートを持つ ZFS ルートファイルシステムにアップグレードまたはパッチを適用する方法 (Solaris 10 5/09 以降)」
「ゾーンルートを持つ UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する方法 (Solaris 10 5/09 以降)」
ゾーンが含まれているシステムを Oracle Solaris Live Upgrade を使用して移行またはアップグレードする前に、サポートされているゾーン構成を確認してください。
UFS ルートファイルシステムを ZFS ルートファイルシステムに移行する – 次のゾーンルート構成がサポートされています。
UFS ルートファイルシステムのディレクトリ内
UFS ルートファイルシステムのマウントポイントのサブディレクトリ内
UFS ルートファイルシステムのディレクトリ内または UFS ルートファイルシステムのマウントポイントのサブディレクトリ内にゾーンルートを含む UFS ルートファイルシステム、およびゾーンルートを含む ZFS 非ルートプール
次の UFS/ゾーン構成はサポートされません: ゾーンルートをマウントポイントとして持つ UFS ルートファイルシステム。
ZFS ルートファイルシステムを移行またはアップグレードする – 次のゾーンルート構成がサポートされています。
ZFS ルートプールのデータセット内。場合により、Oracle Solaris Live Upgrade 操作の前にゾーンルートのデータセットが用意されていないときは、ゾーンルートのデータセット (zoneds) が Oracle Solaris Live Upgrade によって作成されます。
ZFS ルートファイルシステムのサブディレクトリ内
ZFS ルートファイルシステムの外部にあるデータセット内
ZFS ルートファイルシステムの外部にあるデータセットのサブディレクトリ内
非ルートプールのデータセット内。次の例では、zonepool/zones はゾーンルートを含むデータセットであり、rpool は ZFS BE を含んでいます。
zonepool zonepool/zones zonepool/zones/myzone rpool rpool/ROOT rpool/ROOT/myBE |
次の構文を使用すると、Oracle Solaris Live Upgrade によって zonepool のゾーンおよび rpool BE のスナップショットが作成され、複製が行われます。
# lucreate -n newBE |
newBE BE が rpool/ROOT/newBE 内に作成されます。newBE をアクティブにすると、 zonepool のコンポーネントにアクセスできるようになります。
前述の例では、/zonepool/zones がサブディレクトリーであり、別個のデータセットではない場合には、それは、ルートプール rpool のコンポーネントとして、Live Upgrade によって移行されます。
UFS および ZFS のゾーンの移行またはアップグレードに関する情報 – UFS 環境または ZFS 環境の移行またはアップグレードに影響を与える可能性のある次の考慮事項を確認してください。
「ゾーンが含まれているシステムを Oracle Solaris Live Upgrade で移行またはアップグレードする (Solaris 10 10/08)」の説明に従って Solaris 10 10/08 リリースでゾーンを構成し、Solaris 10 5/09 以降のリリースにアップグレードした場合は、ZFS ルートファイルシステムへの移行や、Solaris Live Upgrade による Solaris 10 5/09 以降のリリースへのアップグレードが可能なはずです。
zones/zone1 や zones/zone1/zone2 のような入れ子のディレクトリ内にゾーンルートを作成しないでください。そうしないと、起動時にマウントが失敗する可能性があります。
Solaris 10 5/09 以降のリリースの初期インストールを実行したあとで、この手順を使用して ZFS ルートファイルシステムを作成します。また、luupgrade 機能を使って Solaris 10 5/09 以降のリリースに ZFS ルートファイルシステムをアップグレードしたあとも、この手順を使用します。この手順を使用して作成した ZFS BE には、あとでアップグレードやパッチを適用できます。
次の手順で例として使用する Oracle Solaris 10 9/10 システムは、ZFS ルートファイルシステムと、/rpool/zones にゾーンルートのデータセットを持っています。zfs2BE という名前の ZFS BE が作成されますが、あとでそのアップグレードやパッチの適用を行うことができます。
既存の ZFS ファイルシステムを確認します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.26G 59.7G 98K /rpool rpool/ROOT 4.64G 59.7G 21K legacy rpool/ROOT/zfsBE 4.64G 59.7G 4.64G / rpool/dump 1.00G 59.7G 1.00G - rpool/export 44K 59.7G 23K /export rpool/export/home 21K 59.7G 21K /export/home rpool/swap 1G 60.7G 16K - rpool/zones 633M 59.7G 633M /rpool/zones |
ゾーンがインストールされ起動されていることを確認します。
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /rpool/zones native shared |
ZFS BE を作成します。
# lucreate -n zfs2BE Analyzing system configuration. No name for current boot environment. INFORMATION: The current boot environment is not named - assigning name <zfsBE>. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <zfsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
ZFS BE をアクティブにします。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes yes yes no - zfs2BE yes no no yes - # luactivate zfs2BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs2BE>. . . . # init 6 |
新しい BE に ZFS ファイルシステムとゾーンが作成されていることを確認します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 98K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs2BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs2BE@zfs2BE 74.0M - 4.64G - rpool/ROOT/zfsBE 5.45M 59.6G 4.64G /.alt.zfsBE rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 17.2M 59.6G 633M /rpool/zones rpool/zones-zfsBE 653M 59.6G 633M /rpool/zones-zfsBE rpool/zones-zfsBE@zfs2BE 19.9M - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /rpool/zones native shared |
Solaris 10 5/09 以降のリリースで、ゾーンルートを持つ ZFS ルートファイルシステムにアップグレードやパッチを適用する必要がある場合は、次の手順を使用します。このような更新には、システムのアップグレードの場合と、パッチの適用の場合があります。
次の手順では、アップグレードまたはパッチを適用するブート環境の名前の例として zfs2BE を使用しています。
既存の ZFS ファイルシステムを確認します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 7.38G 59.6G 100K /rpool rpool/ROOT 4.72G 59.6G 21K legacy rpool/ROOT/zfs2BE 4.72G 59.6G 4.64G / rpool/ROOT/zfs2BE@zfs2BE 75.0M - 4.64G - rpool/ROOT/zfsBE 5.46M 59.6G 4.64G / rpool/dump 1.00G 59.6G 1.00G - rpool/export 44K 59.6G 23K /export rpool/export/home 21K 59.6G 21K /export/home rpool/swap 1G 60.6G 16K - rpool/zones 22.9M 59.6G 637M /rpool/zones rpool/zones-zfsBE 653M 59.6G 633M /rpool/zones-zfsBE rpool/zones-zfsBE@zfs2BE 20.0M - 633M - |
ゾーンがインストールされ起動されていることを確認します。
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 5 zfszone running /rpool/zones native shared |
アップグレードまたはパッチを適用する ZFS BE を作成します。
# lucreate -n zfs2BE Analyzing system configuration. Comparing source boot environment <zfsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. Creating configuration for boot environment <zfs2BE>. Source boot environment is <zfsBE>. Creating boot environment <zfs2BE>. Cloning file systems from boot environment <zfsBE> to create boot environment <zfs2BE>. Creating snapshot for <rpool/ROOT/zfsBE> on <rpool/ROOT/zfsBE@zfs2BE>. Creating clone for <rpool/ROOT/zfsBE@zfs2BE> on <rpool/ROOT/zfs2BE>. Setting canmount=noauto for </> in zone <global> on <rpool/ROOT/zfs2BE>. Creating snapshot for <rpool/zones> on <rpool/zones@zfs10092BE>. Creating clone for <rpool/zones@zfs2BE> on <rpool/zones-zfs2BE>. Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful. |
次のいずれかを選択して、システムをアップグレードするか新しいブート環境にパッチを適用します。
システムをアップグレードします。
# luupgrade -u -n zfs2BE -s /net/install/export/s10up/latest |
ここで、-s オプションは Solaris インストールメディアの場所を指定します。
この処理には非常に長い時間がかかることがあります。
luupgrade 処理の詳細な例については、例 5–6 を参照してください。
新しいブート環境にパッチを適用します。
# luupgrade -t -n zfs2BE -t -s /patchdir patch-id-02 patch-id-04 |
新しいブート環境をアクティブにします。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes yes yes no - zfs2BE yes no no yes - # luactivate zfs2BE A Live Upgrade Sync operation will be performed on startup of boot environment <zfs2BE>. . . . |
新たにアクティブにしたブート環境から起動します。
# init 6 |
この例では、Solaris 10 10/09 システムに作成された、非ルートプール内に ZFS ルートファイルシステムとゾーンルートを持つ ZFS BE (zfsBE) を、Oracle Solaris 10 9/10 リリースにアップグレードします。この処理には長い時間がかかることがあります。その後、アップグレードした BE (zfs2BE) をアクティブにします。アップグレードを行う前に、ゾーンがインストールされ起動されていることを確認してください。
この例では、zonepool プール、/zonepool/zones データセット、および zfszone ゾーンが、次のようにして作成されます。
# zpool create zonepool mirror c2t1d0 c2t5d0 # zfs create zonepool/zones # chmod 700 zonepool/zones # zonecfg -z zfszone zfszone: No such zone configured Use 'create' to begin configuring a new zone. zonecfg:zfszone> create zonecfg:zfszone> set zonepath=/zonepool/zones zonecfg:zfszone> verify zonecfg:zfszone> exit # zoneadm -z zfszone install cannot create ZFS dataset zonepool/zones: dataset already exists Preparing to install zone <zfszone>. Creating list of files to copy from the global zone. Copying <8960> files to the zone. . . . |
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared # lucreate -n zfsBE . . . # luupgrade -u -n zfsBE -s /net/install/export/s10up/latest 40410 blocks miniroot filesystem is <lofs> Mounting miniroot at </net/system/export/s10up/latest/Solaris_10/Tools/Boot> Validating the contents of the media </net/system/export/s10up/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 <zfsBE>. Determining packages to install or upgrade for BE <zfsBE>. Performing the operating system upgrade of the BE <zfsBE>. 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 <zfsBE>. Package information successfully updated on boot environment <zfsBE>. Adding operating system patches to the BE <zfsBE>. The operating system patch installation is complete. INFORMATION: The file </var/sadm/system/logs/upgrade_log> on boot environment <zfsBE> contains a log of the upgrade operation. INFORMATION: The file </var/sadm/system/data/upgrade_cleanup> on boot environment <zfsBE> contains a log of cleanup operations required. INFORMATION: Review the files listed above. Remember that all of the files are located on boot environment <zfsBE>. Before you activate boot environment <zfsBE>, 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 <zfsBE> is complete. Installing failsafe Failsafe install is complete. # luactivate zfsBE # init 6 # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- zfsBE yes no no yes - zfs2BE yes yes yes no - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
UFS ルートファイルシステムとゾーンルートを持つシステムを Solaris 10 5/09 以降のリリースに移行するには、次の手順を使用します。その後、Oracle Solaris Live Upgrade を使用して ZFS BE を作成します。
次の手順では、UFS BE の名前の例として c0t1d0s0、UFS ゾーンルートとして zonepool/zfszone、ZFS ルート BE として zfsBE を使用しています。
システムで以前の Solaris 10 リリースが稼働している場合は、Solaris 10 5/09 以降のリリースにアップグレードします。
Solaris 10 リリースが稼働しているシステムのアップグレードについては、『Oracle Solaris 10 9/10 インストールガイド (Solaris Live Upgrade とアップグレードの計画)』を参照してください。
ルートプールを作成します。
ルートプールの要件については、「ZFS をサポートするための Oracle Solaris インストールと Oracle Solaris Live Upgrade の要件」を参照してください。
UFS 環境のゾーンが起動されることを確認します。
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 zfszone running /zonepool/zones native shared |
新しい ZFS ブート環境を作成します。
# lucreate -c c1t1d0s0 -n zfsBE -p rpool |
このコマンドは、新しいブート環境のデータセットをルートプールに確立し、現在のブート環境をゾーンも含めてそれらのデータセットにコピーします。
新しい ZFS ブート環境をアクティブにします。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t1d0s0 yes no no yes - zfsBE yes yes yes no - # luactivate zfsBE A Live Upgrade Sync operation will be performed on startup of boot environment <zfsBE>. . . . |
システムを再起動します。
# init 6 |
新しい BE に ZFS ファイルシステムとゾーンが作成されていることを確認します。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 6.17G 60.8G 98K /rpool rpool/ROOT 4.67G 60.8G 21K /rpool/ROOT rpool/ROOT/zfsBE 4.67G 60.8G 4.67G / rpool/dump 1.00G 60.8G 1.00G - rpool/swap 517M 61.3G 16K - zonepool 634M 7.62G 24K /zonepool zonepool/zones 270K 7.62G 633M /zonepool/zones zonepool/zones-c1t1d0s0 634M 7.62G 633M /zonepool/zones-c1t1d0s0 zonepool/zones-c1t1d0s0@zfsBE 262K - 633M - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - zfszone installed /zonepool/zones native shared |
この例では、UFS ルートファイルシステムとゾーンルート (/uzone/ufszone) およびルート以外の ZFS プール (pool) とゾーンルート (/pool/zfszone) を持つ Oracle Solaris 10 9/10 システムを、ZFS ルートファイルシステムに移行します。移行を行う前に、ZFS ルートプールが作成されていることと、ゾーンがインストールされ起動されていることを確認してください。
# zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared 2 ufszone running /uzone/ufszone native shared 3 zfszone running /pool/zones/zfszone native shared |
# lucreate -c ufsBE -n zfsBE -p rpool Analyzing system configuration. No name for current boot environment. Current boot environment is named <zfsBE>. Creating initial configuration for primary boot environment <zfsBE>. The device </dev/dsk/c1t0d0s0> is not a root device for any boot environment; cannot get BE ID. PBE configuration successful: PBE name <ufsBE> PBE Boot Device </dev/dsk/c1t0d0s0>. Comparing source boot environment <ufsBE> file systems with the file system(s) you specified for the new boot environment. Determining which file systems should be in the new boot environment. Updating boot environment description database on all BEs. Updating system configuration files. The device </dev/dsk/c1t1d0s0> is not a root device for any boot environment; cannot get BE ID. Creating configuration for boot environment <zfsBE>. Source boot environment is <ufsBE>. Creating boot environment <zfsBE>. Creating file systems on boot environment <zfsBE>. Creating <zfs> file system for </> in zone <global> on <rpool/ROOT/zfsBE>. Populating file systems on boot environment <zfsBE>. Checking selection integrity. Integrity check OK. Populating contents of mount point </>. Copying. Creating shared file system mount points. Copying root of zone <ufszone> to </.alt.tmp.b-EYd.mnt/uzone/ufszone>. Creating snapshot for <pool/zones/zfszone> on <pool/zones/zfszone@zfsBE>. Creating clone for <pool/zones/zfszone@zfsBE> on <pool/zones/zfszone-zfsBE>. Creating compare databases for boot environment <zfsBE>. Creating compare database for file system </rpool/ROOT>. Creating compare database for file system </>. Updating compare databases on boot environment <zfsBE>. Making boot environment <zfsBE> bootable. Creating boot_archive for /.alt.tmp.b-DLd.mnt updating /.alt.tmp.b-DLd.mnt/platform/sun4u/boot_archive Population of boot environment <zfsBE> successful. Creation of boot environment <zfsBE> successful. # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- ufsBE yes yes yes no - zfsBE yes no no yes - # luactivate zfsBE . . . # init 6 . . . # zfs list NAME USED AVAIL REFER MOUNTPOINT pool 628M 66.3G 19K /pool pool/zones 628M 66.3G 20K /pool/zones pool/zones/zfszone 75.5K 66.3G 627M /pool/zones/zfszone pool/zones/zfszone-ufsBE 628M 66.3G 627M /pool/zones/zfszone-ufsBE pool/zones/zfszone-ufsBE@zfsBE 98K - 627M - rpool 7.76G 59.2G 95K /rpool rpool/ROOT 5.25G 59.2G 18K /rpool/ROOT rpool/ROOT/zfsBE 5.25G 59.2G 5.25G / rpool/dump 2.00G 59.2G 2.00G - rpool/swap 517M 59.7G 16K - # zoneadm list -cv ID NAME STATUS PATH BRAND IP 0 global running / native shared - ufszone installed /uzone/ufszone native shared - zfszone installed /pool/zones/zfszone native shared |