Solaris Technical Article
Solaris Live Upgrade の使用法Solaris OS には、システムを稼働させたままで、アップグレードされたオペレーティングシステムを構築し、システムのダウンタイムをリブートに要する最低限の時間に抑える Live Upgrade という機能があります。 この Live Upgrade は、Solaris 8 で導入された機能で、以前、このコーナーでも取り上げました。
この機能は、SPARC プラットフォームだけではなく、x86 プラットフォームでも利用することができます。
Live Upgrade
は、サービスが稼働中のシステムを最小限のダウンタイムでアップグレードできることなどから実運用のサーバに特化した機能のように思われるかもしれません
が、Solaris Express のように毎月リリースされるオペレーティングシステムを評価するような場合にもとても都合のよい機能です。
はじめにこのドキュメントは、Solaris オペレーティングシステムの x86 プラットフォーム版について記述していますが、この情報は SPARC プラットフォーム版にも適用することができます。 このドキュメントによって、より多くのユーザーが Sun の Solaris Live Upgrade ソフトウェアを使用するようになることを期待しています。 現在、次期 Solaris リリースの早期提供版として Solaris Express の更新版が毎月リリースされています。 この Solaris Express をダウンロードして将来の Solaris OS に搭載される新機能にアクセスすることをお奨めします。 早期リリースにアクセスする場合、テストや開発を行うために 2、3 の異なる環境を持つことができますが、Live Upgrade は、これらの複数の環境を切り替えてブートするための手段として使うことができます。 Live Upgrade は、コピー元の環境に存在したシステムファイルやユーザファイルはそのままに可能な限り既存の環境を変えずにアップグレードします。 Live Upgrade の細かい操作方法については、Sun の製品ドキュメントサイト http://docs.sun.com/ を参照してください。 例: Solaris 9 リリースと現在の Solaris Express リリースを切り替えてブートする簡単な例から始めます。 Solaris 9 の製品版リリースと、毎月リリースされる Solaris Express リリースを切り替えてブートしたいシステムがあるとします。 まず、x86 システムの 40G バイトのディスクをパーティショニング分割します。 Live Upgrade は、複数のディスクがあるシステムでは異なるディスクにアップグレードイメージを作って切り替えることもできますが、ここではディスクが 1台で 1人のユーザという最も基本的な構成で、Solaris 9 OS と Solaris Express を切り替えるために Live Upgrade を活用する方法について説明します。 注意: ダウングレードすることはできません。Live Upgrade を含め Sun のツールでは、ダウングレードする機能は提供していません。 システムに対して行った全ての変更は、ファイルアクセス権の変更やファイルシステムの変更を含めて、新しいシステムに移行されます。 これには変更したシンボリックリンク、インストールしたソフトウェア、インストールしたパッケージなどが含まれるため、ダウングレードすることはできません。 この処理に相応な時間がかかることは容易に想像できます。 時間のことだけ考えれば、最低限の変更だけ行ったブート環境をコピーするのが最善と言えるでしょう。 しかし、利便性を考慮すれば、Live Upgrade にこれらの変更をコピーさせ、Solaris の新しいリリースでも同じ環境を作成できるという点で価値があります。 もちろん、これは Live Upgrade の背後にある概念です。 下図は、1台のディスクの場合と 2台のディスクの場合について説明していますが、ここでは左側の 1台のディスクの例を参照してください。 この図では、3 つの root(/) があります。 1 つの root(/) は Solaris 9 のリリースで、残りの 2 つの root(/) は、Solaris Express にアップグレードされた OS です。 この例では、Solaris 9 update 6 をインストールし、変更を加える前に、Solaris Express の現在のリリース用の第 2 ブート環境を作成しています。 あとで、Solaris Express ビルドを作成し、更新します。
図 1: ブート環境の作成 -- root(/) から root(/) へのコピー 図の右側は、2台のハードディスクを使って Live Upgrade を行う場合の例です。 図では、2台のハードディスクまでになっていますが、3台以上のハードディスクを使うこともできます。 また root(/)は、Solaris パーティション内の任意のスライスに設定することができます。
Live Upgrade には
また、これらのブート環境の全てが 図1 では現時点で、3 つの root スライス、1つの共有 swap スライス、および 1つの共有 export スライスを持つ 1つの大きな Solaris パーティションがあります。 ここで、各 root スライスに 9G バイト、swap パーティションに 500M バイト、共有 export に残りの 10〜12G バイトを与えるよう、1 つの 40G バイトドライブをパーティション分割したと仮定します。
ここで説明したインストールの後、追加の root パーティションを Live Upgrade ツールのインストールLive Upgrade を使用する前に、アップグレードの対象となるリリースから最新の Live Upgrade ツールをインストールしてください。 Live Upgrade は、アップグレードのための機能なので古いリリースにダウングレードすることはできません。 したがって、常にアップグレードする対象となるリリースのメディアから最新の Live Upgrade ツールをインストールする必要があります。 最新の Live Upgrade は、アップグレードしたリリースの CD2 に含まれています。 CD 2 の以下のディレクトリにあるインストーラを起動してください。
これにより最新の Live Upgrade ユーティリティをインストールすることができます。 前述したようにアップグレードを実行する前に、最新の Live Upgrade ユーティリティーをインストールする必要があります。 もし、ユーティリティのレベルが同じである場合、WebStart は同じレベルがすでにインストールされていることを通知します。 また、パッケージコマンドを使ってこの作業を行うこともできます。 この場合はまず、既存の Live Upgrade パッケージを削除します。 pkgrm SUNWluu SUNWlur 続いて、Solaris インストールメディアから以下のように新しい Live Upgrade パッケージを追加します。 pkgadd -d /cdrom/cdrom0/s2/Solaris_9/Product SUNWlur SUNWluu 別のブート環境の作成Live Upgrade ユーティリティをインストールしたら、次に別のブート環境を作成します。 Live Upgrade の操作は、コマンド行インタフェースによる方法を推奨します。 luactivate lucancel lucompare lucreate lucurr ludelete ludesc lufslist lumake lumount lurename lustatus luumount luupgrade
lu(1M) インタフェースと Solaris Live Upgrade の併用
lu(1M) コマンドは、root で実行します。
注: 最初に Solaris OS をインストールした際に作成したブート環境の 現在使用しているのと同じ swap が使用できます。また、必要に応じて別の swap を使用することもできます。 一般的には、同じ swap を使用します。 デフォルトでは、新しい swap デバイスが指定されていない限り、同じ swap デバイスが使用されます。 この場合、指定されている新しい swap デバイスのみが使用されます。
ここでは、
"/" パーティション (デフォルトでは アップグレードの実行
2つめのブート環境を作成したあとは、いよいよ実際のアップグレードを実行します。
root で
Solaris のネットワークインストールイメージ (CD から作成可能) を使用する場合、パッケージメディアを、ネットワークインストールをインストールしたディレクトリに指定する必要があります。
ネットワークインストールは任意の場所にインストールできます (たとえば
CD メディアを使用する場合は、まず 2枚の CD の CD1 を挿入し、 Live Upgrade のコマンド行インタフェースの使用法コマンド行ユーティリティを使用してこれらの機能を実行することもできます。ブート環境を作成するには次のコマンドを使用します。 # lucreate -n S10_51 (前の例にある)使用するディスクを入力しないと、ユーザーが選択する有効な選択肢がダイアログボックスに表示されます。
# lucreate -n S10_51 -m /:c1t0d0s0:ufs
2 つのサブミラー # lucreate -n S10_51 -m /:d10:mirror,ufs -m /:c1t0d0s0:attach -m /: c2t0d0s0:attach続いて、最初の CD に関しては、次のコマンドを使用してアップグレードすることができます。 # luupgrade -u -n s10_51 -s /cdrom/cdrom0/s2 引き続き、2 枚目の CD の作業を行います。 # luupgrade -i -n s10_51 -s /cdrom/cdrom0 -O "-nodisplay -noconsole" 言語 CD をインストールする必要がある場合は、必要な各言語 CD を使用して前のコマンドを繰り返します。
# luupgrade -u -n s10_51 -s /net/server/export/s10_51/sparc 上記以外にも、各コマンドには様々なオプションが用意されています。 コマンドの詳細については、マニュアルページやオンラインドキュメントをご参照ください。 ブート環境の起動ここまでで、ブート環境は S10_51 にアップグレードされています。 後は、ブート環境を起動する作業が残っているだけです。 実用的に考えて、最初のブート環境の名前を S9_U6 に変更し、2番目のブート環境の名前を S10_51 にします。 この場合、S10_51 は S9_U6 からライブアップグレードされたもので、また S9_U6 はまだアクティブ(現在ブート中という意味)です。 状態を取得するには、次のように実行します。 # lustatus これにより、次のような出力が表示されます。 Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status ---------------------- -------- ------ --------- ------ ---------- S9_U6 yes yes yes no - S10_51 yes no no yes - 次のようにコマンドを実行します。 # luactivate S10_51 # lustatus Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status ---------------------- -------- ------ --------- ------ ---------- S9_U6 yes yes no no - S10_51 yes no yes no -
# init 6
これで 2つのブート環境が使用できるようになったため、更新元のブート環境を起動し、上記のようにもう 1つのブート環境を作成し、上記の手順でアップグレードを実行し、 ブート環境を追加すれば、3 つのブート環境の任意のブート環境を起動できるようになります。 この例では、ブート環境は次のようになります。 Boot Environment Is Active Active Can Copy Name Complete Now On Reboot Delete Status ---------------------- -------- ------ --------- ------ ---------- S9_U6 yes yes yes no - S10_51 yes no no yes - S10_54 yes no no yes - このような例を使用したのは、現在のリリースである S9_U6 または Solaris Express の 2 つの異なるバージョンを起動するオプションがユーザーに与えられるためです。 この方法で、ユーザーは最新の S9 MU (Maintenance Update) を使用し、また引き続き Solaris Express のビルドを切り替えて使用することができます。 この例では、Solaris Express ビルド 56 が公開されれば、S10_51 ブート環境を名称変更または削除し、S10_54 から S10_56 を作成して、新しいビルドに対して Live Upgrade を実行することができます。 アクティブであるどのようなブート環境からでもアップグレードできるため、コマンドを実行する前には Live Upgrade の実行元であるブート環境を起動することに注意してください。 また、安全を確保するため、常に CD 2 から最新の Live Upgrade ユーティリティーをインストールします。 これにより、Live Upgrade が計画どおりに動作するようになります。 使用できるブート環境の数に制限はありません。 各ブート環境には、"/" ファイルシステム用に、自身に割り当てられたディスクパーティションが少なくとも 1 つ必要です。 このことは事実上、ディスクごとに最大 7 つのブート環境が使用できることを意味します (8 つのスライスから、絶対に使用できないスライス "2" 用の 1 つが差し引かれるため)。 この記事は、Using Solaris Live Upgrade for the x86 (and SPARC) PlatformBy Alan DuBoff を翻訳したものです。 ※ また、この記事は、Solaris 10 リリース前に書かれたドキュメントのため、解説の中で Solaris 9 Update 6 が現行リリースとなっており、Solaris Express が Solaris 10 となっております。 現在は、ご存じのように Solaris 10 が現行リリースであり、Solaris Express は、次期バージョンとなっております。 本内容は、現行の Solaris 10 と現行の Solaris Express に置き換えて読むことができます。 |
BigAdmin SubscriptionsBigAdmin Areas
BigAdmin Sun Center
BigAdmin Topics | |