Isaac Rozenfeld著
2012年10月公開
|
自動インストーラは、Oracle Solaris 11で導入された新しいソフトウェア導入アーキテクチャの一部です。 インストールを簡素化し、プロビジョニングの柔軟性を広げ、パッケージの依存性を自動的に整理します。このソフトウェア導入アーキテクチャの機能とメリットについて詳しくは、Oracle Solaris 11の簡単なインストールとクラウドのプロビジョニングを参照してください。
注:この記事は、Oracle Solaris 11.1に関するものです。以前の記事"How to Set Up Automated Installation Services for Oracle Solaris 11"では、同様のタスクをOracle Solaris 11で実行する方法について説明しています。
この記事では、インストール・サービスをホストする初期システム(自動インストーラ・サーバーと呼ばれるもの)を構築する方法、インストール・サービスを作成して構成する方法、インストール・サービスを使用してクライアント・システムをプロビジョニングする方法について説明します。Oracle Solaris 11.1の自動インストール機能に関する基礎事項をおもに説明して、高度な知識の基盤となる一般的な知識の習得を目的としています。
自動インストーラ(AI)を使用すると、ユーザーが操作しなくても、Oracle Solaris 11.1オペレーティング・システムをネットワーク経由でインストールするためのサービスを作成および管理できます。
インストール・プロセス中、3つの大きなステップが各種サービスによって実行されます。
各ステップは、同じ物理システムまたは仮想システムにある各種サービスによって実行されます(サービスは個別のシステム上に存在する場合があります)。この記事の場合、次のサービスは同じシステム上に存在します。
注:DHCPを使用できない環境の場合、ネットワークIDをシステムに手動で割り当てるための代替方法がいくつかあります。たとえば、ネットワーク構成の引数をSPARCシステムのOpenBoot PROM(OBP)プロンプトで使用します。DHCPサーバーを使用する代わりに、ネットワークIDをクライアント・システムに割り当てる手順を使用すれば、インストールを完了できます。また、ソフトウェアが複数のIPSリポジトリに分散されている場合でも、そのようなソフトウェアをシステムにインストールすることが可能です。
この記事では、2台のOracle Solaris 11.1システムを設定します。
最初のシステムのインストールは対話的に実行され、続く2台目のシステムのインストールは自動的に実行されます。
図1 自動インストール・サーバーによってインストールされるクライアント・システム
図1の左側に示す最初のシステムは、インストール環境をインストールするために使用します。つまり、自動インストーラ、IPS、DHCPの各サービスを実行するためのシステムとなります。図1の右側に示す2台目のシステムは、自動インストールを実証するために作成、インストールします。
この記事の手順に従えば、図1に示すように構成されたシステムが2台構築されます。 クライアント・システムには、選択したソフトウェアやシステム構成を含めた、選択したインストール・プロファイルがプロビジョニングされます。
Oracle Solaris 11.1の評価を始めるにあたり、まず、少数のシステムを対話的にインストールします。こうすることで、新しい機能に慣れ、オペレーティング・システム上でアプリケーションや管理手順のテストを始めることができます。
Oracle Solaris 11.1では、2つの対話的なインストール・オプションのいずれかを選択できます。
注:初回インストール後、Package ManagerのGUIまたはpkg
コマンドを使用して、ネットワーク・パッケージ・リポジトリからソフトウェア・コンポーネントを追加できます。
この記事では、テキストベースのインストーラを使用して、サーバー・システムをインストールします。テキストベースのインストーラには自動インストーラ・パッケージがあらかじめ付属しているため、追加ステップとして、自動インストーラ・パッケージをダウンロードしてインストールする必要はありません。
事前に次のステップを実行してください。
以降、この記事では次のタスクを実行します。
注:この記事ではおもに、インストール・サービスを素早く実行するのに必要なタスクの一部について説明します。Oracle Solarisの自動インストール・サーバーの作成方法のすべてのステップ、すべての属性を構成する方法について詳しくは、Oracle Solarisのドキュメント・ライブラリにある"Oracle Solaris 11システムのインストール"のパートIII"インストール・サーバーを使用したインストール"を参照してください。
どのようなタスクを実行するのかがわかったので、ここでは、目標を達成するために、図2に示すステップ(コマンドラインの例を含む)を実行します。手順を実行しながら図2を参照して、目標である"全体像"の残りの部分を把握してください。中央にあるクライアントは、表示されているすべてのサービスを使用します。
IPSリポジトリとDHCPサーバーは、この事例のように、インストール・サーバー上に配置される場合があります。このようにすると、作業が楽になり、構成するインフラストラクチャが少なくて済みます。
図2 自動インストール・サービス
まず、テキストベースのインストール方法を使用して、サーバーをインストールします。
インストール・プロセスの間、言語の設定、タイムゾーン、およびディスク・パーティション情報(この例では、ディスク全体の使用を選択)に関する基本的な事項を指定します。次に、rootパスワード、自分の名前、ユーザー名、およびユーザー・パスワードを指定して、自動ネットワーク検出の使用を選択します。
次のステップを実行して、インストール・プロセスを開始します。
注:デフォルトのメニュー選択(最初のエントリ)をすぐにブートする場合、[Esc]を押す必要はありません。
図3 ブートするOSイメージの選択
図4 キーボード・レイアウトの選択
図5 Install Oracle Solarisの選択
図6 Welcome画面
図7 ディスク検出方法の選択
図8 ディスクの選択
テキストベースのインストーラを使用する場合、事前にプロビジョニングされたシステム構成ファイルを利用できないため、システム構成ツールが起動し、情報を指定するように指示されます。
次のステップを実行してください。
aiserver
と入力し、「Manually」を強調表示します。次に、[F2]を押して処理を続行します。注:この例ではAutomaticallyを選択しませんが、選択する場合、ネットワーク情報を入力する必要はありません。構成が自動的に行われます。
図9 ネットワークの手動構成の選択
図10 ネットワーク設定の指定
図11 DNSを構成しない選択
図12 ネーム・サービスを設定しない選択
図13 タイムゾーン地域の選択
図14 日時の選択
図15 構成の完了
図16 登録情報の入力
次の画面で、インストールが進行中であることを示す進行状況バーが表示されます。インストールが完了すると、アクティビティをまとめた画面が表示され、[F8]を押して再起動するように指示されます。
図17 ハード・ディスクからのブート
リスト1に示すように、ネットワークに静的IPアドレスが設定されていることを確認してから、手順を進めます。 後でシステムをクライアントとして動作させる際に、このアドレスを使用する必要があります。IPSリポジトリへの接続はこのシステムが行います。次のステップでは、ローカルIPSリポジトリを設定します。
root@aiserver:~# dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- root@aiserver:~# ipadm show-addr ADDROBJ TYPE STATE ADDR lo0/v4 static ok 127.0.0.1/8 net0/v4 static ok 192.168.1.222/24 lo0/v6 static ok ::1/128 net0/v6 addrconf ok fe80::a00:27ff:fec0:3399/10
リスト1 ネットワークの静的IPアドレスの確認
注:dladm
とipadm
は、ネットワーク構成を管理するための、Oracle Solaris 11で利用可能な新しいコマンドです。
Oracle Solaris 11インストールはデフォルトにより、pkg.oracle.com
でホストされるソフトウェア・パッケージ・リポジトリを使用するように構成されています。ほとんどの場合、管理者は、データセンターのネットワーク制限のため、またはクライアント・インストールの速度を改善するため、あるいは単に、どのソフトウェア・クライアント・システムをアクセス可能にするかを管理しやすくするため、このリポジトリをローカルにコピーすることを選択しています。この記事では、前にダウンロードしたIPSリポジトリ・イメージを使用して、ローカルIPSリポジトリを作成します。
IPS
という名前のZFSファイル・システムを作成します。 次のrsync
コマンドに示される、ISOがマウントされるパスに留意してください。IPSリポジトリ・イメージは6GB以上のデータからなるため、rsync
コマンドの完了には時間がかかります。
root@aiserver:~# zfs create rpool/IPS root@aiserver:~# zfs set mountpoint=/IPS rpool/IPS root@aiserver:~# mkdir /IPS/Solaris11.1 root@aiserver:~# rsync -a /media/SOL_11_1_REPO_24b_FULL/ /IPS/Solaris11.1/
root@aiserver:~# svccfg -s application/pkg/server setprop \ pkg/inst_root=/IPS/Solaris11.1/repo root@aiserver:~# svccfg -s application/pkg/server setprop pkg/readonly=true root@aiserver:~# svcadm refresh application/pkg/server root@aiserver:~# svcadm enable application/pkg/server
pkg
コマンドを使って、IPSクライアントのsolaris
パブリッシャを同じホスト(つまり、この例では自身)にポイントして、ローカルで構成したIPSリポジトリを使用するようにシステムを構成します。root@aiserver:~# pkg set-publisher –G '*' -g http://192.168.1.222 solaris
システムにIPSパッケージ・リポジトリを配置したら、今度は自動インストーラ・サービスのインスタンスを作成します。
Oracle Solaris 11のリポジトリ・イメージをすでにローカルで作成し、自動インストール・サーバー自体のパブリッシャとして設定してあるため、.iso
ファイルを個別にダウンロードしなくても、pkg://install-image/solaris-auto-install
パッケージからこのインストール・サービスを作成することで、このタスクを完了できます。それには、次のステップを実行します。
root@aiserver:~# installadm create-service -n s11x86service -i 192.168.1.210 -c 1
注:SPARCサービスを作成する場合は、前述のコマンドに-a sparc
引数を追加してください。また、-n
スイッチは任意で使用します。自動インストーラは、作成されているサービスのアーキテクチャを理解し、名前を付ける(名前が指定されていない場合)ことが可能です。
このコマンドにより、s11x86service
という名前のサービスが作成され、192.168.1.210から始まるDHCPクライアントを提供します。-c
引数は、1つのIPアドレスのみが割り当てられるように指定します。この例では、1台のクライアント・システムのみをプロビジョニングするため、この引数を使用することに問題はありません。
y
(はい)と回答します。インストール・サービスを作成すると、次の処理が実行されます。
default-i386
という名前)が作成される。注:この例では、サービスの1番目のインスタンスを扱っているため、後でサービスへの変更を参照するときは、デフォルトのサービス名を使用する必要があります。アーキテクチャ固有のデフォルトのインストール・サービスは必ず存在するので、このことを覚えておいてください。最初に作成したサービスでコマンドを実行する際、コマンドにはs11x86service
ではなく、default-i386
の名前を反映させる必要があります。
root@aiserver:~# installadm list
次のステップでは、ネットワークからクライアント・システムをブートし、先に設定した自動インストール・サービスを使用して、このクライアント・システムをプロビジョニングします。
図18 ネットワーク・ブート
次に、図19に示すように、GRUBメニュー(タイマー付き)によって処理が指示され、 デフォルトの選択肢("Text Installer and command line"オプション)が強調表示されます。
このオプションを選択するのは、システムがネットワークから誤ってブートされたときに、自動的に再インストールされるのを避けるためです。
図19 GRUBメニュー
次に続くのは、図20に示すように、自動インストール・サーバーからのネットワーク・ブートの構成です。 クライアントは、mini-root(インストーラを実行するための一連の少数のファイル)をダウンロードし、ネットワーク上の自動インストール・マニフェストの場所を特定し、そのマニフェストを取得してから処理を実行し、目的のソフトウェア・ペイロードを取得するIPSリポジトリのアドレスを特定します。
図20 連続的なネットワーク・ブート
画面に表示されているように、pkg.oracle.com
がIPSリポジトリのデフォルト・アドレスです。ただし、この例では、ローカルIPSリポジトリが作成済みなので、図21に示すように、ローカルIPSリポジトリを使用してクライアント・システムをインストールします。
図21 デフォルトの代わりにローカル・リポジトリを使用
画面上の重要な情報の一部には、ログ・ファイルの場所、このインストールで使用されているXMLマニフェストが含まれます。
自動インストール・マニフェストで厳密に構成されたデフォルトのIPSリポジトリは、Oracleによってホストされ、XMLコード<origin name=>
はpkg.oracle.com
をポイントします。システムがインターネットに接続できる場合、画面にはインストールが正常に完了したことが示されます。
ただし、システムがインターネットに接続できない場合、mini-rootで実行されたDNS解決に失敗し、システムは、pkg.oracle.com
にあるデフォルトのIPSリポジトリにアクセスできず、図22に示すように、エラー・メッセージが表示されます。
図22 エラー・メッセージ
実際には、これはたいした問題ではありません。なぜなら、内部IPSリポジトリは(前のステップで行ったように)、ほとんどのエンタープライズ・インストールで構築され、ほとんどのインストール・クライアントは、インターネットに接続して、インストールしたシステムごとにpkg.oracle.com
からパッケージを取得する代わりに、内部IPSリポジトリをポイントします。次のセクションに進んで、内部IPSリポジトリにポイントするようにデフォルト・マニフェストを変更する方法を説明します。
インストール・クライアントによって使用されるデフォルト・マニフェストを変更するために、installadm
コマンドを利用します。s11x86service
というサービスがすでに存在するので、これから実行するのは次の3つのタスクになります。
次の手順を使用して、これらのタスクを実行します。
root@aiserver:~# installadm list -m Service Name Manifest Status ------------ -------- ------ default-i386 orig_default Default s11x86service orig_default Default
s11x86service
およびこのサービスに関連付けられたデフォルト・マニフェストを確認します。-m
スイッチは、サービスに関連付けられたマニフェストの名前を示します。出力をファイルにキャプチャするため、コマンドの出力を次のようにリダイレクトします。root@aiserver:~# installadm export -n s11x86service -m orig_default > /var/tmp/orig_default.xml
IPSリポジトリの場所を変更するために、ファイルを編集して、変更を加えます。
orig-default2.xml
など別の名前で作成し、コピーを編集します。<origin name="http://pkg.oracle.com/solaris/release"/>
<origin name="http://192.168.1.222/solaris"/>
通常(ただし、この例の場合は異なります)、多数のサービスの処理を同時に開始する場合、この処理を実行するコマンドは次のようになります。
root@aiserver:~# installadm update-manifest -n s11x86service -m orig_default -f /var/tmp/orig_default2.xml
ただし、この例では、サービスの1番目のインスタンスで作業を行っているため、後でサービスへの変更を参照するときは、デフォルトのサービス名を使用する必要があります。したがって、上のコマンドではサービス名のみを変更します。サービス名は、s11x86service
の代わりにdefault-i386
にする必要があります。
そのため、次のコマンドを代わりに実行します。
root@aiserver:~# installadm update-manifest -n default-i386 -m orig_default -f /var/tmp/orig_default2.xml
再起動する前に、ログインしてシステムを調べ、インストール・ログ・ファイル(/system/volatile/install_log
)などのログ・ファイル、またはシステムのインストールで使用した自動インストール・マニフェスト(/system/volatile/ai.xml
)を確認することをお勧めします。
システムを再起動する前にログインする場合は、デフォルトの自動インストール・イメージのユーザー名はroot
、パスワードはsolaris
となります。
準備ができたら、クライアントを再起動します。ブートすると、以前と同じようなプロセスが実行されますが、今回はDNSエラーで停止されることはありません。代わりに、マニフェストによってリストされるパッケージを取得するために、ローカルIPSリポジトリにアクセスします。
プロセスが図23のように開始したら、origin
行のアドレスに留意してください。
図23 カスタマイズしたマニフェストを使用するクライアントのブート
自動インストール・マニフェストに対して実行可能なカスタマイズの種類は他にも多数あります。これらの変更を行う際の指針として、"デフォルト・マニフェストのカスタマイズ"のセクションに記載されているプロセスに従い、適切なインストール・サービス名を反映させてください。
インストールが開始すると、図24に示す出力のように処理が進行します。
図24 出力
その後、インストールは、図25に示すような出力で完了します。
図25 最終出力
システムが再起動すると、事前にプロビジョニングされた構成ファイルが検索されます。ファイルが検出されない場合、システム構成ツールが起動します。この記事の前の部分で、システム構成ツールがどのように機能するのかについて説明しました。
インストール・プロセスを完全に自動化する場合は、インストール・サービスの一部として利用可能になる構成ファイルをプロビジョニングできます。それにはまず、最小限の構成データをすべて含んだシステム構成プロファイルを作成する必要があります。次に、サービスのクライアントによって使用されるインストール・サービスにこのプロファイルを追加します。
sysconfig
(1M)ツールを使用します。構文は次のようになります。root@aiserver:~# sysconfig create-profile -o sc.xml
このコマンドにより、システム構成ツールが実行され、メッセージに答えて関連するエントリに入力するプロセスが進行します。入力後、完成した出力プロファイルを検証するには、インストール・サービスに対してプロファイルを実行し、プロファイルのファイル名を指定します。次に例を示します。
root@aiserver:~# installadm validate -n default-i386 -P sc.xml
注:さらに例を見るには、"How to Configure Oracle Solaris 11 Using the sysconfig
Command"を参照してください。
/export/auto_install/s11x86service/auto_install/sc_profiles
ディレクトリに、sc_sample.xml
という名前のファイルがあります。このテキスト・ファイルを調べると、ユーザー名とパスワード、rootロールのパスワード、キーボードのマッピング、タイムゾーン、DNS構成、およびネットワーク構成などの多数のパラメータが定義されています。このファイルに変更を加える場合は、別の場所にコピーしてから、インストール・サービスに関連付けます。この例では、変更を加える必要がないため、デフォルトのシステム構成パラメータを受け入れて、次のステップに進みます。/var/tmp
など)をコピーして、そのコピーで作業を行うので、次の処理を実行します。root@aiserver:~# cp /export/auto_install/s11x86service/auto_install/sc_profiles/sc_sample.xml /var/tmp/sc_client.xml
root@aiserver:~# installadm create-profile -n default-i386 -f /var/tmp/sc_client.xml -p sc_client
root@aiserver:~# installadm list -p
ネットワークからクライアントをリブートすると、システムのインストールと構成のプロセスが完全に自動的に実行されます。ユーザー名jack
(パスワードjack
)など、システム構成プロファイルで構成した資格証明でログインし、必要に応じて、root
ロール(パスワードsolaris
)で権限の昇格を行うことができます。
この記事では、自動インストーラを使用してシステムを作成、インストール、ブート、構成する方法を学びました。自動インストール・マニフェストを変更する方法、変更を自動的に適用する方法も学びました。また、ローカルIPSリポジトリを追加して、環境内にある社内構築したすべてのシステムに対してホストする方法(保護の必要なシステムへの外部ルーティング可能な接続は不要)も学習しました。
自動インストーラの最大のメリットの1つは、Image Packaging System、システム構成ツール、ZFSファイル・システムなど、Oracle Solarisインフラストラクチャの他の部分との統合レベルです。この統合により、プロビジョニングの大半を自動化できるため、インストール・サービスは最終的により多くの処理を実行して、システムを"アプリケーション対応"の状態に近づけることができます。それには、特定のシステム構成プロファイルおよび適切に定義された一連のソフトウェア・パッケージとサービスをシステムにインストールします。その結果、極めて高速で安定したスケーラブルなプロビジョニングが実現します。
また、Oracle Solaris Zonesでシステムに構成する場合、自動インストーラは複数のゾーンを作成して、Oracle Solarisのインストールで使用したのと同じメカニズムにより、これらのゾーンを自動的にインストールできます(自動インストールでゾーンをプロビジョニングする方法について詳しくは、Oracle Solaris 11テクノロジー・スポットライトのWebページを参照)。
以後の記事では、この機能を拡張して、自動インストール・プロセスを介してOracle Solaris Zonesをプロビジョニングする方法について説明する予定です。
詳細な情報や次のステップについては、以下のリソースを参照してください。
sysconfig
command"その他のリソースは次のとおりです。
Isaac RozenfeldはOracle SolarisのPrincipal Product Managerで、採用、インストール、およびライフ・サイクル管理のテクノロジーに取り組んでいます。同氏は、Sun Microsystemsの買収に伴い、2010年にオラクルに入社しました。
リビジョン1.2、2013/01/09 |