ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 10 1/13 インストールガイド: Live Upgrade とアップグレードの計画 Oracle Solaris 10 1/13 Information Library (日本語) |
パート I Live Upgrade を使ったアップグレード
1. Oracle Solaris インストールの計画についての参照先
4. Live Upgrade を使用したブート環境の作成 (タスク)
5. Live Upgrade によるアップグレード (タスク)
6. 障害回復: 元のブート環境へのフォールバック (タスク)
7. Live Upgrade ブート環境の管理 (タスク)
8. 非大域ゾーンがインストールされているシステムにおける Oracle Solaris OS のアップグレード
パート II Live Upgrade を使った ZFS ルートプールのアップグレードと ZFS ルートプールへの移行
13. 非大域ゾーンがインストールされている ZFS での Live Upgrade
このセクションでは、非大域ゾーンがインストールされているシステムで UFS ルート (/) ファイルシステムから ZFS ルートプールに移行するための手順を説明します。非大域ゾーンは、UFS ファイルシステムの共有ファイルシステム上にあります。
lucreate コマンドは、UFS ルート (/) ファイルシステムから ZFS ルートプールのブート環境を作成します。ZFS ルートプールは lucreate を使用する前に作成します。また、アップグレード可能かつブート可能にするために、ディスク全体ではなくスライス上に作成します。次に示す手順では、UFS ルート (/) ファイルシステムに関連する既存の非大域ゾーンが、ZFS ルートプール内の新しいブート環境にコピーされます。
注 - Live Upgrade を使用して新しい ZFS ブート環境を作成するためには、少なくとも Solaris 10 10/08 リリースがインストールされている必要があります。それより前のリリースの ZFS および Live Upgrade ソフトウェアでは、このタスクを実行することはできません。
3 つの Live Upgrade パッケージ SUNWluu、SUNWlur、および SUNWlucfg は、Live Upgrade を使ってアップグレードするために必要なソフトウェアを構成します。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグ修正が含まれています。Live Upgrade を使用する前に、既存パッケージを削除しないで新しいパッケージをシステムにインストールすると、ターゲットリリースへのアップグレードは失敗します。
# pkgrm SUNWlucfg SUNWluu SUNWlur
My Oracle Support を調べて最新の更新済みパッチリストを持っていることを確認してください。My Oracle Support で、ナレッジドキュメント 1004881.1 - Live Upgrade Software Patch Requirements (以前の 206844) を検索してください。
スーパーユーザーになるか、同等の役割を引き受けます。
パッチをローカルディスクに保存する場合は、/var/tmp/lupatches のようなディレクトリを作成し、パッチをそのディレクトリにダウンロードします。
My Oracle Support Web サイトから、パッチの一覧を取得します。
パッチのディレクトリに移動します。
# cd /var/tmp/lupatches
patchadd コマンドを使用してパッチをインストールします。
# patchadd patch_id
patch_id はパッチの番号です。複数のパッチ名を指定する場合は、スペースで区切ります。
注 - パッチは、My Oracle Support のナレッジドキュメント 1004881.1 - Live Upgrade Software Patch Requirements (以前の 206844) に指定されている順序で適用する必要があります。
必要に応じてシステムをリブートします。いくつかのパッチは、有効にするためにリブートする必要があります。
x86 のみ: システムをリブートする必要があります。そうしないと、Live Upgrade は失敗します。
# init 6
ZFS ルートプールは、ブート可能かつアップグレード可能にするため単一のスライス上に作成します。
# zpool create rpool c3t0d0s0
この例で作成する新しい ZFS の名前は rpool です。このプールが、ブート可能なスライス c3t0d0s0 に作成されます。
新規ルートプールの作成の詳細については、『Oracle Solaris ZFS 管理ガイド』を参照してください。
# lucreate [-c ufsBE] -n new-zfsBE -p rpool
現在の UFS ブート環境の名前。このオプションは必須ではなく、また、最初のブート環境の作成時にのみ使用します。lucreate コマンドを初めて実行する場合に -c オプションを省略すると、デフォルトの名前が自動的に作成されます。
作成されるブート環境の名前。名前は、システム上で一意となるように指定する必要があります。
新しく作成した ZFS ルート (/) ファイルシステムを、rpool で定義した ZFS ルートプールに配置します。
すべての非共有非大域ゾーンは、クリティカルファイルシステムと共に、新しいブート環境にコピーされます。新しい ZFS ブート環境の作成には、しばらく時間がかかることがあります。UFS ファイルシステムのデータが ZFS ルートプールにコピーされます。非アクティブなブート環境が作成された場合は、luupgrade コマンドまたは luactivate コマンドを使用して、新しい ZFS ブート環境をアップグレードまたはアクティブにすることができます。
lustatus コマンドは、ブート環境の作成が完了してブート可能であるかどうかを報告します。
# lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ ufsBE yes yes yes no - new-zfsBE yes no no yes -
list コマンドで、システム上のすべてのデータセットの名前を表示できます。この例では、rpool が ZFS プールの名前、new-zfsBE が新しく作成した ZFS ブート環境の名前です。
# zfs list NAME USED AVAIL REFER MOUNTPOINT rpool 11.4G 2.95G 31K /rpool rpool/ROOT 4.34G 2.95G 31K legacy rpool/ROOT/new-zfsBE 4.34G 2.95G 4.34G / rpool/dump 2.06G 5.02G 16K - rpool/swap 5.04G 7.99G 16K -
表示される新しいブート環境のマウントポイントは、luactivate コマンドが実行されるまでの一時的なものです。/dump ボリュームと /swap ボリュームは、元の UFS ブート環境と共有されませんが、ZFS ルートプール内およびルートプール内のブート環境内で共有されます。
例 13-1 非大域ゾーンがインストールされている UFS ルート (/) ファイルシステムから ZFS ルートプールへの移行
次の例では、既存の非大域ゾーン myzone の非大域ゾーンルートが、UFS ルート (/) ファイルシステムにあります。ゾーン zzone のゾーンルートは、既存の ZFS ストレージプール pool 内の ZFS ファイルシステムにあります。Live Upgrade を使用して、UFS ブート環境 c2t2d0s0 を ZFS ブート環境 zfs2BE に移行します。UFS ベースの myzone ゾーンが、Live Upgrade の操作前に作成された新しい ZFS ストレージプール mpool に移行されます。ZFS ベースの非大域ゾーン zzone はクローニングされるが、ZFS プール pool 内に保持され、新しい zfs2BE ブート環境に移行されます。
ブート環境を作成するコマンドは次のとおりです。
# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - myzone installed /zones/myzone native shared - zzone installed /pool/zones native shared # zpool create mpool mirror c3t0d0s0 c4td0s0 # lucreate -c c1t2d0s0 -n zfs2BE -p mpool Checking GRUB menu... Analyzing system configuration. 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 <zfs2BE>. Source boot environment is <c1t2d0s0>. Creating file systems on boot environment <zfs2BE>. Creating <zfs> file system for </> in zone <global> on <mpool/ROOT/zfs2BE>. Populating file systems on boot environment <zfs2BE>. Analyzing zones. Mounting ABE <zfs2BE>. Generating file list. Copying data from PBE <c1t2d0s0> to ABE <zfs2BE>. 100% of filenames transferred Finalizing ABE. Fixing zonepaths in ABE. Unmounting ABE <zfs2BE>. Fixing properties on ZFS datasets in ABE. Reverting state of zones in PBE <c1t2d0s0>. Making boot environment <zfs2BE> bootable. Updating bootenv.rc on ABE <zfs2BE>. Saving existing file </boot/grub/menu.lst> in top level dataset for BE <zfs2BE> as <mount-point> //boot/grub/menu.lst.prev. File </boot/grub/menu.lst> propagation successful Copied GRUB menu from PBE to ABE No entry for BE <zfs2BE> in GRUB menu Population of boot environment <zfs2BE> successful. Creation of boot environment <zfs2BE> successful.
lucreate の操作が完了したら、この例で示すように lustatus コマンドを使ってブート環境のステータスを表示します。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t2d0s0 yes yes yes no - zfsBE yes no no yes -
# zoneadm list -iv ID NAME STATUS PATH BRAND IP 0 global running / native shared - myzone installed /zones/myzone native shared - zzone installed /pool/zones native shared
次に、luactivate コマンドで新しい ZFS ブート環境をアクティブにします。例:
# luactivate zfsBE A Live Upgrade Sync operation will be performed on startup of boot environment <zfsBE>. ********************************************************************** The target boot environment has been activated. It will be used when you reboot. NOTE: You MUST NOT USE the reboot, halt, or uadmin commands. You MUST USE either the init or the shutdown command when you reboot. If you do not use either init or shutdown, the system will not boot using the target BE. ********************************************************************** In case of a failure while booting to the target BE, the following process needs to be followed to fallback to the currently working boot environment: 1. Enter the PROM monitor (ok prompt). 2. Boot the machine to Single User mode using a different boot device (like the Solaris Install CD or Network). Examples: At the PROM monitor (ok prompt): For boot to Solaris CD: boot cdrom -s For boot to network: boot net -s 3. Mount the Current boot environment root slice to some directory (like /mnt). You can use the following command to mount: mount -Fufs /dev/dsk/c1t0d0s0 /mnt 4. Run <luactivate> utility with out any arguments from the current boot environment root slice, as shown below: /mnt/sbin/luactivate 5. luactivate, activates the previous working boot environment and indicates the result. 6. Exit Single User mode and reboot the machine. ********************************************************************** Modifying boot archive service Activation of boot environment <zfsBE> successful.
システムをリブートして ZFS ブート環境にします。
# init 6 # svc.startd: The system is coming down. Please wait. svc.startd: 79 system services are now being stopped. . . .
この例のように、新しいブート環境および移行されたゾーンのステータスを確認します。
# lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status -------------------------- -------- ------ --------- ------ ---------- c1t2d0s0 yes yes yes no - zfsBE yes no no yes -
UFS ブート環境に戻す場合は、ZFS ブート環境で作成したすべての ZFS ストレージプールをもう一度インポートしてください。これらは、UFS ブート環境で自動的に使用可能にはならないからです。元の UFS ブート環境に切り替えると、次のようなメッセージが表示されます。
# luactivate c1t2d0s0 WARNING: The following files have changed on both the current boot environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>: /etc/zfs/zpool.cache INFORMATION: The files listed above are in conflict between the current boot environment <ZFSbe> zone <global> and the boot environment to be activated <c1t2d0s0>. These files will not be automatically synchronized from the current boot environment <ZFSbe> when boot environment <c1t2d0s0>