Solaris 10 6/06 インストールガイド (Solaris Live Upgrade とアップグレードの計画)

第 7 章 Solaris Live Upgrade (計画)

この章では、Solaris Live Upgrade のインストールと使用を開始する前に考慮すべき指針と要件を説明します。「アップグレード計画」でアップグレード全般に関する情報も確認してください。この章の内容は次のとおりです。

Solaris Live Upgrade の要件

Solaris Live Upgrade のインストールと使用を開始する前に、次の要件をよく理解してください。

Solaris Live Upgrade のシステム要件

Solaris Live Upgrade は Solaris ソフトウェアに含まれています。現在の OS に Solaris Live Upgrade パッケージをインストールする必要があります。アップグレード後の OS のリリース番号と同じリリース番号の Solaris Live Upgrade パッケージをインストールする必要があります。たとえば、OS を現在使用している Solaris 9 リリースから Solaris 10 6/06 リリースにアップグレードする場合、Solaris 10 6/06 リリースの Solaris Live Upgrade パッケージをインストールする必要があります。

表 7–1 に、Solaris Live Upgrade でサポートされるリリースを示します。

表 7–1 サポートされる Solaris リリース

現在のリリース 

互換性のあるアップグレードリリース 

Solaris 8 OS 

Solaris 8、9、またはすべての Solaris 10 リリース 

Solaris 9 OS 

Solaris 9 またはすべての Solaris 10 リリース 

Solaris 10 OS 

すべての Solaris 10 リリース 

Solaris Live Upgrade のインストール

Solaris Live Upgrade パッケージのインストールには、次を使用します。

Solaris Live Upgrade を正しく操作するためには、次のパッチのインストールが必要な場合があります。

説明 

参照先 

注意: Solaris Live Upgrade を正しく操作するためには、指定の OS バージョン用の特定のパッチリビジョンのセットがインストールされている必要があります。Solaris Live Upgrade をインストールまたは実行する前に、これらのパッチをインストールする必要があります。


x86 のみ –

このパッチのセットがインストールされていない場合、Solaris Live Upgrade は失敗し、次のエラーメッセージが表示されることがあります。次のエラーメッセージが表示されなくても、必要なパッチがインストールされていない場合があります。Solaris Live Upgrade のインストールを試みる前に、SunSolve の infodoc に記載されたすべてのパッチがすでにインストール済みであることを必ず確認してください。


ERROR: Cannot find or is not executable: 
</sbin/biosdev>.
ERROR: One or more patches required 
by Live Upgrade has not been installed.

infodoc 72099 に記載されたパッチは、随時変更される可能性があります。これらのパッチにより、Solaris Live Upgrade の欠陥が修正される可能性があると同時に、Solaris Live Upgrade が依存するコンポーネントの欠陥も修正される可能性があります。Solaris Live Upgrade で問題が発生した場合は、最新の Solaris Live Upgrade パッチがインストールされていることを確認してください。 

http://sunsolve.sun.com で最新のパッチリストを確認してください。SunSolve の Web サイトで、infodoc 72099 を検索してください。

Solaris 8 または 9 OS を実行している場合、Solaris Live Upgrade インストーラを実行できないことがあります。これらのリリースには、Java 2 Runtime Environment の実行に必要なパッチのセットが含まれていません。Solaris Live Upgrade インストーラを実行してパッケージをインストールするには、Java 2 Runtime Environment の推奨パッチクラスタが必要です。 

Solaris Live Upgrade パッケージをインストールするには、pkgadd コマンドを使用します。または、Java 2 Runtime Environment 推奨パッチクラスタをインストールします。このパッチクラスタは http://sunsolve.sun.com から入手できます。

Solaris Live Upgrade ソフトウェアのインストール方法については、「Solaris Live Upgrade のインストール」を参照してください。

必要なパッケージ

Solaris Live Upgrade で問題がある場合は、パッケージが不足している可能性があります。次の表に示されたパッケージが、使用している OS にインストールされていることを確認してください。これらは、Solaris Live Upgrade を使用する上で必要なパッケージです。

Solaris 10 リリースの場合:

ソフトウェアグループについては、「ソフトウェアグループごとの推奨ディスク容量」を参照してください。

表 7–2 Solaris Live Upgrade に必要なパッケージ

Solaris 8 リリース 

Solaris 9 リリース 

Solaris 10 リリース 

SUNWadmap 

SUNWadmap 

SUNWadmap 

SUNWadmc 

SUNWadmc 

SUNWadmlib-sysid 

SUNWlibC 

SUNWadmfw 

SUNWadmr 

SUNWbzip 

SUNWlibC 

SUNWlibC 

SUNWgzip 

SUNWgzip 

Solaris 10 3/05 のみ: SUNWgzip

SUNWj2rt 


注 –

SUNWj2rt パッケージは、次の状況でのみ必要になります。

  • Solaris Live Upgrade インストーラを実行して Solaris Live Upgrade パッケージを追加する場合

  • アップグレードの際に CD メディアを使用する場合


SUNWj2rt 


注 –

SUNWj2rt パッケージは、次の状況でのみ必要になります。

  • Solaris Live Upgrade インストーラを実行して Solaris Live Upgrade パッケージを追加する場合

  • アップグレードの際に CD メディアを使用する場合


SUNWj5rt 


注 –

SUNWj5rt パッケージは、次の状況でのみ必要になります。

  • Solaris Live Upgrade インストーラを実行して Solaris Live Upgrade パッケージを追加する場合

  • アップグレードの際に CD メディアを使用する場合


システム上のパッケージを確認するには、次のコマンドを入力します。


% pkginfo package_name

Solaris Live Upgrade のディスク容量の要件

アップグレードの一般的なディスク容量の要件に従います。第 3 章「Solaris のインストールおよびアップグレード (計画)」を参照してください。

ブート環境の作成に必要なファイルシステムのサイズを見積もるには、新しいブート環境の作成を開始してください。サイズが計算されたところで、処理を中断できます。

新しいブート環境上のディスクをブートデバイスとして使用する必要があります。システムの中には、ブートデバイスとして機能するディスクを限定するものがあります。ブート制限が適用されるかどうかを確認するには、各システムのマニュアルを参照してください。

新しいブート環境を作成する前に、ディスクの準備が必要になることもあります。ディスクが正しくフォーマットされていることを次のように確認します。

RAID-1 ボリューム (ミラー) を作成する場合の Solaris Live Upgrade の要件

Solaris Live Upgrade は Solaris ボリュームマネージャーのテクノロジを使用して、RAID-1 ボリューム (ミラー) を備えたファイルシステムを持つブート環境のコピーを作成します。Solaris Live Upgrade では、Solaris ボリュームマネージャーのすべての機能が実装されるわけではありませんが、Solaris ボリュームマネージャーの次のコンポーネントが必要になります。

表 7–3 Solaris Live Upgrade と RAID-1 ボリュームに必要なコンポーネント

要件 

説明 

参照先 

状態データベースを 1 つ以上、状態データベースの複製を 3 つ以上作成する必要があります。 

状態データベースでは、Solaris ボリュームマネージャー構成の状態に関する情報がディスクに保存されます。状態データベースは、複製された複数のデータベースコピーの集まりです。各コピーは「状態データベースの複製」と呼ばれます。状態データベースのコピーを作成することで、単一点障害によるデータ損失を防ぐことができます。 

状態データベースの作成については、『Solaris ボリュームマネージャの管理』の第 6 章「状態データベース (概要)」を参照してください。

Solaris Live Upgrade では、ルート (/) ファイルシステムに単一スライスの連結を持つ RAID-1 ボリューム (ミラー) だけがサポートされます。

連結は RAID-0 ボリュームです。複数のスライスが連結された方式では、利用可能な最初のスライスがいっぱいになるまでそのスライスにデータが書き込まれます。そのスライスがいっぱいになると次のスライスに連続してデータが書き込まれます。RAID-1 ボリュームに含まれている場合を除き、連結にはデータの冗長性はありません。 

RAID-1 ボリュームは、最大 3 つの連結から構成されます。 

ミラー化されたファイルシステムの作成のガイドラインについては、「ミラー化されたファイルシステムのスライスを選択するための指針」を参照してください。

パッケージまたはパッチによるシステムのアップグレード

Solaris Live Upgrade を使ってパッケージやパッチをシステムに追加できます。Solaris Live Upgrade を使用すると、システムのダウンタイムはリブートの時間だけですみます。luupgrade コマンドを使って、パッチやパッケージを新しいブート環境に追加できます。luupgrade コマンドを使用する場合は、Solaris フラッシュアーカイブを使用してパッチやパッケージをインストールすることもできます。


注意 – 注意 –

Solaris Live Upgrade でアップグレードしたりパッケージやパッチの追加・削除を行なったりするには、パッケージやパッチが SVR4 パッケージガイドラインに準拠していなければなりません。Sun のパッケージはこのガイドラインに準拠していますが、サードパーティーベンダーのパッケージがこれに準拠しているとは限りません。非準拠のパッケージを追加しようとすると、アップグレード時にパッケージ追加ソフトウェアの障害が発生するか、アクティブブート環境が改変されてしまう可能性があります。

パッケージの要件については、付録 B 「その他の SVR4 パッケージ要件 (リファレンス)」を参照してください。


インストールの種類 

説明 

参照先 

ブート環境へのパッチの追加 

新しいブート環境を作成してから、-t オプションを指定して luupgrade コマンドを実行します。

「ブート環境のオペレーティングシステムイメージにパッチを追加する (コマンド行インタフェース)」

ブート環境へのパッケージの追加 

-p オプションを指定して luupgrade コマンドを実行します。

「ブート環境のオペレーティングシステムイメージにパッケージを追加する (コマンド行インタフェース)」

Solaris Live Upgrade を使った Solaris フラッシュアーカイブのインストール 

アーカイブには、新しいパッケージやパッチがすでに追加されているブート環境の完全なコピーが格納されています。このコピーを複数のシステムにインストールできます。 

 

lucreate コマンドを使用したファイルシステムの作成のための指針

lucreate コマンドに -m オプションを指定することにより、新しいブート環境に作成するファイルシステムとその数を指定できます。作成するファイルシステムの数だけ、このオプションを繰り返し指定する必要があります。-m オプションを使ってファイルシステムを作成する場合、次の項目に留意してください。

ファイルシステムのスライスを選択するための指針

ブート環境のファイルシステムを作成する場合の規則は、Solaris OS のファイルシステムを作成する場合と同じです。Solaris Live Upgrade では、クリティカルファイルシステムに無効な構成を作成できてしまいます。たとえば、lucreate コマンドを入力して、ルート (/) と /kernel に別々のファイルシステムを作成することができますが、このようにルート (/) ファイルシステムを分割するのは誤りです。

ディスクスライスを作成するときは、スライスがオーバーラップしないように注意してください。スライスのオーバーラップがあると、新しいブート環境を作成したつもりでも、アクティブにした後ブートすることができません。こうしたオーバーラップは、ファイルシステムの破損の原因となります。

Solaris Live Upgrade を正しく機能させるには、アクティブブート環境の vfstab ファイルの内容が有効で、ルート (/) ファイルシステムのエントリが少なくとも 1 つは含まれている必要があります。

ルート (/) ファイルシステムのスライスを選択するための指針

非アクティブブート環境を作成する場合は、ルート (/) ファイルシステムがコピーされるスライスを確認する必要があります。ルート (/) ファイルシステムのスライスを選択する場合は、次の項目に留意してください。スライスは、次の条件を満たしていなければなりません。

ミラー化されたファイルシステムのスライスを選択するための指針

新しく作成するブート環境には、物理ディスクスライス、Solaris ボリュームマネージャーのボリューム、および Veritas Volume Manager のボリュームを自由に組み合わせて使用できます。新しいブート環境にコピーされるクリティカルファイルシステムには、次のような種類があります。

新しいブート環境を作成する際、lucreate - m コマンドは、次の 3 種類のデバイスを認識します。


注 –

Veritas VxVM のアップグレードで問題が生じる場合は、「Veritas VxVm の実行中に Solaris Live Upgrade を使用してアップグレードするとシステムパニックが発生する」を参照してください。


RAID-1 ボリューム (ミラー) ファイルシステムを作成するための一般的な指針

次の指針を使用して、RAID-1 ボリュームが使用中または再同期中でないかどうか、あるいは Solaris Live Upgrade ブート環境が使用しているファイルシステムがボリュームに含まれていないかどうかを確認してください。

ボリュームの簡単な命名方法と指針については、『Solaris 10 6/06 インストールガイド (カスタム JumpStart/ 上級編)』「カスタム JumpStart と Solaris Live Upgrade を行うときの RAID ボリューム名の要件とガイドライン」を参照してください。

ボリュームのステータスの確認

ミラーやサブミラーが保守を必要としている場合や使用中である場合、コンポーネントを切り離すことはできません。新しいブート環境を作成して detach キーワードを使用する前に、metastat コマンドを実行してください。metastat コマンドは、ミラーが再同期の処理中かどうか、または使用中かどうかを確認します。詳細は、metastat(1M) のマニュアルページを参照してください。

ボリュームの切り離しとミラーの再同期

detach キーワードを使ってサブミラーを切り離す場合、lucreate コマンドは、デバイスが再同期の処理中かどうかを確認します。デバイスが再同期中である場合、サブミラーを切り離すことはできず、エラーメッセージが表示されます。

再同期処理とは、次のような問題のあとで、あるサブミラーから別のサブミラーにデータをコピーする処理のことです。

再同期処理の詳細は、『Solaris ボリュームマネージャの管理』「RAID-1 ボリューム (ミラー) の再同期」を参照してください。

Solaris ボリュームマネージャーのコマンドの使用

非アクティブなブート環境のボリュームを操作するには、Solaris ボリュームマネージャーのコマンドではなく lucreate コマンドを使用します。Solaris ボリュームマネージャーソフトウェアにはブート環境に関する考慮はありませんが、 lucreate コマンドでは、ブート環境を誤って破棄しないように確認が行われます。たとえば、lucreate では、Solaris ボリュームマネージャーのボリュームの上書きや削除が防止されます。

ただし、Solaris ボリュームマネージャーを使って複雑な連結、ストライプ、ミラーなどを作成した場合、それらのボリュームコンポーネントの操作には Solaris ボリュームマネージャーを使用する必要があります。Solaris Live Upgrade では、これらのコンポーネントを認識して使用できます。Solaris ボリュームマネージャーのコマンドでボリュームコンポーネントを作成、変更、または破棄する前に、lustatus コマンドまたは lufslist コマンドを実行してください。これらのコマンドを使用すると、Solaris Live Upgrade ブート環境で使用されているファイルシステムがどの Solaris ボリュームマネージャーボリュームに置かれているかを確認できます。

スワップファイルシステムのスライスを選択するための指針

ここでは、スワップスライスの構成に関する推奨事項と例を示します。

新しいブート環境のスワップの構成

lucreate コマンドの -m オプションを使って、3 通りの方法でスワップスライスを構成できます。

3 通りのスワップ構成の例を次に示します。現在のブート環境では、ルート (/) ファイルシステムが c0t0d0s0 上に構成されています。スワップファイルシステムは c0t0d0s1 上に構成されています。

スワップの使用中に起きるブート環境作成の失敗

現在のブート環境以外のブート環境によってスワップスライスが使用されている場合、ブート環境の作成は失敗します。-s オプションを使って作成されたブート環境の場合、代替ソースブート環境だけはスワップスライスを使用していてもかまいませんが、それ以外のブート環境が使用していてはいけません。

共有可能なファイルシステムのスライスを選択するための指針

Solaris Live Upgrade は、スライスの内容を指定した新しいブート環境のスライスにコピーします。容量とコピーにかかる時間を節約する場合は、そのスライス上に複数のブート環境で共有できるだけの大きなファイルシステムを用意することもできます。ルート (/) や /var など、OS に欠かせないクリティカルファイルシステムは必ずコピーしてください。/home などの非クリティカルファイルシステムは、複数のブート環境で共有できます。共有可能なファイルシステムは、ユーザーによって定義され、アクティブブート環境と新しいブート環境の両方の個々のスワップスライス上に存在していなければなりません。必要に応じて、複数の方法でディスクを再構成できます。

ディスクの再構成 

例 

参照先 

新しいブート環境を作成する前にディスクスライスを作成し直し、そのスライス上に共有可能なファイルシステムを配置することができます。 

たとえば、ルート (/) ファイルシステム、/var/home がすべて同じスライス上にある場合、ディスクを再構成して /home を固有のスライスに配置できます。デフォルトの設定では、新しいブート環境を作成すると、 /home はアクティブブート環境と新しいブート環境で共有されます。

format(1M)

ディレクトリを共有する場合、そのディレクトリを固有のスライスに配置する必要があります。こうすることにより、ディレクトリは、そのほかのブート環境と共有可能なファイルシステムになります。lucreate -m コマンドを実行すると、新しいブート環境が作成され、ディレクトリを固有のスライスに配置することができます。しかし、この新しいファイルシステムはまだ元のブート環境と共有できません。再度 lucreate -m コマンドを実行して、もう 1 つ別のブート環境を作成する必要があります。この 2 つの新しいブート環境では、ディレクトリを共有できます。

たとえば、Solaris 9 リリースから Solaris 10 6/06 リリースにアップグレードし、両方の OS で /home を共有する場合は、lucreate -m コマンドを実行します。/home を独立したファイルシステムとして専用のスライス上に持つ Solaris 9 リリースを作成できます。次に、再度 lucreate -m コマンドを実行し、そのブート環境を複製します。この 3 つめのブート環境を Solaris 10 6/06 リリースへアップグレードします。/home は Solaris 9 リリースと Solaris 10 6/06 リリース間で共有されます。

共有可能なファイルシステムおよびクリティカルファイルシステムの概要については、「ファイルシステムのタイプ」を参照してください。

新しいブート環境の内容のカスタマイズ

新しいブート環境を作成するときに、ディレクトリやファイルの一部を新しいブート環境へのコピーから除外できます。ディレクトリを除外した場合は、そのディレクトリ内にある特定のファイルやサブディレクトリが含まれるようにすることが可能です。これらのサブディレクトリは、新しいブート環境にコピーされます。たとえば、/etc/mail にあるすべてのファイルとディレクトリを除外するが、/etc/mail/staff にあるすべてのファイルとディレクトリは含まれるように指定できます。次のコマンドでは、staff サブディレクトリが新しいブート環境にコピーされます。


# lucreate -n second_disk -x /etc/mail -y /etc/mail/staff 

注意 – 注意 –

ファイル除外オプションは、注意して使用してください。システムに必要なファイルやディレクトリは削除しないでください。


次の表に、lucreate コマンドでディレクトリやファイルを除外または追加するためのオプションを示します。

指定方法 

除外用のオプション 

追加用のオプション 

ディレクトリまたはファイルの名前を指定します 

-x exclude_dir

-y include_dir

対象のファイルやディレクトリのリストを含むファイルを使用します 

-f list_filename

-z list_filename

-Y list_filename

-z list_filename

ブート環境の作成時にディレクトリやファイルをカスタマイズする例については、「ブート環境の作成と内容のカスタマイズ (コマンド行インタフェース)」を参照してください。

ブート環境間でのファイルの同期

新しいブート環境に切り替えてアクティブにする準備ができたら、新しいブート環境をアクティブにしてリブートするだけです。新たに作成したブート環境を初めて起動するとき、ブート環境間でファイルの同期がとられます。ここでいう「同期」とは、前にアクティブであったブート環境にあるシステムファイルやディレクトリを、ブートされているブート環境にコピーすることです。変更されているファイルやディレクトリがコピーされます。

/etc/lu/synclist へのファイルの追加

Solaris Live Upgrade では、変更されているクリティカルなファイルがチェックされます。クリティカルなファイルの内容が 2 つのブート環境で異なっている場合、そのファイルはアクティブなブート環境から新しいブート環境にコピーされます。ファイルの同期は、新しいブート環境の作成後に /etc/passwd/etc/group などのクリティカルなファイルが変更された場合のために用意されています。

/etc/lu/synclist ファイルには、同期するディレクトリやファイルのリストが記述されています。アクティブなブート環境から新しいブート環境にほかのファイルをコピーする場合もあるでしょう。必要に応じて、ディレクトリやファイルを /etc/lu/synclist に追加できます。

/etc/lu/synclist のリストにないファイルを追加すると、システムをブートできなくなる場合があります。同期処理では、ファイルのコピーとディレクトリの作成だけが行われます。ファイルやディレクトリの削除は行われません。

次の /etc/lu/synclist ファイルの例は、このシステムで同期される標準のディレクトリとファイルを示しています。


/var/mail                    OVERWRITE
/var/spool/mqueue            OVERWRITE
/var/spool/cron/crontabs     OVERWRITE
/var/dhcp                    OVERWRITE
/etc/passwd                  OVERWRITE
/etc/shadow                  OVERWRITE
/etc/opasswd                 OVERWRITE
/etc/oshadow                 OVERWRITE
/etc/group                   OVERWRITE
/etc/pwhist                  OVERWRITE
/etc/default/passwd          OVERWRITE
/etc/dfs                     OVERWRITE
/var/log/syslog              APPEND
/var/adm/messages            APPEND

次のディレクトリやファイルなどは、synclist ファイルに追加してもよいでしょう。


/var/yp                    OVERWRITE
/etc/mail                  OVERWRITE
/etc/resolv.conf           OVERWRITE
/etc/domainname            OVERWRITE

synclist ファイルのエントリは、ファイルまたはディレクトリです。2 番目のフィールドは、ブート環境をアクティブ化するときに行われる更新の方法を示します。ファイルの更新には 3 通りの方法があります。

ブート環境間での強制的な同期

新しく作成したブート環境で初めてブートする時に、Solaris Live Upgrade は新しいブート環境と以前のアクティブブート環境の同期をとります。最初にブートと同期を行ったあとは、要求しない限り Solaris Live Upgrade は同期処理を行いません。

複数のバージョンの Solaris OS を使用していると、強制的に同期を行いたい場合があります。emailpasswd/groupなどのファイルに加えた変更を、アクティブにするブート環境に反映させたい場合があります。強制的に同期を実行すると、Solaris Live Upgrade は、同期をとるファイルの間に矛盾がないかチェックします。新しいブート環境がブートされ、矛盾が検出されると、警告が出されます。この場合、ファイルの同期は行われません。このような場合でも、アクティブ化は正常に終了します。新しいブート環境とアクティブなブート環境の両方で同じファイルに変更を加えると、矛盾が発生することがあります。たとえば、元のブート環境で /etc/passwd ファイルに変更を加えます。そして、新しいブート環境で /etc/passwd ファイルに別の変更を加えた場合などです。このような場合、同期処理では、どちらのファイルをコピーするべきか判断できません。


注意 – 注意 –

以前のアクティブブート環境で発生した変更にユーザーが気付いていない場合や、それらの変更を制御できない場合もあるため、このオプションを使用する際には十分注意してください。たとえば、現在のブート環境で Solaris 10 6/06 ソフトウェアを実行していて、強制的な同期処理を行なったあとで、Solaris 9 リリースにブート環境を戻したとします。この場合、Solaris 9 リリースでファイルが変更されることがあります。ファイルは OS のリリースに依存しているため、Solaris 9 リリースのブートは失敗する可能性があります。Solaris 10 6/06 のファイルと Solaris 9 のファイルは互換性があるとは限らないからです。


x86: GRUB メニューを使ったブート環境のアクティブ化

Solaris 10 1/06 以降のリリースでは、GRUB ブートメニューにブート環境間で切り替えを行うためのオプションの方法があります。GRUB メニューは、luactivate コマンドまたは「Activate」メニューによるアクティブ化に代わるものです。

作業 

インフォメーション 

GRUB メニューを使ってブート環境をアクティブ化する 

「x86: GRUB メニューを使ってブート環境をアクティブ化する (コマンド行インタフェース)」

GRUB メニューを使って元のブート環境にフォールバックする 

「x86: 新しいブート環境のアクティブ化に成功した場合の GRUB メニューを使ったフォールバック」

GRUB の概要と計画に関する情報 

第 5 章「x86: Solaris インストールのための GRUB ベースのブート」

GRUB の全概要とシステム管理作業について 

『Solaris のシステム管理 (基本編)』

リモートシステムからの Solaris Live Upgrade の使用

キャラクタユーザーインタフェースを tip 回線などを介してリモートで表示する場合は、必要に応じてTERM 環境変数を VT220 に設定してください。また、共通デスクトップ環境 (CDE) を使用する場合は、TERM 変数の値を xterm ではなく dtterm に設定してください。