この章では、Solaris Live Upgrade の実行手順について説明します。
このマニュアルでは「スライス」という用語を使用しますが、一部の Solaris のマニュアルとプログラムでは、スライスのことを「パーティション」と呼んでいる場合があります。
Solaris Live Upgrade を利用してオペレーティングシステムをアップグレードすると、従来アップグレードのために費やしていたサービス停止時間を大幅に短縮できます。このソフトウェアでは、現在動作しているブート環境を複製し、その複製元のブート環境を動作させたまま複製された環境をアップグレードできます。アップグレードする代わりに、フラッシュアーカイブをブート環境にインストールすることもできます。環境をアップグレードしても、フラッシュアーカイブをインストールしても、元のシステム構成は影響を受けずに支障なく機能します。これらの処理の後、システムをリブートすると、複製のブート環境がアクティブ化されて、アクティブなブート環境になります。何か問題が発生しても、対応できるようになっています。リブートするだけで元のブート環境に戻すことができるので、テストや評価処理のためのサービス停止時間を削減することができます。
Solaris Live Upgrade を使用すると、現在動作しているシステムに影響を与えずに、ブート環境のコピーを作成して、次のような作業を行うことができます。
システムのアップグレード
新しいブート環境のディスク構成(ファイルシステムのタイプ、サイズ、および配置)の変更
異なるイメージを持つ複数のブート環境の保守。たとえば、現在のパッチを持つブート環境を作成して、同時に、Update リリースを持つブート環境を作成できます。
Solaris Live Upgrade を使用するには、システム管理についての基礎的な事柄を理解しておく必要があります。ファイルシステムの管理、マウント、ブート、スワップの管理など、システム管理作業に関する基本的な情報については、『Solaris のシステム管理 (基本編)』を参照してください。
次に、非アクティブなブート環境を作成して、この環境をアップグレードし、アクティブなブート環境になるように切り替えるために必要な作業の概要を示します。
ブート環境を作成すると、クリティカルなファイルシステムをアクティブなブート環境から新しいブート環境にコピーできます。必要であれば、ディスクを編成し直して、ファイルシステムをカスタマイズし、クリティカルなファイルシステムを新しいブート環境にコピーします。
Solaris Live Upgrade では、クリティカルファイルシステムと共有可能ファイルシステムの 2 種類のファイルシステムを区別します。クリティカルなファイルシステムとは、Solaris オペレーティング環境に必須であり、アクティブなブート環境と非アクティブなブート環境の vfstab において別々のマウントポイントを持つファイルシステムのことです。たとえば、ルート (/)、/usr、 /var、または /opt がクリティカルなファイルシステムの例です。これらのファイルシステムは常に、ソースブート環境から非アクティブなブート環境にコピーされます。クリティカルなファイルシステムのことを「共有不可能」と呼ぶこともあります。共有可能なファイルシステムとは、/export のように、アクティブなブート環境と非アクティブなブート環境の両方の vfstab において同じマウントポイントを持つユーザー定義ファイルのことです。したがって、アクティブなブート環境内の共有ファイルを更新すると、非アクティブなブート環境のデータも更新されます。新しいブート環境を作成するとき、共有可能なファイルシステムはデフォルトで共有されます。しかし、コピー先のスライスを指定した場合、そのファイルシステムは (共有されずに) コピーされます。共有可能なファイルシステムについての詳細は、共有可能なファイルシステムのスライスを選択するための指針を参照してください。
スワップは、共有可能なファイルシステムの中でも特別なものです。他の共有可能なファイルシステムと同様に、すべてのスワップスライスはデフォルトで共有されます。しかし、スワップ用のディレクトリを指定した場合、スワップスライスは (共有されずに) コピーされます。このためには、キャラクタ型ユーザーインタフェースまたはコマンド行を使用して、lucreate(1M) に -m オプションを指定して実行します。スワップスライスを分割したりマージしたりするには、現在のブート環境 (-s オプションを使用した場合はソースブート環境) 以外のブート環境では、スワップスライスが使用中であってはならないという制限があります。スワップスライスのファイルシステムの種類 (swap, ufs など) にかかわらず、スワップスライスがほかのブート環境で使用されている場合、ブート環境の作成は失敗します。スワップスライスは必須ではありません。スワップを構成し直す手順については、「ブート環境を作成する (キャラクタインタフェース) 」の手順 9、またはブート環境を作成しスワップを再構成する (コマンド行インタフェース)を参照してください。
ブート環境のファイルシステムを作成する場合のルールは、Solaris オペレーティング環境のファイルシステムを作成する場合と同じです。Solaris Live Upgrade では、クリティカルなファイルシステムに無効な構成を作成してしまうことを回避できません。たとえば、lucreate コマンドを用いて、ルート (/) と /kernel を別々のファイルシステムに作成することができますが、このようにルート (/) を分割するのは誤りです。
新しいブート環境を作成するには、クリティカルなファイルシステムを他のスライスにコピーする必要があります。新しいブート環境を作成する前には、ディスクを準備する必要がある場合もあります。ディスクをチェックして、適切にフォーマットされていることを確認します。
スライスがファイルシステムをコピーできるだけの十分な大きさであることを確認します。
ブート環境間でコピーするのではなく、共有したいディレクトリが入っているファイルシステムを確認します。ディレクトリを共有したい場合、そのディレクトリを固有のスライスに配置して新しいブート環境を作成する必要があります。こうすることにより、ディレクトリは、将来のブート環境と共有可能なファイルシステムになります。異なるファイルシステムを作成して共有する方法についての詳細は、共有可能なファイルシステムのスライスを選択するための指針を参照してください。
新しいブート環境を作成するには、まず、クリティカルなファイルシステムをコピーできる未使用のスライスが存在することを確認します。スライスが使用できないかあるいは最小限の要件を満たしていない場合は、新しいスライスをフォーマットする必要があります。メニューからスライスをフォーマットする手順については、「ブート環境を作成する (キャラクタインタフェース) 」の手順 6 を参照してください。
スライスを定義した後、ファイルシステムをディレクトリにコピーする前に、新しいブート環境上のファイルシステムを再構成できます。ファイルシステムを分割およびマージすることによってvfstab を簡単に編集でき、ファイルシステムを再構成することができます。ファイルシステムは、同じマウントポイントを指定して親ディレクトリにマージすることも、異なるマウントポイントを指定して親ディレクトリから分割することも可能です。
ファイルシステムを分割およびマージする手順については、次の節を参照してください。
非アクティブブート環境でファイルシステムを構成した後、自動コピーを開始します。クリティカルなファイルシステムは、指定された宛先ディレクトリにコピーされます。共有可能なファイルシステムは (それらの一部をコピーするように指定しない限り)、コピーされずに共有されます。ファイルシステムをアーカイブから非アクティブなブート環境にコピーする時、ファイルは新しく定義されたディレクトリにコピーされるので、アクティブなブート環境は変更されません。新しいブート環境の作成手順については、新しいブート環境の作成を参照してください。
次の図に、さまざまな方法で新しいブート環境を作成する例を示します。
図 30–1 に、クリティカルなファイルシステムのルート (/) を同じまたは別のディスク上のスライスにコピーして、新しいブート環境を作成する方法を示します。アクティブなブート環境は、既存のスライス上にルート (/) を持っています。新しいブート環境は、新しいスライス上にルート (/) の複製を持っています。ファイルシステム /swap および /export/home はアクティブなブート環境と非アクティブなブート環境で共有されます。
図 30–2 に、クリティカルなファイルシステムを同じまたは別のディスク上の複数のスライスに分割およびコピーして、新しいブート環境を作成する方法を示します。アクティブなブート環境は、既存のスライス上にルート (/) を持っています。このスライスでは、ルート (/) 内に、/usr、/var、および /opt ディレクトリがあります。新しいブート環境では、ルート (/) は分割され、/usr と /opt は別のスライスに配置されています。ファイルシステム /swap と /export/home は両方のブート環境で共有されます。
図 30–3 に、クリティカルなファイルシステムをマージし、同じまたは別のディスク上のスライスにコピーして、新しいブート環境を作成する方法を示します。アクティブなブート環境では、ルート (/)、 /usr、/var、および /opt がそれぞれ別のスライス上にあります。新しいブート環境では、/usr と /opt はルート (/) と同一のスライス上にマージされます。ファイルシステム /swap と /export/home は両方のブート環境で共有されます。
ブート環境を作成した後、アップグレードを行うまでそのブート環境は変更されません。ブート環境のアップグレードはいつでも実行できます。アップグレードを行っても、アクティブなブート環境内のファイルには影響ありません。準備が整った時点で、新しいリリースをアクティブにします。
図 30–4 に、非アクティブなブート環境のアップグレードの例を示します。ブート環境のアップグレード手順については、第 33 章「Solaris Live Upgrade を用いたアップグレード」を参照してください。
アップグレードする代わりに、フラッシュアーカイブをブート環境にインストールすることもできます。フラッシュインストール機能を利用すると、マスターシステムと呼ばれる Solaris オペレーティング環境のリファレンスインストールをシステム上に 1 つ作成します。続いて、クローンシステムと呼ばれる多数のシステム上にこのインストールを複製できます。この場合、非アクティブなブート環境はクローンシステムです。フラッシュインストール機能についての詳細は、第 16 章「フラッシュインストール機能」を参照してください。
フラッシュアーカイブをシステムにインストールするとき、初期インストールの場合と同じように、アーカイブは既存のブート環境にあるすべてのファイルを置き換えます。図 30–5 に、非アクティブなブート環境におけるフラッシュアーカイブのインストールを示します。フラッシュアーカイブのインストール手順については、ブート環境へのフラッシュアーカイブのインストールを参照してください。
新しいブート環境に切り換えてアクティブにする準備ができたら、新しいブート環境をアクティブにしてリブートするだけです。新しいブート環境をアクティブにすると、そのブート環境はブート可能になります。新たに作成したブート環境を初めて起動するとき、ブート環境間でファイルの同期がとられます。ここでいう「同期」とは、前にアクティブであったブート環境のあるシステムファイルやディレクトリを、ブートされているブート環境にコピーすることです。システムをリブートすると、非アクティブなブート環境にインストールした構成がアクティブになります。この時点で、元のブート環境は非アクティブブート環境となります。図 30–6 に、リブート後に非アクティブなブート環境からアクティブなブート環境に切り替わる様子を示します。ブート環境をアクティブにする手順については、ブート環境のアクティブ化を参照してください。
問題が発生する場合は、アクティブ化とリブートを行なって元のブート環境にすぐにフォールバックできます。フォールバックを実行する必要があるのは、新しいブート環境がブートできない場合、ブートできるが正常に稼動しない場合、あるいは、ブート結果に満足できない場合です。
元のブート環境をバックアップして復元するよりも、フォールバックの方がはるかに時間がかかりません。ブートに失敗した新しいブート環境は保存されるので、障害を解析できます。フォールバックを実行できるのは、luactivate を使用して新しいブート環境をアクティブにしたブート環境だけです。
以前のブート環境にフォールバックするには、次の手順に従います。
新しいブート環境は正常にブートしたが、結果に満足できない場合、luactivate コマンドに以前のブート環境の名前を指定して実行し、リブートします。
新しいブート環境がブートしない場合、フォールバックしたいブート環境をシングルユーザーモードでブートし、luactivate コマンドを実行し、リブートします。
シングルユーザーモードでブートできない場合、メディアまたはネットインストールイメージからブートして、フォールバックしたいブート環境上のルート (/) ファイルシステムをマウントし、luactivate コマンドを実行して、リブートします。
フォールバックの手順については、問題の解決: 元のブート環境へのフォールバック (コマンド行インタフェース) を参照してください。
図 30–7 に、リブートしてフォールバックしたときにブート環境が切り替わる様子を示します。
ブート環境の名前変更や削除など、さまざまな保守作業も行うことができます。保守作業の手順については、第 34 章「Solaris Live Upgrade ブート環境の管理」を参照してください。