ここでは、非大域ゾーンがインストールされているシステムを Solaris Live Upgrade でアップグレードする詳しい手順について説明します。
Solaris Live Upgrade をはじめて実行する前に、インストールメディアに含まれている最新の Solaris Live Upgrade パッケージと、SunSolve Infodoc 206844 に記載されているパッチをインストールしてください。SunSolve の Web サイトで、Infodoc 206844 (以前の 72099) を検索してください。
最新のパッケージとパッチにより、リリースに最新のバグ修正と新機能がすべて含まれるようになります。新しいブート環境の作成に進む前に、システムに関連するすべてのパッチを必ずインストールしてください。
以下では、SunSolve Infodoc 206844 の手順について説明します。
スーパーユーザーになるか、同等の役割を引き受けます。
SunSolve の Web サイトにある Infodoc 206844 の手順に従って、Solaris Live Upgrade パッケージを削除および追加します。
以下の手順は、Infodoc に記載されているパッケージの削除手順と追加手順をまとめたものです。
既存の Solaris Live Upgrade パッケージを削除します。
3 つの Solaris Live Upgrade パッケージ SUNWluu、SUNWlur、および SUNWlucfg は、Solaris Live Upgrade を使ってアップグレードまたはパッチを適用するのに必要なソフトウェアを構成します。これらのパッケージには、既存のソフトウェア、新しい機能、およびバグ修正が含まれています。Solaris Live Upgrade を使用する前に、既存パッケージを削除しないで新しいパッケージをシステムにインストールすると、ターゲットリリースへのアップグレードまたはパッチ適用は失敗します。SUMWlucfg パッケージは、Solaris 10 8/07 以降のリリースの新機能です。Solaris 10 8/07 より前のリリースから Solaris Live Upgrade パッケージを使用する場合は、このパッケージを削除する必要はありません。
# pkgrm SUNWlucfg SUNWluu SUNWlur |
新しい Solaris Live Upgrade パッケージをインストールします。
パッケージをインストールするには、インストール DVD または CD にある liveupgrade20 コマンドを使用します。liveupgrade20 コマンドを使用する場合は、Java ソフトウェアが必要です。システムに Java ソフトウェアがインストールされていない場合は、pkgadd コマンドを使用してパッケージをインストールする必要があります。詳細については、SunSolve Infodoc を参照してください。
Solaris Operating System DVD を使用する場合は、ディレクトリを変更してインストーラを実行します。
ディレクトリを変更します。
# cd /cdrom/cdrom0/Solaris_10/Tools/Installers |
SPARC ベースのシステムの場合、Solaris 10 10/08 リリースより前のリリースではインストーラへのパスが異なります。
# cd /cdrom/cdrom0/s0/Solaris_10/Tools/Installers |
インストーラを実行します。
# ./liveupgrade20 |
Solaris インストールプログラムの GUI が表示されます。スクリプトを使用する場合は、-noconsole オプションと -nodisplay オプションを使用することで、GUI が表示されるのを防ぐことができます。
Solaris Software – 2 CD を使用する場合は、パスを変更せずにインストーラを実行できます。
% ./installer |
パッケージが正常にインストールされていることを確認します。
# pkgchk -v SUNWlucfg SUNWlur SUNWluu |
ローカルディスクにパッチを保存する場合は、/var/tmp/lupatches などのディレクトリを作成します。
SunSolve の Web サイトから、パッチ一覧を取得します。
この例のようにパッチディレクトリに移動します。
# cd /var/tmp/lupatches |
パッチをインストールします。
# patchadd -M path-to-patchespatch-id patch-id |
path-to-patches は、/var/tmp/lupatches などのパッチディレクトリへのパスです。patch_id はパッチの番号です。複数のパッチ名を指定する場合は、スペースで区切ります。
パッチは、infodoc 206844 で指定された順序で適用する必要があります。
必要に応じてシステムをリブートします。いくつかのパッチは、有効にするためにリブートする必要があります。
x86 のみ: システムをリブートする必要があります。そうしないと Solaris Live Upgrade が失敗します。
# init 6 |
以上で新しいブート環境を正しく作成するために必要なパッケージとパッチがインストールされました。
新しいブート環境を作成します。
# lucreate [-A 'BE_description'] [-c BE_name] \ -m mountpoint:device[,metadevice]:fs_options[:zonename] [-m ...] -n BE_name |
作成するブート環境の名前。BE_name は、システム上で一意となるように指定する必要があります。
(省略可能) ブート環境名 (BE_name) の説明を記述できます。記述の長さ、使用できる文字に制限はありません。
アクティブブート環境に名前 BE_name を割り当てます。このオプションは省略可能で、最初のブート環境を作成する場合だけ使用されます。lucreate を初めて実行する場合に -c オプションを省略すると、デフォルトの名前が作成されます。
新しいブート環境のファイルシステム構成を vfstab で指定します。-m に引数として指定されるファイルシステムは、同じディスク上のファイルシステムでも、複数のディスク上のファイルシステムでも構いません。このオプションは、作成するファイルシステムの数だけ使用します。
mountpoint には、任意の有効なマウントポイント、またはスワップパーティションを示す – (ハイフン) を指定できます。
device フィールドには、次のいずれかを指定できます。
ディスクデバイスの名前。/dev/dsk/cwtxdysz の形式で表されます
Solaris ボリュームマネージャーのボリューム名。/dev/md/dsk/dnum の形式で表されます
Veritas Volume Manager のボリューム名。/dev/md/vxfs/dsk/dnum の形式で表されます
キーワード merged。指定されたマウントポイントのファイルシステムがその親とマージされることを示します
fs_options フィールドには、次のいずれかを指定できます。
ufs: UFS ファイルシステムを示します。
vxfs: Veritas ファイルシステムを示します。
swap: スワップボリュームを示します。スワップマウントポイントはハイフン (–) で表します。
論理デバイス (ミラー) であるファイルシステムについては、いくつかのキーワードを使って、そのファイルシステムに対して実行するアクションを指定できます。論理デバイスの作成、論理デバイスの構成変更、論理デバイスの削除などを行うキーワードがあります。これらのキーワードの詳細は、「RAID-1 ボリューム (ミラー) を持つブート環境を作成する」を参照してください。
zonename は、非大域ゾーンの独立したファイルシステムが個別のスライス上に配置されるように指定します。このオプションは、そのゾーンの独立したファイルシステムが /zone1/root/export などの共有ファイルシステム内にある場合に使用します。このオプションは、そのゾーンの独立したファイルシステムを新しいスライスにコピーして、このファイルシステムが共有されないようにします。独立したファイルシステムは、zonecfg add fs コマンドを使って作成したものです。
次の例では、newbe という新しいブート環境が作成されます。ルート (/) ファイルシステムは、c0t1d0s4 上に配置されます。現在のブート環境にある非大域ゾーンはすべて、新しいブート環境にコピーされます。zone1 という非大域ゾーンに対して個別のマウントポイントが c0t1d0s1 上に指定されます。
デフォルトでは、クリティカルファイルシステム (ルート(/)、/usr、/opt ファイルシステム) 以外のすべてのファイルシステムが、現在のブート環境と新しいブート環境との間で共有されます。/export ファイルシステムは共有ファイルシステムです。-m オプションを使用すると、非大域ゾーンのファイルシステムが別のスライス上に配置され、データは共有されません。このオプションは、zonecfg add fs コマンドを使って作成したゾーンのファイルシステムがブート環境間で共有されないようにします。詳細は、zonecfg(1M) のマニュアルページを参照してください。
# lucreate -n newbe -m /:/dev/dsk/c0t1d0s4:ufs -m /export:/dev/dsk/c0t1d0s1:ufs:zone1 |
ブート環境をアップグレードします。
アップグレードに使用するオペレーティングシステムイメージはネットワークから取得します。
# luupgrade -u -n BE_name -s os_image_path |
ブート環境のオペレーティングシステムイメージをアップグレードします。
アップグレード対象のブート環境の名前を指定します。
オペレーティングシステムイメージが置かれているディレクトリのパス名を指定します。
この例では、新しいブート環境 newbe がネットワークインストールイメージからアップグレードされます。
# luupgrade -n newbe -u -s /net/server/export/Solaris_10/combined.solaris_wos |
(省略可能) ブート環境がブート可能であることを確認します。
lustatus コマンドは、ブート環境の作成が完了してブート可能であるかどうかを報告します。
# lustatus boot environment Is Active Active Can Copy Name Complete Now OnReboot Delete Status ------------------------------------------------------------------------ c0t1d0s0 yes yes yes no - newbe yes no no yes - |
新しいブート環境をアクティブにします。
# luactivate BE_name |
BE_name は、アクティブにするブート環境の名前を示します。
x86 ベースのシステムの場合、ブート環境をはじめてブートするときには luactivate コマンドを使用する必要があります。2 回目以降は、GRUB メニューからブート環境を選択すれば、アクティブにできます。手順については、「x86: GRUB メニューを使ったブート環境のアクティブ化」を参照してください。
ブート環境を正常にアクティブにするためには、そのブート環境がいくつかの条件を満たしている必要があります。詳細は、「ブート環境のアクティブ化」を参照してください。
再起動します。
# init 6 |
リブートには init か shutdown コマンドを使用してください。reboot や halt、uadmin コマンドを使用すると、ブート環境の切り替えは行われません。最後にアクティブになっていたブート環境が再びブートされます。
ブート環境が切り替わり、新しいブート環境が現在のブート環境になります。
(省略可能) 別のブート環境に戻します。
新しいブート環境が実行可能でない場合、または別のブート環境に切り替える必要がある場合は、第 6 章障害回復: 元のブート環境へのフォールバック (作業)を参照してください。