4 クライアント・システムのプロビジョニング
警告:
このドキュメントで説明するソフトウェアは、Extended Supportでの期間限定でサポートされます。 Oracle Linux 7は現在拡張サポート中です。 詳細は、Oracle Linux拡張サポートおよびOracleオープン・ソース・サポート・ポリシーを参照してください。
OS管理ハブを使用してオペレーティング・システム・インフラストラクチャを管理することを検討してください。 詳細は、「OS管理ハブ」を参照してください。
この章では、Kickstartプロファイルを使用してクライアント・システムをプロビジョニングする方法について説明します。 Kickstartを使用すると、Oracle Linux Managerはプロビジョニングする任意のOracle LinuxサーバーにOracle Linux Manager Clientソフトウェアを自動的にインストールし、そのサーバーをOracle Linux Managerクライアントとして登録します。
Kickstartツリー、ディストリビューション、およびプロファイルについて
Kickstartを使用してベアメタル・システムおよび仮想マシンをプロビジョニングするには、インストールするOracle Linuxリリースとシステム・アーキテクチャの組合せごとにOracle Linux Managerでディストリビューションを作成します。
まず、すべてのKickstartディストリビューションのルート・ツリーとして機能するローカル・ディレクトリ/var/distro-trees
をOracle Linux Managerサーバーに設定します。 このディレクトリは、httpd
およびtomcat
サービスによって読み取り可能でアクセス可能である必要があります。 Kickstartツリーにはパッケージを含める必要はありません。 パッケージは、最終的にはOracle Linux Managerによって提供されます。
ノート:
すべての例で、このドキュメントはKickstartルート・ツリーが/var/distro-trees
であることを前提としています。
インストール・カーネルおよび初期RAMディスク・イメージを/var/distro-trees/kickstart-tree/images/pxeboot
サブディレクトリに格納します。 たとえば、Oracle Linux 8インストールのディストリビューションがol8-x86_64-server
の場合、カーネルおよびRAMディスク・イメージのディレクトリは/var/distro-trees/ol8-x86_64-server/images/pxeboot
です。
Kickstartツリーを既存のチャネルに関連付けてKickstartディストリビューションを作成します。 クライアントはKickstartツリーを使用してブートしますが、既存のチャネルからソフトウェア・パッケージをインストールします。
ノート:
現在、spacewalk-repo-sync --sync-kickstartコマンドを使用して、Oracle Linux yumサーバーまたはULNで使用可能なチャネルからKickstartディストリビューションを作成することはできません。
キックスタート・ディストリビューションを作成したら、キックスタート・プロファイルで使用できます。 通常、各プロファイルは異なるタイプのサーバーをプロビジョニングします。 Kickstartファイルを生成するようにプロファイルを構成することも、既存のKickstartファイルを使用することもできます。 Oracle Linuxリリースとシステム・アーキテクチャの同じ組み合わせを共有するサーバーをプロビジョニングする必要があるため、1つのディストリビューションに多くのプロファイルを関連付けることができます。
Kickstartツリーの設定
Oracle Linux ManagerサーバーでKickstartツリーを設定するには、次の手順を実行します:
-
たとえば、Oracle Linux 8インストール用のディストリビューションのKickstartツリーを作成します。
sudo mkdir -p /var/distro-trees/ol8u1-x86_64-server
-
SELinuxがシステムで強制モードで有効になっている場合は、
http
およびtomcat
でファイルが使用可能になるように、SELinuxファイル・タイプを適切に設定します。-
Kickstartツリーのデフォルト・ファイル・タイプを
httpd_sys_content_t
として定義します。sudo /usr/sbin/semanage fcontext -a -t httpd_sys_content_t "/var/distro-trees(/.*)?"
-
ファイル・タイプをディレクトリ階層全体に適用します。
sudo /sbin/restorecon -R -v /var/distro-trees
ノート:
semanageおよびrestoreconコマンドは、
policycoreutils-python
およびpolicycoreutils
パッケージにより提供されます。
-
-
Kickstartツリーに、特定のOracle Linuxリリースおよびシステム・アーキテクチャに対応する完全なOracle Linuxメディア・パックDVDイメージをダウンロードします。
このイメージは、https://edelivery.oracle.com/linuxのOracle Software Delivery Cloudからダウンロードできます。
-
イメージを適切なマウント・ポイントにマウント
たとえば、ステップ1で作成したディレクトリに基づいて、次のように入力します:
sudo mount -o loop /var/ISOs/DVDimage.iso /var/distro-trees/ol8u1-x86_64-server
-
/etc/fstab
ファイルにエントリを作成して、リブート後にシステムが常にDVDイメージをマウントするようにします。/var/ISOs/V100082-01.iso /var/distro-trees/OL8u1-x86_64-server iso9660 loop,ro 0 0
-
キックスタート・ツリーをソフトウェア・チャネルに関連付けるか、iPXEクライアントをブートできるようにするには、
/var/www/html
から/var/distro-trees
へのシンボリック・リンクを作成します。sudo ln -s /var/distro-trees /var/www/html/distro-trees
インストール・イメージを表示するには、ブラウザを使用して、Oracle Linux ManagerサーバーまたはプロキシURLに移動します。 現在の例では、URLはhttps://olmsvr_FQDN/distro-trees/ol8u1-x86_64-server/images
です。
ファイルが表示されない場合は、次の操作を行います:
-
/etc/httpd/conf/httpd.conf
ファイルを開きます。 -
ファイルの
<Directory "/var/www/html">
セクションで、Options Indexes FollowSymLinks
という行を指定します。この設定により、ディレクトリの索引付けおよびシンボリック・リンクのサポートが有効になります。
-
httpd
サービスをリロードしてください。sudo service httpd reload
Kickstartディストリビューションの作成
キックスタート分布は、特定のキックスタート・プロファイルのパスとコンポーネントを定義します。
Oracle Linux Manager Webインタフェースの使用
図4-1 キックスタート可能な配布ページ

「システム」に移動し、「キックスタート」、「ディストリビューション」の順に選択します。
-
ディストリビューションを作成するには:
-
「+ディストリビューションの作成」をクリックします。
-
「アクティベーション・キーを作成」ページで、次のフィールドにキーの設定を入力します:
- ディストリビューション・ラベル
-
ディストリビューションのラベル(例:
ol8u1-x86_64-server
)。 - ツリー・パス
-
ディストリビューションのKickstartツリーのパス(
/var/distro-trees/ol8u1-x86_64-server
など)。 - ベース・チャネル
-
配布が関連付けられているベース・チャネル(例:
Oracle Linux 8 (x86_64) Base
)。 - インストーラの生成
-
インストーラを提供したオペレーティング・システム・リリース(例:
Red Hat Enterprise Linux 8
)。 - カーネル・オプション
-
インストール・カーネルの起動時に使用されるオプション(
noapic
、text
など)。 - ポスト・カーネル・オプション
-
インストール済みのシステム・カーネルをブートするときに使用するオプション(
3
、selinux=0
など)。
-
「キックスタート・ディストリビューションを作成」をクリックしてディストリビューションを作成します。
-
-
分布を表示するには、その項目を選択してその詳細を表示します。
-
ディストリビューションを変更するには:
-
設定を編集するディストリビューションを選択します。
-
「キックスタート・ディストリビューションを編集」ページで、必要に応じて設定を変更します。
-
Kickstart変数を作成、変更または削除するたびに:
-
「変数」タブを選択します。
-
「キックスタート変数」ページで、新しい変数を定義するか、既存の変数エントリを編集または削除します。
-
「変数の更新」をクリックして変更を保存します。
-
編集タブを選択すると、「キックスタート・ディストリビューションを編集」ページに戻ります。
-
-
「キックスタート・ディストリビューションを更新」をクリックして変更を保存します。
-
-
配信を削除するには:
-
削除するディストリビューションを選択します。
-
「キックスタート・ディストリビューションを編集」ページで、「ディストリビューションを削除」をクリックし、「ディストリビューションを削除」をクリックして確認します。
-
distribution_createコマンドの使用
spacecmdセッションで、次の例に示すようにKickstartディストリビューションを作成します。 太字で示されているように、コマンド対話型の出力に関する特定の情報を指定する必要があります。
spacecmd {SSM:0}> distribution_create
Name: ol8u1-x86_64-server Path to Kickstart Tree: /var/distro-trees/ol8u1-x86_64-server Base Channels ------------- oraclelinux7-x86_64 oraclelinux8-x86_64 Base Channel: oraclelinux8-x86_64 Install Types ------------- fedora generic_rpm rhel_2.1 rhel_3 rhel_4 rhel_5 rhel_6 rhel_7 rhel_8 suse Install Type: rhel_8
すべてのアクティブ化キーをリストするには、distribution_listコマンドを使用します。
アクティブ化キーの詳細を表示するには、distribution_details keyコマンドを使用します。次に例を示します:
spacecmd {SSM:0}> distribution_details ol8u1-x86_64-server
アクティブ化キーを削除するには、distribution_delete keyコマンドを使用します。 プロンプトが表示されたら、コマンド・アクションを確認してください。
Kickstartプロファイルの構成
Kickstart構成ファイルには、Kickstartがサーバーの自動インストールを実行するために必要なすべての情報が含まれています。 すべてのOracle LinuxインストールでKickstartファイル(/root/anaconda-ks.cfg
)が作成されます。 このファイルを使用してインストールを繰り返したり、このファイルの設定を異なるシステム構成用にカスタマイズできます。 このファイルは、インストールされたシステムのブート時の問題のトラブルシューティングにも役立ちます。
Oracle Linux Managerでは、Kickstartファイルを生成するKickstartプロファイルを作成できます。 ただし、Oracle Linux ManagerにアップロードまたはコピーしたKickstartファイルを含むプロファイルを自分で作成できます。
Kickstartファイルを自動的に生成するOracle Linux ManagerでKickstartプロファイルを作成できます。 ただし、Spatewalkにアップロードまたはコピーする既存のKickstartファイルを使用することもできます。
Oracle Linux Manager webインタフェースまたはコマンドラインを使用して、Kickstartプロファイルを構成します。
Oracle Linux Manager Webインタフェースの使用
図4-2 キックスタート・プロファイル・ページ

GPGキーとSSL証明書の追加
Oracle Linuxには、各リリース・バージョンに必要なGPGキーが付属しています。 ただし、サードパーティ・ベンダーのGPGキーは手動で追加する必要があります。
インストールされたバージョンに適したOracle GPGキーは、デフォルトですべてのOracle Linuxサーバーのfile:///etc/pki/rpm-gpg-RPM-GPG-KEY
に格納されます。
-
「システム」に移動し、「キックスタート」、「GPGとSSLキー」の順に選択します。
-
「保存されたキー/証明書を作成」をクリックして、「GPG/SSLキーを作成」ページを表示します。
-
Descriptionフィールドに、キーまたは証明書のテキストの説明を入力します。
-
必要に応じて、「タイプ」プルダウン・メニューからGPGまたはSSLを選択します。
-
「ブラウズ」をクリックし、キーまたは証明書ファイルを選択して、ファイルの内容をKey contentsフィールドにアップロードまたは貼り付けます。
ノート:
GPGキーはバイナリ形式ではなくASCII形式でなければなりません。
-
「キーの作成」をクリックします。
プロファイルの作成
「システム」に移動し、「キックスタート」、「プロファイル」の順に選択します。
Oracle Linux Managerによって生成されたKickstartファイルを含むプロファイルを作成するには:
-
「+キックスタート・プロファイルの作成」をクリックします。
-
ステップ1の「キックスタート・プロファイルを作成」ページで、次のフィールドにプロファイル設定を入力します:
- ラベル
-
プロファイルのラベル(例:
ol8u1-x86_64-minimal
)。 - ベース・チャネル
-
配布が関連付けられているベース・チャネル(例:
Oracle Linux 8 (x86_64) Base
)。 - キックスタート可能な木
-
プロファイルが関連付けられているキックスタート・ディストリビューション(
ol8u1-x86_64-server
など)。 - 仮想化タイプ
-
仮想化のタイプ。
Oracle VMまたはOracle VM VirtualBoxによってホストされている仮想マシンへのOracle Linuxインストールの場合は、「なし」を選択します。
Oracle Linux 8およびOracle Linux 7をカーネル・ベースの仮想マシン(KVM)ゲストとして使用する場合、「KVM仮想化ゲスト」を選択します。
「次へ」をクリックします。
-
ステップ2の「ディストリビューション・ファイルのロケーション」ページで、「次」をクリックして、Oracle Linux ManagerがKickstartツリーから作成したデフォルトのダウンロード・ロケーションを受け入れます。
-
ステップ3の「ルート・パスワード」ページで、新しくインストールしたシステムのrootパスワードを入力して確認し、「フィニッシュ」をクリックしてプロファイルを作成します。
これで、キックスタート・プロファイル自体を構成できます。 次のステップでは、通常、使用可能なプロファイルを作成するために必要な変更について説明します。
ノート:
どの段階でも、「キックスタート・ファイル」を選択して、保存された構成設定を使用してOracle Linux Managerがプロファイルから生成するKickstartファイルを表示できます。
Oracle Linux ManagerにアップロードまたはコピーするKickstartファイルを含むプロファイルを作成するには、次の手順を実行します:
-
「新しいkickstartファイルのアップロード」をクリックします。
-
「キックスタート詳細」ページで、次のフィールドにキーの設定を入力します:
- ラベル
-
プロファイルのラベルを入力します(例:
ol6-x86_64-custom
)。 - キックスタート可能な木
-
ol6-x86_64-server
など、プロファイルが関連付けられているキックスタート・ディストリビューション。 - 仮想化タイプ
-
仮想化タイプのタイプ。 Oracle VMまたはOracle VM VirtualBoxによってホストされている仮想マシンへのOracle Linuxインストールの場合は、「なし」を選択します。
-
次のいずれかを行います:
-
キックスタート・ファイルの内容をコピーして「ファイルの内容」テキスト・ボックスに貼り付けます。
-
Browse...をクリックし、Kickstartファイルのパスを選択して「ファイルをアップロード」をクリックし、「ファイルの内容」テキスト・ボックスにアップロードします。
-
-
必要に応じて、「ファイルの内容」テキスト・ボックスでキックスタート・ファイルの内容を編集します。
-
「更新」をクリックします。
プロファイルを表示するには、その項目を選択して詳細を表示します。
プロファイルを削除するには、次の手順を実行します:
-
削除するディストリビューションを選択します。
-
「キックスタート詳細」ページで、「キックスタートを削除」をクリックし、「キックスタートを削除」をクリックして確認します。
プロファイルの構成と変更
-
プロファイルを選択し、「キックスタート詳細」を選択します。
-
詳細ページでは、次の操作を実行できます:
-
キックスタート・ラベルを編集します。
-
仮想化のタイプを変更します。
-
プロファイルをアクティブまたは無効にします。
-
カスタムの投稿とスクリプトの事前ログを構成します。
-
インストールされているシステムで、キックスタート構成のコピーを
/root
に保存するかどうかを選択します。 -
組織のデフォルト・プロファイルを選択します。
-
インストールおよびインストール後のカーネル・オプションを指定します。
-
プロファイルの説明を追加します。
「更新キックスタート」をクリックして変更を保存します。
-
-
「オペレーティング·システム」を選択し、プロファイルに関連付ける子チャネルのチェックボックスをオンにします。
ノート:
Oracle Linux Managerでシステムを自動的に登録できるようにするには、Oracle Linux Managerクライアント・チャネルを選択します。
「ソフトウェアのURL」パスは、Oracle Linux Managerがインストール・パッケージをホストする仮想ロケーションです。 ファイル・システム内の実際のパスではありません。
「更新キックスタート」をクリックして変更を保存します。
-
(オプション)「変数」を選択して必要なKickstart変数を定義し、「変数の更新」をクリックして変更を保存します。
-
「高度なオプション」を選択してKickstartオプションを変更し、「更新キックスタート」をクリックして変更を保存します。
使用可能なKickstartオプションの詳細は、「キックスタート・オプション」を参照してください。
-
ベアメタル・システムをインストールする場合は、「ベアメタル・キックスタート」を選択し、「ベアメタル・キックスタート」ページの指示に従います。 このページには、ベアメタル・システムのインストールに使用できるKickstartファイルのURLがリストされ、プロファイルに関連付けられているIPアドレス範囲を定義できます。
-
-
詳細ページを表示するには、「システムの詳細」を選択します:
-
詳細ページでは、次の操作を実行できます:
-
インストールされているシステムのデフォルトのSELinuxモードを選択します。
-
「Oracle Linux Manager構成管理を有効にします」チェックボックスを選択または選択解除して、Oracle Linux Manager構成ファイルの管理を有効または無効にします。
詳細は、「リモート管理のためのクライアント・システムの構成」を参照してください。
-
「Oracle Linux Managerリモート・コマンドを有効にします」チェックボックスを選択または選択解除して、Oracle Linux Managerリモート・コマンドを有効または無効にします。
詳細は、「リモート管理のためのクライアント・システムの構成」を参照してください。
-
既存のプロファイルを再利用するか、既存のプロファイルを置き換えるか、新しいプロファイルを作成するか、既存のプロファイルを保持するかを選択します。
-
インストールされているシステムのrootパスワードを変更します。
ノート:
このページで他に変更を加えた場合は、再入力してルート・パスワードを確認する必要があります。
「システムの詳細を更新」をクリックして変更を保存します。
-
-
「ロケール」を選択してから、インストールされているシステムのデフォルトのタイム・ゾーンと、ハードウェア・クロックでUTCを使用するかどうかを選択し、「ロケール設定の更新」をクリックして変更を保存します。
-
インストール中に作成されるパーティションを定義するには、「パーティショニング」を選択します。
「高度なオプション」ページでautomatic-partitioningオプション
autopart
を選択した場合は、パーティション化構成をクリアします。次に、「パーティションの更新」をクリックして変更を保存します。
-
GPG & SSLを選択すると、Oracle Linux Managerで認識されているGPGキーおよびSSL証明書のリストが表示されます。 Kickstartプロファイルの
%post
セクションにインポートするキーと証明書を選択し、「更新キー」をクリックして選択内容を保存します。GPGキーまたはSSL証明書をOracle Linux Managerに追加する方法の詳細は、「GPGキーとSSL証明書の追加」を参照してください。
-
-
「ソフトウェア」を選択して、「パッケージ・グループ」ページを表示します。
-
インストールするパッケージのリストを編集します:
-
パッケージのサンプル・リストは、「サンプルの最小パッケージ・リスト」を参照してください。
-
@ Base
エントリは、システムをインストールするために必要なパッケージの最小グループをインストールします。ベース・パッケージのリストを明示的に指定する場合は、「@Baseパッケージ・グループをインストールしないでください」チェックボックスをオンにします。
-
パッケージを見つけることができない場合、インストールを停止したくない場合は、「不足しているパッケージを無視」チェックボックスをオンにします。
-
Oracle Linux Manager Clientチャネルをプロファイルに関連付けている場合、Oracle Linux ManagerはOracle Linux Manager Clientパッケージを自動的にインストールします。 このリストで指定する必要はありません。
-
Oracle Linux Managerサーバーからただちにクライアント・システムに更新およびアクションを適用するには、
osad
パッケージを含めます。
-
-
「パッケージの更新」をクリックして変更を保存します。
-
-
「アクティベーション・キー」を選択し、プロファイルに関連付けるアクティブ化キーを選択し、「アクティベーション・キーの更新」をクリックして変更を保存します。
ノート:
Oracle Linux Managerサーバーは、プロビジョニング・プロセスの最後にOracle Linux Managerクライアントを登録するときに、アクティブ化キーに関連付けられているチャネルをアクティブ化します。 キックスタート・プロセス中にOracle Linux Managerクライアント・ソフトウェアをインストールするには、アクティブ化キーを指定してOracle Linux Managerクライアント・チャネルを有効にするだけでは不十分です。 代わりに、キックスタート・プロファイルでパッケージを指定する必要があります。 Kickstartのインストール時にOracle Linux Managerクライアントで使用可能なチャネルと、インストール後に使用可能なチャネルは独立しています。 キックスタート・インストール中は、アクティベーション・キーでアクティブにしないと、インストール後に利用できないチャネルを使用できます。
-
「スクリプト」を選択して、インストール前またはインストール後にシステム上で実行するコマンドを定義します。
次のフィールドを使用して、インストール前またはインストール後のスクリプトを構成できます:
- スクリプト言語
-
(オプション)スクリプト言語インタープリタのパス名(
/usr/bin/python
など)。bashシェル・コマンドを実行する場合は、空白のままにします。
- スクリプト名
-
スクリプトの名前を入力します。
- スクリプトの内容
-
プルダウン・リストからスクリプトのタイプを選択: シェル、XML、Ruby、Pythonまたはperlで、テキスト領域にスクリプトを入力します。
- スクリプトの実行時間
-
プルダウン・リストからスクリプトを実行する時間を選択: インストール前のプレ・スクリプトまたはインストール後のポスト・スクリプト。
- nochroot
-
(オプション)スクリプトをchrootジェイルの外で実行するかどうかを選択します。
- erroronfail
-
(オプション)スクリプトの実行中にエラーが発生した場合にインストールを停止する場合に選択します。
- テンプレート
-
(オプション)スクリプトのCobblerテンプレートを有効にする場合に選択します。
ノート:
更新およびアクションをクライアント・システムにすぐに適用するには、「即時更新のためのクライアント・システムの構成」で構成手順を参照してください。
kickstart_createコマンドの使用
次の例は、spacecmdセッションでKickstartプロファイルを作成する方法を示しています。
spacecmd {SSM:0}> kickstart_create
Name: ol8u1-x86_64-minimal Virtualization Types -------------------- none para_host qemu xenfv xenpv Virtualization Type [none]: none Distributions ------------- ol8u1-x86_64-server Select: ol8u1-x86_64-server Root Password: Repeat Password:
kickstart_listコマンドを使用して、すべてのKickstartプロファイルをリストできます。
Kickstartプロファイルの詳細を表示するには、kickstart_details kickstart-profileコマンドを使用します。
次の例は、コマンドの使用と拡張出力を示しています。
spacecmd {SSM:0}> kickstart_details ol8u1-x86_64-minimal
Name: ol8u1-x86_64-minimal Label: ol8u1-x86_64-minimal Tree: ol8u1-x86_64-server Active: True Advanced: False Org Default: False Configuration Management: False Remote Commands: False Software Channels ----------------- ol8u1-x86_64 Advanced Options ---------------- auth --enableshadow --passalgo=sha256 bootloader --location mbr clearpart --all firewall --disabled keyboard us lang en_US network --bootproto dhcp rootpw $5$ZdYXHxbNqu76Q5dG$.KWiOPyrGk8V5q/FEqYbWpCZdD5St387sn7jOyPH400 selinux --permissive timezone America/New_York url --url /var/distro-trees/ol6-x86_64-server Software -------- @ Base Crypto Keys ----------- RHN-ORG-TRUSTED-SSL-CERT Variables --------- org = 1
プロファイルが生成するKickstartファイルの内容を表示するには、kickstart_getcontents os-profileコマンドを使用します。
次の例は、ol8u1-x86_64-minimal
プロファイルによって生成されたKickstartファイルの詳細を取得する方法を示しています:
spacecmd {SSM:0}> kickstart_getcontents ol8u1-x86_64-minimal
# Kickstart config file generated by Oracle Linux Manager Config Management # Profile Label : ol8u1-x86_64-minimal # Date Created : 2019-06-11 11:34:15.157666 install text network --bootproto dhcp url --url http://olmsvr.mydom.com/ks/dist/ol8u1-x86_64-server lang en_US keyboard us zerombr clearpart --all bootloader --location mbr timezone America/New_York auth --enableshadow --passalgo=sha256 rootpw --iscrypted $5$ZdYXHxbNqu76Q5dG$.KWiOPyrGk8V5q/FEqYbWpCZdD5St387sn7jOyPH400 selinux --permissive reboot firewall --disabled skipx autopart ...
キックスタートを使用したクライアント・システムのインストール
生成されたKickstartファイルからクライアント・システムをインストールするには、次のいずれかを実行します:
-
ブート・オプションとしてKickstartファイルのネットワークのロケーションを指定して、ブートISOイメージまたはhttps://edelivery.oracle.com/linuxのOracle Software Delivery Cloudからダウンロードした完全なDVDイメージを使用して、実CD-ROMドライブからシステムをブートします。
このインストール・メソッドは、仮想マシンをインストールする場合や、ローカル・サイトに少数のベアメタル・システムのみをインストールする必要がある場合に適しています。
-
PXEクライアントのネットワーク・ブートをサポートするようにDHCPを構成し、個々のクライアントの要件をサポートするようにCobblerを構成した後、ネットワークからシステムをブートします。
このインストール・メソッドは、仮想マシンをインストールする場合や、ローカル・サイトとリモート・サイトの両方にベアメタル・システムをインストールする必要がある場合に適しています。
ネットワーク・ブートをサポートするためのCobblerとDHCPの構成
次の手順では、DHCPサーバーがOracle Linux Managerサーバーと同じシステム上に構成されていることを前提としています。 ネットワーク上にDHCPがすでに提供されている場合は、ネットワーク管理者と協力してネットワーク(PXE)のブート・サポートを構成する必要があります。
CobblerとDHCPを構成してネットワーク経由でクライアント・システムの起動をサポートするには、次のステップを実行します:
-
cobbler-loaders
パッケージとdhcp
パッケージをインストールします。sudo yum install cobbler-loaders dhcp
-
DHCPサービスを管理するようにCobblerを構成するには、
/etc/cobbler/settings
を編集し、manage_dhcp
構成を変更します。manage_dhcp: 1
ノート:
ファイルに有効なFQDNが含まれていることを確認してください。
localhost.localdomain
などの名前は使用できません。 -
DHCPサーバー構成テンプレート・ファイル(
/etc/cobbler/dhcp.template
)を編集し、ローカル構成のサブネット構成を変更します。次の例は、BIOSベースのPXEクライアント用のpxelinuxブート・ローダーまたはUEFIベースのPXEクライアント用のGRUBブート・ローダーのいずれかを選択する方法を示しています:
# ****************************************************************** # Cobbler managed dhcpd.conf file # # generated from cobbler dhcp.conf template ($date) # Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes # in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be # overwritten. # # ****************************************************************** ddns-update-style interim; allow booting; allow bootp; ignore client-updates; set vendorclass = option vendor-class-identifier; option pxe-system-type code 93 = unsigned integer 16; set pxetype = option pxe-system-type; option domain-name "mydom.com"; subnet 192.168.1..0 netmask 255.255.255.0 { option domain-name-servers 192.168.1.1; option broadcast-address 192.168.1.255; option routers 192.168.1.254; default-lease-time 14400; max-lease-time 28800; pool { range 192.168.1.101 192.168.1.200; } } #for dhcp_tag in $dhcp_tags.keys(): ## group could be subnet if your dhcp tags line up with your subnets ## or really any valid dhcpd.conf construct ... if you only use the ## default dhcp tag in cobbler, the group block can be deleted for a ## flat configuration # group for Cobbler DHCP tag: $dhcp_tag group { #for mac in $dhcp_tags[$dhcp_tag].keys(): #set iface = $dhcp_tags[$dhcp_tag][$mac] host $iface.name { hardware ethernet $mac; #if $iface.ip_address: fixed-address $iface.ip_address; #end if #if $iface.hostname: option host-name "$iface.hostname"; #end if #if $iface.netmask: option subnet-mask $iface.netmask; #end if #if $iface.gateway: option routers $iface.gateway; #end if if substring(vendorclass, 0, 9)="PXEClient" { if pxetype=00:06 or pxetype=00:07 { filename "/grub/grub.efi"; } else { filename "/pxelinux.0"; } } ## Cobbler defaults to $next_server, but some users ## may like to use $iface.system.server for proxied setups next-server $next_server; ## next-server $iface.next_server; } #end for } #end for
この例では、
192.168.1/24
サブネット上の192.168.1.101
から192.168.1.200
までの範囲で、一般的に使用可能なIPアドレスのプールも構成しています。 このプール内のシステムは、PXEを使用して起動しません。Oracle Linux Managerは、TFTPを使用して
/var/lib/tftpboot
ディレクトリからブート・ローダー構成ファイルを提供するようにCobblerを構成します。 これらのファイルの形式の詳細は、「ブート・ローダー構成ファイルについて」を参照してください。DHCPでiPXEクライアントのネットワーク・ブートをサポートする場合は、「iPXEクライアントをサポートするためのDHCPの構成」を参照してください。
-
システム上でSELinuxが
enforcing
モードで有効になっている場合は、SELinuxに以下のようにCobbler操作を構成します:-
httpd
サービスがCobblerのプロキシとして機能することを許可します。sudo setsebool -P httpd_can_network_connect=1
-
/var/lib/tftpboot
ファイルと/var/www/cobbler/images
ディレクトリ階層にpublic_content_t
ファイル・タイプを次のように設定します:sudo /usr/sbin/semanage fcontext -a -t public_content_t "/var/lib/tftpboot/.*" sudo /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler/images/.*"
ノート:
semanageコマンドは、
policycoreutils-python
パッケージによって提供されます。
-
-
cobblerd
サービスを再起動します:sudo service cobblerd restart
-
httpd
サービスを開始し、再起動後に起動するように構成します。sudo service httpd start sudo chkconfig httpd on
ノート:
/etc/cobbler/dhcp.template
に変更を加えた場合は、cobbler syncコマンドを実行します。/etc/cobbler/settings
に変更を加えた場合は、cobblerd
サービスを再起動してから、cobbler syncコマンドを実行します。 -
UEFIベースのPXEクライアントのブートをサポートするには、
/boot/efi/EFI/redhat/grub.efi
ファイルを/var/lib/tftpboot/grub
にコピーします。sudo cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/grub
-
DHCPリクエストによるアクセスを許可するようにファイアウォールを構成します。
sudo firewall-cmd --permanent --zone=public --remove-interface=enp0s3 sudo firewall-cmd --permanent --zone=internal --add-interface=enp0s3 sudo firewall-cmd --permanent --zone=internal --add-port=67/udp sudo firewall-cmd --permanent --zone=internal --add-port=68/udp sudo systemctl reload firewalld
前の例では、サーバーは
internal
ゾーンのenp0s3
インタフェースでリクエストを受信する予定です。
Oracle Linux ManagerによってプロビジョニングされるPXEクライアントの追加
次のように、Oracle Linux ManagerによってプロビジョニングされるPXEクライアントを追加します:
-
Cobblerで使用可能なOracle Linux ManagerのKickstartプロファイルをリストします。
sudo cobbler profile list
-
次の例に示すように、cobbler system addコマンドを使用して、ターゲットPXEクライアントのホスト名、MACアドレスおよびIPアドレス、およびインストールするプロファイルを定義します:
sudo cobbler system add --name=svr1.mydom.com --hostname=svr1.mydom.com --mac=08:00:27:c6:a1:16 --ip=92.168.1.253 --profile=ol7u7-x86_64-server:1:OracleLinuxManagerDefaultOrganization
DHCPアドレス・プールからIPアドレスを使用するクライアントをプロビジョニングする場合は、次のようなコマンドを使用します:
sudo cobbler system add --name=devsys2 --hostname=devsys2 --profile=ol7u7-x86_64-devsys:1:OracleLinuxManagerDefaultOrganization --kopts="ksdevice=eth0"
--koptsオプションを使用すると、カーネル・ブート行に追加するオプションを指定できます。 この例では、
ksdevice=eth0
はキックスタートがインストールに使用するネットワーク・インタフェースを指定します。これにより、インストールの一時停止により、使用するネットワーク・インタフェースを選択するように促されます。 -
デフォルトでは、GRUBにはUEFIベースのクライアント用のブート・メニューが表示され、エントリの選択を求めるプロンプトが表示されます。 GRUBがこのメニューを表示しないようにするには、次の例のように、
/etc/cobbler/pxe/grubsystem.template
ファイルを編集し、default=0
、hiddenmenu
、およびtimeout=0
エントリを追加します:default=0 hiddenmenu timeout=0 title $profile_name root (nd) kernel $kernel_path $kernel_options initrd $initrd_path
-
cobbler syncコマンドを実行します:
次の例は、コマンドの使用方法と、発生する出力を示しています:
sudo cobbler sync
task started: YYYY-MM-DD_hhmmss_sync task started (id=Sync, time=date) ... generating PXE configuration files generating: /var/lib/tftpboot/pxelinux.cfg/01-08-00-27-c6-a1-16 generating: /var/lib/tftpboot/grub/01-08-00-27-c6-a1-16 rendering DHCP files generating /etc/dhcp/dhcpd.conf ... *** TASK COMPLETE ***
Cobblerは、
/var/lib/tftpboot/pxelinux.cfg
および/var/lib/tftpboot/grub
ファイルにクライアント用のpxelinuxおよびGRUBブート構成ファイルを作成します。 これらのファイルの名前は、イーサネットのARPハードウェア・タイプを表す01-
の後にクライアントのMACアドレスを付けて、コロンではなくダッシュを使用して各バイト値を区切った名前となります。 これらのクライアント固有のファイルは、/etc/cobbler/pxe/pxesystem.template
および/etc/cobbler/pxe/grubsystem.template
ファイルに基づいています。また、Cobblerは、
/etc/cobbler/pxe/pxeprofile.template
および/etc/cobbler/pxe/grubprofile.template
から汎用ブート構成ファイルpxelinux.cfg/default
およびgrub/efidefault
を作成します。Cobblerは、次の例に示すように、
/etc/cobbler/dhcp.template
に基づいて/etc/dhcp/dhcpd.conf
ファイルにクライアントのエントリを追加します:$ group for Cobbler DHCP tag: default group { host generic1 { hardware ethernet 08:00:27:c6:a1:16; fixed-address 192.168.1.253; option host-name "svr1.mydom.com"; if substring(vendorclass, 0, 9)="PXEClient" { if pxetype=00:06 or pxetype=00:07 { filename "/grub/grub.efi"; } else { filename "/pxelinux.0"; } } next-server olmsvr.mydom.com; } }
-
dhcpd
サービスを再起動します。sudo systemctl restart dhcpd
-
Cobblerが認識しているPXEシステムを表示します。
sudo cobbler system list
ブート・ローダー構成ファイルについて
BIOSベースのPXEクライアント用のブート・ローダー構成ファイルは、次のOracle Linux 7の例に示すように、pxelinuxの構成を使用します:
default ol7u7 prompt 0 timeout 1 label ol7u7 kernel /images/ol7u7-x86_64:1:OracleLinuxManagerDefaultOrganization/vmlinuz ipappend 2 append initrd=/images/ol7u7-x86_64:1:OracleLinuxManagerDefaultOrganization/initrd.img \ ksdevice=bootif lang=en_US kssendmac text \ ks=http://192.168.1.3/cblr/svc/op/ks/system/svr1.mydom.com
重要:
appendコマンドとそのすべての引数は同じ行にある必要があります。 \
行継続文字は使用しないでください。 例の中のこの文字は、印刷用に長い行を改行するために使用されています。
boot:
プロンプトを表示できるようにするには、prompt
の値を1に変更します。 このプロンプトを表示するには、コンソールで[Shift]
または[Alt]
を押します。
default
ディレクティブは、デフォルトのブート・エントリをそのlabel
値(ol6u6
)によって識別します。
Pxelinuxは、timeout
/10秒後にデフォルトのブート・エントリを使用してクライアントを起動します。
kernel
ディレクティブはカーネル実行可能ファイルの名前を定義し、append
ディレクティブは、カーネルのロード時に追加する必要のあるパラメータ(RAMディスク・イメージの名前やKickstartファイルの場所など)を定義します。
ipappend 2
ディレクティブは、インストーラがブートに使用されたシステムと同じネットワーク・インタフェースを使用するように指定します。
pxelinuxの場合、カーネルとRAMディスク・イメージのファイル・パスは/var/lib/tftpboot
に相対的です。 pxelinuxのデフォルトのブート・ローダー構成ファイルは/var/lib/tftpboot/pxelinux.cfg/default
です。
UEFIベースのPXEクライアント用のブート・ローダー構成ファイルは、GRUBの構成を使用します:
default=0 hiddenmenu timeout=0 title ol7u7-x86_64-server:1:OracleLinuxManagerDefaultOrganization root (nd) kernel /images/ol7-x86_64:1:OracleLinuxManagerDefaultOrganization/vmlinuz \ ksdevice=bootif lang=en_US kssendmac text \ ks=http://192.168.1.3/cblr/svc/op/ks/system/svr1.mydom.com initrd /images/ol7-x86_64:1:OracleLinuxManagerDefaultOrganization/initrd.img
重要:
kernelコマンドとそのすべての引数は同じ行にある必要があります。 \
行継続文字は使用しないでください。 例の中のこの文字は、印刷用に長い行を改行するために使用されています。
ブート・ローダーの構成について、次の重要な点に注意してください:
-
timeout=0
およびhiddenmenu
ディレクティブを使用すると、デフォルト・カーネルが即時にブートされ、メニューを表示したりブート・エントリの構成を変更するためのキーを押すことはできません。 デフォルト・カーネルは、最初のエントリ(0
)として定義されています(このファイルではこれが唯一のエントリです)。 -
root
ディレクティブは、ネットワーク・デバイス(nd)
でカーネルと初期のRAMディスク・イメージ・ファイルを使用できることを定義しています。これは、ファイルがTFTPを使用して使用可能であることを示しています。 -
kernel
ディレクティブはカーネル実行可能ファイルの名前と、カーネルのロード時に追加する必要のあるパラメータ(インストール・パッケージの場所や、これらのパッケージへのアクセス方法など)を定義します。initrd
ディレクティブは、初期RAMディスク・イメージ・ファイルを指定します。 -
GRUBの場合、カーネルとRAMディスク・イメージのファイル・パスは
/var/lib/tftpboot/grub
に相対的です。 GRUBのデフォルト・ブート・ローダー構成ファイルは/var/lib/tftpboot/grub/efidefault
です。
様々なタイプのクライアントをサポートするために、構成ファイルには次のような名前を付けることができます:
-
クライアントのUUID (
a8943708-c6f6-51b9-611e-74e6ac80b93d
など) -
イーサネットのARPハードウェア・タイプを表す
01-
が先頭に付いたクライアントのMACアドレス、およびコロンではなく各バイト値を区切るダッシュ(01-80-00-27-c6-a1-16
など)を使用 -
クライアントのIPアドレスは、先頭の0xなしで16進数で表されます(たとえば、
C0A801FD
はIPアドレス192.168.1.253
を表します)
Cobblerは、クライアント・ブート構成ファイルを/var/lib/tftpboot/grub
と/var/lib/tftpboot/pxelinux.cfg
の両方に書き込み、UEFIまたはBIOSベースのPXEクライアントの両方を処理します。
ブート・ローダーは、一致するファイル名が見つかるまで、次の順序で構成ファイルを検索します。
-
UUID
(たとえば、a8943708-c6f6-51b9-611e-74e6ac80b93d
) -
01-MAC_address
(for example,01-80-00-27-c6-a1-16
) -
IPアドレスの全32ビット(たとえば、
C0A801FD
) -
IPアドレスの最も重要な28ビット(たとえば、
C0A801F
) -
IPアドレスの最も重要な24ビット(たとえば、
C0A801
) -
IPアドレスの最上位20ビット(たとえば、
C0A80
) -
IPアドレスの最上位16ビット(たとえば、
C0A8
) -
IPアドレスの最も重要な12ビット(たとえば、
C0A
) -
IPアドレスの最上位8ビット(たとえば、
C0
) -
IPアドレスの上位4ビット(たとえば、
C
) -
default
(BIOS)またはefidefault
(EFI)
GRUBの詳細は、info grubコマンドを入力してGRUBマニュアルにアクセスしてください。
pxelinuxの詳細は、https://wiki.syslinux.org/wiki/index.php?title=PXELINUXを参照してください。
iPXEクライアントをサポートするためのDHCPの構成
iPXEは、次のようなさまざまな方法でPXEの機能を拡張します:
-
iPXEクライアントは、HTTP、iSCSI、AoE、およびFCoEを使用して起動できます
-
ブート・プロセスはスクリプトを使用して制御できます
-
DNSルックアップが使用可能です。
-
ワイド・エリア・ネットワークやインターネットにわたるブートが可能です。
gpxelinux.0
ブート・ローダーは、いくつかのiPXE機能(DNSルックアップやHTTPファイル転送など)を提供するもので、syslinux
パッケージ内にあります。 iPXEコマンドやスクリプトはサポートしていません。
レガシー・モードではgpxelinux.0
をBIOSベースのPXEクライアントおよびUEFIベースのクライアントと組み合せて使用できますが、UEFIモードではできません。
iPXEクライアントをサポートするようにDHCPサービスを構成するには、次のステップを実行します:
-
DHCPサーバー構成テンプレート・ファイル
/etc/cobbler/dhcp.template
を次のように編集します:-
次の行を追加して、DHCPに対してiPXEオプションを定義します。
option space ipxe; option ipxe-encap-opts code 175 = encapsulate ipxe; option ipxe.priority code 1 = signed integer 8; option ipxe.keep-san code 8 = unsigned integer 8; option ipxe.skip-san-boot code 9 = unsigned integer 8; option ipxe.syslogs code 85 = string; option ipxe.cert code 91 = string; option ipxe.privkey code 92 = string; option ipxe.crosscert code 93 = string; option ipxe.no-pxedhcp code 176 = unsigned integer 8; option ipxe.bus-id code 177 = string; option ipxe.bios-drive code 189 = unsigned integer 8; option ipxe.username code 190 = string; option ipxe.password code 191 = string; option ipxe.reverse-username code 192 = string; option ipxe.reverse-password code 193 = string; option ipxe.version code 235 = string; option iscsi-initiator-iqn code 203 = string; option ipxe.pxeext code 16 = unsigned integer 8; option ipxe.iscsi code 17 = unsigned integer 8; option ipxe.aoe code 18 = unsigned integer 8; option ipxe.http code 19 = unsigned integer 8; option ipxe.https code 20 = unsigned integer 8; option ipxe.tftp code 21 = unsigned integer 8; option ipxe.ftp code 22 = unsigned integer 8; option ipxe.dns code 23 = unsigned integer 8; option ipxe.bzimage code 24 = unsigned integer 8; option ipxe.multiboot code 25 = unsigned integer 8; option ipxe.slam code 26 = unsigned integer 8; option ipxe.srp code 27 = unsigned integer 8; option ipxe.nbi code 32 = unsigned integer 8; option ipxe.pxe code 33 = unsigned integer 8; option ipxe.elf code 34 = unsigned integer 8; option ipxe.comboot code 35 = unsigned integer 8; option ipxe.efi code 36 = unsigned integer 8; option ipxe.fcoe code 37 = unsigned integer 8; option ipxe.vlan code 38 = unsigned integer 8; option ipxe.menu code 39 = unsigned integer 8; option ipxe.sdi code 40 = unsigned integer 8; option ipxe.nfs code 41 = unsigned integer 8;
-
プロキシDHCPサーバーを使用しない場合は、次の行を指定して、DHCPサーバーとのネゴシエーションを高速化します。
option ipxe.no-pxedhcp 1;
-
次の行を追加して、
user-class
オプションを定義します。option user-class code 77 = string;
-
iPXEクライアントがドメイン名をIPアドレスに解決するために使用できるネーム・サーバーのIPアドレスを提供するようにDHCPサーバーを構成します:
option domain-name-servers 192.168.1.1, 192.168.1.4, 192.168.1.8;
-
DHCPを構成して、非iPXEクライアント用の
gpxelinux.0
ブート・ローダーと非iPXEクライアント用のブート・スクリプトのURIを指定します:if exists user-class and option user-class = "iPXE" { filename "http://web.mydom.com/pxeboot.ipxe"; } else { filename "gpxelinux.0"; }
前の例では、純粋なiPXEクライアントは、HTTPで提供されるブート・スクリプト
pxeboot.ipxe
を実行します。iPXEクライアント用のブート・スクリプトの例を次に示します。
#!ipxe dhcp kernel http://olmsvr.mydom.com/distro-trees/ol6u9-x86_64-server/images/pxeboot/vmlinuz initrd http://olmsvr.mydom.com/distro-trees/ol6u9-x86_64-server/images/pxeboot/initrd.img boot vmlinuz initrd=initrd.img ksdevice=bootif lang=en_US kssendmac text \ ks=http://192.168.1.3/cblr/svc/op/ks/profile/ol6-x86_64-minimal:1:OracleLinuxManagerDefaultOrganization
dhcpは、クライアントのネットワーク・インタフェースを構成します。
kernelは、インストール・カーネルをダウンロードします。
initrdは、初期RAMディスク・イメージ・ファイルをダウンロードします。
bootは、ダウンロードしたインストール・カーネルをブートします。 ブート行パラメータ(初期RAMディスク・ファイルの名前やKickstartファイルの場所など)が、追加引数として指定されています。
重要:
bootコマンドとそのすべての引数は同じ行にある必要があります。
\
行継続文字は使用しないでください。 例の中のこの文字は、印刷用に長い行を改行するために使用されています。詳細は、https://ipxe.org/scriptingおよびhttps://ipxe.org/cmdを参照してください。
非iPXEクライアントは
gpelinux.0
を使って起動します。gpxelinux.0
の構成ファイルは、「ブート・ローダー構成ファイルについて」で説明されているように、pxelinux.0
と同じ方法で名前が付けられます。pxelinux.0
の場合とは異なり、HTTPを使用してインストール・カーネルと初期RAMディスク・イメージのファイルにアクセスできます。gpxelinux.0
の構成ファイルの例を次に示します。prompt 0 default ol6u6 timeout 0 label ol6u9 kernel http://olmsvr.mydom.com/distro-trees/ol6u9-x86_64-server/images/pxeboot/vmlinuz append initrd=http://olmsvr.mydom.com/distro-trees/ol6u9-x86_64-server/images/pxeboot/initrd.img \ ksdevice=bootif lang=en_US kssendmac text \ ks=http://192.168.1.3/cblr/svc/op/ks/profile/ol6-x86_64-minimal:1:OracleLinuxManagerDefaultOrganization ipappend 2
重要:
appendコマンドとそのすべての引数は同じ行にある必要があります。
\
行継続文字は使用しないでください。 例の中のこの文字は、印刷用に長い行を改行するために使用されています。
-
-
cobbler syncコマンドを実行します:
sudo cobbler sync task started: YYYY-MM-DD_hhmmss_sync task started (id=Sync, time=date) ... rendering DHCP files generating /etc/dhcp/dhcpd.conf ... *** TASK COMPLETE ***
Cobblerサービスは、
/etc/dhcp/dhcpd.conf
ファイルを再生成し、dhcpd
サービスをリロードします。/etc/cobbler/dhcp.template
にさらに変更を加えた場合は、cobbler syncコマンドを実行します。 ブート・ローダー構成ファイルの内容を変更する場合は、このコマンドを実行する必要はありません。
Cobblerでのキックスタート・プロファイルの作成
Oracle Linux Managerの外部のCobblerでKickstartプロファイルを作成することもできます。 Oracle Linux Managerの場合と同様に、ターゲット・クライアントが特定のロールを実行する必要がある場合は、プロファイルによってインストールの構成方法が定義されます。 たとえば、システムをWebサーバーやデータベース・サーバーとして構成する場合があります。 Cobblerでプロファイルを作成するには、キックスタート・ファイルをディストリビューションに関連付けます。
ノート:
Cobbler専用プロファイルは、Oracle Linux Manager内からは表示できません。
次のようにcobbler profile listコマンドを使用して、Cobblerに認識されているプロファイルをリストできます:
sudo cobbler profile list
プロファイルで使用されるKickstartファイルを確認するには、cobbler profile reportコマンドを実行します:
sudo cobbler profile report ol8u1-x86_64 | grep Kickstart
サンプルのKickstartファイルは使用しないでください。 かわりに、使用するプロファイルに適したKickstartファイルを作成します。
ディストリビューション用の新しいプロファイルを作成するには、次のステップを実行します:
-
ディストリビューションに関連付けるKickstartファイルを作成します。
たとえば、
ol8u1_basic_server.ks
という名前の次のファイルには、基本的なOracle Linux 8サーバーのKickstart定義が含まれています:# Oracle Linux 8 Basic Server # Use text-based installation text # Install using HTTP from a URL provided by Cobbler url --url=$tree # Define localized settings lang en_US.UTF-8 keyboard us timezone --utc America/New_York # Configure network interface settings network --onboot yes --device eth0 --bootproto dhcp --noipv6 # root password is an SHA-512 hash provided by Cobbler rootpw --iscrypted $default_password_crypted authconfig --enableshadow --passalgo=sha512 # Allow only SSH connections firewall --service=ssh # Configure SELinux enforcing mode selinux --enforcing # Perform a new installation, removing all existing partitions # before configuring the new boot loader and disk partitions install zerombr clearpart --drives=sda --all --initlabel bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" autopart # Shutdown and power off the system after installation is finished # to allow you to change the boot order or make other changes. poweroff # Alternatives are halt (default), reboot, and shutdown, # which might not be suitable for unattended installations # Package groups and packages to be installed %packages ... %end
サンプル・パッケージ・リストについては、「サンプルの最小パッケージ・リスト」を参照してください。
ノート:
この例では、
/etc/cobbler/settings
内でdefault_password_crypted
設定にSHA-512パスワード・ハッシュを構成する必要があります。前の例では、Cobblerで多数のプロファイルおよびシステムを管理するためのKickstartテンプレート作成およびスニペットの機能を利用していません。 詳細は、
cobbler(1)
マニュアル・ページおよびhttps://www.cobblerd.org/を参照してください。 -
システムでSELinuxが
enforcing
モードで有効になっている場合に、/var/lib/cobbler/kickstarts
以外のディレクトリ(/var/kickstart
など)にKickstartファイルを作成するには、次のようにします:-
semanageコマンドを入力して、ディレクトリ階層のデフォルト・ファイル・タイプを
cobbler_var_lib_t
として定義します:sudo /usr/sbin/semanage fcontext -a -t cobbler_var_lib_t "/var/kickstart(/.*)?"
-
restoreconコマンドを入力して、ファイル・タイプをディレクトリ階層全体に適用します。
sudo /sbin/restorecon -R -v /var/kickstart
-
ディレクトリ内のKickstartファイルごとに、chconコマンドを入力して、SELinuxユーザーを
system_u
に設定します。sudo chcon -u system_u /var/kickstart/*.ks
システムでSELinuxが
enforcing
モードで有効になっている場合に、/var/lib/cobbler/kickstarts
またはデフォルトのファイル・タイプをcobbler_var_lib_t
として定義したディレクトリにKickstartファイルを作成する場合は、chconコマンドを入力して、ファイルのSELinuxユーザーをsystem_u
に設定します:sudo chcon -u system_u ol8u1_basic_server.ks
ls -Zコマンドを使用して、コンテキストを表示できます:
sudo ls -Z ol8u1_basic_server.ks
Cobblerにより使用されるKickstartファイルの正しいSELinuxコンテキストは、
system_u:object_r:cobbler_var_lib_t:s0
です。 -
-
cobbler profile addコマンドを実行して、プロファイルを作成します:
sudo cobbler profile add --name=ol8u1_basic_server --distro=ol8u1-x86_64 \ --kickstart=/var/lib/cobbler/kickstarts/ol8u1_basic_server.ks
ノート:
コマンドが、指定されたパスに存在するファイルのエラー
kickstart not found
を返す場合、ファイルのSELinuxコンテキストは正しくありません。 ファイルに正しいSELinuxコンテキストを設定する方法の詳細は、前のステップを参照してください。 -
cobbler profile listコマンドを実行して、Cobblerに認識されているプロファイルを表示します。
sudo cobbler profile list
例の
ol7-x86_64
などのプロファイルを削除するには、次の例に示すように、cobbler profile removeコマンドを使用します。sudo cobbler profile remove --name=ol7-x86_64
cobbler profile listを実行して結果を確認できます。
ノート:
プロファイルを削除すると、そのプロファイルから作成したクライアント
system
定義も削除されます。
これで、作成したプロファイルに基づいてCobblerがプロビジョニングできるPXEクライアントを定義できます。 「CobblerによってプロビジョニングされるPXEクライアントの追加」を参照してください。
CobblerによってプロビジョニングされるPXEクライアントの追加
CobblerによってプロビジョニングされるPXEクライアントを追加するには、次のステップを実行します:
-
cobbler system addコマンドを使用して、ターゲットPXEクライアントのホスト名、MACアドレスおよびIPアドレス、およびインストールするプロファイルを定義します:
sudo cobbler system add --name=svr1 --hostname=svr1 --mac=08:00:27:c6:a1:16 --ip=10.0.0.253 --profile=ol9u1_basic_server
DHCPアドレス・プールからのIPアドレスを使用するデスクトップ・クライアントをプロビジョニングする場合は、次のようなコマンドを使用できます。
sudo cobbler system add --name=devsys2 --hostname=devsys2 --profile=ol8u1_devsys --kopts="ksdevice=eth0"
--koptsオプションを使用すると、カーネル・ブート行に追加するオプションを指定できます。 この例では、
ksdevice=eth0
はキックスタートがインストールに使用するネットワーク・インタフェースを指定します。これにより、インストールの一時停止により、使用するネットワーク・インタフェースを選択するように促されます。 -
デフォルトでは、GRUBにはUEFIベースのクライアント用のブート・メニューが表示され、エントリの選択を求めるプロンプトが表示されます。 GRUBがこのメニューを表示しないようにするには、次の例に示すように、
/etc/cobbler/pxe/grubsystem.template
を編集し、default=0
、hiddenmenu
、およびtimeout=0
エントリを追加します:default=0 hiddenmenu timeout=0 title $profile_name root (nd) kernel $kernel_path $kernel_options initrd $initrd_path
-
cobbler syncコマンドを実行します。
sudo cobbler sync
Cobblerは、
/var/lib/tftpboot/pxelinux.cfg
および/var/lib/tftpboot/grub
内にクライアント用のpxelinuxおよびGRUBブート構成ファイルを作成します。 これらのファイルの名前は、イーサネットのARPハードウェア・タイプを表す01-
の後にクライアントのMACアドレスを付けて、コロンではなくダッシュを使用して各バイト値を区切った名前となります。 これらのクライアント固有ファイルは、/etc/cobbler/pxe/pxesystem.template
および/etc/cobbler/pxe/grubsystem.template
に基づいています。また、Cobblerは、
/etc/cobbler/pxe/pxeprofile.template
および/etc/cobbler/pxe/grubprofile.template
から汎用ブート構成ファイルpxelinux.cfg/default
およびgrub/efidefault
を作成します。Cobblerは、次の例に示すように、
/etc/cobbler/dhcp.template
に基づいて/etc/dhcp/dhcpd.conf
にクライアントのエントリを追加します:# group for Cobbler DHCP tag: default group { host generic1 { hardware ethernet 08:00:27:c6:a1:16; fixed-address 10.0.0.253; option host-name "svr1"; if substring(vendorclass, 0, 9)="PXEClient" { if pxetype=00:06 or pxetype=00:07 { filename "/grub/grub.efi"; } else { filename "/pxelinux.0"; } } next-server 10.0.0.6; } }
-
cobbler system listコマンドを実行して、Cobblerに認識されているシステムを表示します:
sudo cobbler system list
CobblerからのPXEクライアント定義の削除
CobblerからPXEクライアント定義を削除するには、次のステップを実行します:
-
cobbler system listコマンドを入力して、Cobblerに認識されているシステムを表示します:
sudo cobbler system list
-
次の例に示すように、cobbler system removeを入力して削除するシステムの名前を指定します。ここで、
svr2
は削除するシステムです:sudo cobbler system remove --name=svr2
-
cobbler syncを実行して、Cobbler構成を更新します。
sudo cobbler sync
-
svr2
が次のように削除されていることを確認します:sudo cobbler system list
Oracle Linux Managerでのカーネル・ベースの仮想マシンの構成
Oracle Linux Managerでは、ホストまたはゲストとしてカーネル・ベースの仮想マシン(KVM)をプロビジョニングできます。
KVMホストのプロビジョニング
次の手順では、Oracle Linux Managerを使用してKVMホストをプロビジョニングする方法について説明します。 この手順を実行する前に、次のことを確認してください:
-
Oracle Linux Managerでアクティブ化キーおよびKickstartプロファイルを設定および使用する方法と、クライアント・システムのネットワーク・インストールをサポートするためにCobbler、DHCPおよびブート・ローダーを構成する方法について理解していること。
「Oracle Linux Managerのアクティベーション・キーの操作」、「Kickstartプロファイルの構成」および「キックスタートを使用したクライアント・システムのインストール」を参照してください。
-
KVMホストにインストールするOracle Linuxディストリビューションのベース・チャネルとキックスタート可能なツリーを設定しました。
-
KVMホストとして構成するシステムは、BIOSまたはUEFIファームウェアでVT-xアクセラレーションを有効にし、この機能を任意のKVMゲストに転送できる必要があります。 適切なシステムは、VT-xを有効にしたベアメタル・システムと、この機能で構成されたOracle VM仮想マシンです。 Oracle VirtualBox仮想マシンはこの機能をサポートしておらず、適切ではありません。
KVMホストをプロビジョニングするには、次のステップを実行します:
-
Oracle Linux Managerで、目的のリリースおよびプラットフォーム上のKVMホストに固有のアクティブ化キーを作成します。
次のようにキー設定を入力します:
- 説明
-
キーの説明を入力します(例:
Oracle Linux 7 (x86_64) KVM host
)。 - キー
-
アクティベーション・キーの意味のあるラベルを入力します(例:
kvmhost-oraclelinux7-x86_64
)。 - 使用方法
-
空白のままにしておくと、クライアントが無制限に使用できるようになります。
- ベース・チャネル
-
キーが関連付けられているベース・チャネルを選択:
Oracle Linux 7 (x86_64) Base
。 - アドオン権限
-
Oracle Linux 7でKVMハイパーバイザを実行している場合は、「仮想化」権限を有効にする必要があります。 この資格により、ターゲット・ホストに追加のパッケージがインストールされるため、Oracle Linux Managerはそのホスト上の仮想ゲストを識別および管理できます。
- ユニバーサル・デフォルト
-
新しく登録されたすべてのシステムのデフォルト・アクティベーション・キーとしてキーを使用するかどうかを選択します。
ノート:
すべてのチャネルを汎用デフォルト・キーに関連付けることはお薦めしません。 Oracle Linux Managerでは、任意のバージョンのオペレーティング・システムで使用できるようにキーが指定されていない場合、汎用デフォルト・キーが使用されます。
-
Oracle Linux Managerで、目的のプラットフォーム上にKVMホスト・システムのKickstartプロファイルを作成し、次のようにします:
-
ステップ1で作成したアクティベーション・キーをプロファイルに関連付けます。
-
次のようにプロファイル設定を入力します:
- ラベル
-
プロファイルのラベルを入力します。たとえば、
kvmhost-ol7u5-x86_64
です。 - ベース・チャネル
-
ディストリビューションが関連付けられているベース・チャネルを選択します(例:
Oracle Linux 7更新5 (x86_64) Base
)。 - キックスタート可能な木
-
ol7u5-x86_64-server
など、プロファイルが関連付けられているキックスタート・ディストリビューションを選択します。 - 仮想化タイプ
-
仮想化タイプとして「なし」を選択します。
-
@Base
および@Core
パッケージに加えて、Kickstartがホストにインストールする必要がある次のソフトウェア・パッケージを構成します:- 仮想化パッケージ(KVMホストに必要):
-
-
@virtualization-hypervisor
-
@virtualization-tools
-
- 仮想化パッケージ(推奨):
-
-
qemu-kvm-tools
(デバッグおよび診断ユーティリティを提供します) -
virt-manager
(KVMで使用できるグラフィカル仮想マシン・マネージャを提供します)。 -
virt-viewer
(仮想マシンに接続するためのグラフィカル・コンソール・クライアントを提供)
-
- グラフィカル・デスクトップ・パッケージ(Virtual Machine Managerを使用するために必要):
-
-
@^graphical-server-environment
(完全なグラフィカル・サーバー環境を提供) -
@fonts
-
@gnome-desktop
(希望する場合はKDEなどの代替デスクトップ環境を選択) -
@x11
-
- Oracle Linux Managerクライアント・パッケージ(推奨):
-
-
rhncfg
-
rhncfg-actions
-
rhncfg-client
-
- 推奨オプション・パッケージ
-
-
@input-methods
(graphical-server-environment
が有効な場合のみインクルードします。 それ以外の場合は推奨されません)。 -
@internet-browser
(graphical-server-environment
が有効な場合のみインクルードします。 それ以外の場合は推奨されません)。 -
@multimedia
(graphical-server-environment
が有効な場合のみインクルードします。 それ以外の場合は推奨されません)。 -
kexec-tools
-
osad
(Oracle Linux Managerサーバーからただちにクライアント・システムに更新およびアクションを適用できます)
-
-
キックスタート・プロファイルで、必要なキックスタート拡張オプション(
keyboard
、lang
、network
など)を構成します。 -
キックスタートが実行するインストール前またはインストール後の構成について、
%pre
または%post
項を構成します。たとえば、
rhncfg
、rhncfg-actions
およびrhncfg-client
パッケージを含め、インストール後シェルで実行するようにrhn-actions-controlを構成することで、構成ファイル管理およびリモート・コマンドを有効にできます:rhn-actions-control --enable-all
-
-
プロビジョニング・プロセスを続行するために、インストールされているゲストが適切なブート・ローダーにアクセスできるように、IPおよびTFTP構成を提供するようにCobblerまたはDHCPを構成します。
-
ブート・ローダーがインストール・カーネル、RAMディスク・イメージ、およびOracle Linux Managerによって提供されるKickstartファイルの場所を特定するために使用するブート・ローダー構成ファイルを構成します。
-
Oracle Linux Manager Kickstartプロファイル、Cobbler、DHCP、およびブート・ローダー構成を設定したあと、インストール・プロセスを開始するネットワーク・ホスト・システムをブートします。
KVMゲストのプロビジョニング
次の手順では、Oracle Linux Managerを使用してKVMゲストをプロビジョニングする方法について説明します。
始める前に、次のことを確認してください:
-
Oracle Linux Managerでのアクティブ化キーおよびKickstartプロファイルの設定方法と使用方法、およびクライアント・システムのネットワーク・インストールをサポートするCobbler、DHCP、およびブート・ローダーの構成方法について理解します。
「Oracle Linux Managerのアクティベーション・キーの操作」、「Kickstartプロファイルの構成」および「キックスタートを使用したクライアント・システムのインストール」を参照してください。
-
グラフィカルVirtual Machine Managerを使用するなど、KVMを使用してKVMゲストを構成する方法を理解してください。
ノート:
KVMを使用してKVMゲストを構成するには、KVMホストに
spacewalk-koan
パッケージをインストールする必要があります。 -
KVMゲストにインストールするOracle Linuxディストリビューションのベース・チャネルとキックスタート可能なツリーを設定しました。
KVMゲストをプロビジョニングするには、次のステップを実行します:
-
Oracle Linux Managerで、Oracle Linux 7 (x86_64)など、目的のプラットフォーム上のKVMホストに固有のアクティブ化キーを作成します。 次のようにキー設定を入力します:
- 説明
-
キーの説明(例:
Oracle Linux 7 (x86_64) KVM guest
)を入力します。 - キー
-
アクティベーション・キーの意味のあるラベルを入力します(例:
kvmguest-oraclelinux7-x86_64
)。 - 使用方法
-
空白のままにしておくと、クライアントが無制限に使用できるようになります。
- ベース・チャネル
-
キーが関連付けられているベース・チャネル(たとえば、
Oracle Linux 7 (x86_64) Base
)を選択します。 - アドオン権限
-
仮想ゲストにはアドオン権限は必要ありません。 仮想化権限は仮想ホストにのみ必要です。 仮想ゲストKickstartプロファイルの作成時には選択しないでください。
- ユニバーサル・デフォルト
-
新しく登録されたすべてのシステムのデフォルト・アクティベーション・キーとしてキーを使用する場合は、このオプションを選択します。
Oracleでは、すべてのチャネルをユニバーサル・デフォルト・キーに関連付けることを強くお薦めします。「いけない」。 Oracle Linux Managerでは、任意のバージョンのオペレーティング・システムで使用できるようにキーが指定されていない場合、汎用デフォルト・キーが使用されます。
-
Oracle Linux Managerで、目的のプラットフォーム上にKVMホスト・システムのKickstartプロファイルを作成します:
-
作成したアクティベーション・キーをプロファイルに関連付けます。
-
次のようにプロファイル設定を入力します:
- ラベル
-
プロファイルのラベルを入力します(例:
kvmguest-ol7u5-x86_64
)。 - ベース・チャネル
-
ディストリビューションが関連付けられているベース・チャネルを選択します(例:
Oracle Linux 7更新5 (x86_64) Base
)。 - キックスタート可能な木
-
ol7u5-x86_64-server
など、プロファイルが関連付けられているキックスタート・ディストリビューションを選択します。 - 仮想化タイプ
-
KVMゲストの場合、仮想化タイプとして「KVM仮想化ゲスト」を選択します。 KVMはHVMゲストのみをサポートします。
-
@Base
パッケージに加えて、キックスタートがホストにインストールするソフトウェア・パッケージを構成します。 ゲスト・システムの意図された機能は、パッケージのセットを決定します。 ただし、Oracleでは、Oracle Linux ManagerクライアントでもあるKVMゲストに次の追加パッケージをお薦めします:-
@guest-agents
(ハイパーバイザの下で動作するときに使用されるエージェント) -
@guest-desktop-agents
(仮想デスクトップとして実行しているときに使用されるエージェント) -
acpid
(ホストからゲストの電源状態を制御できるようにする) -
osad
(Oracle Linux Managerサーバーからただちにクライアント・システムに更新およびアクションを適用できます) -
rhncfg
-
rhncfg-actions
-
rhncfg-client
-
-
キックスタート・プロファイルで、必要なキックスタート拡張オプション(
keyboard
、lang
、network
など)を構成します。 -
キックスタートが実行するインストール前またはインストール後の構成について、
%pre
または%post
項を構成します。たとえば、
rhncfg
、rhncfg-actions
およびrhncfg-client
パッケージを含め、インストール後シェルで実行するようにrhn-actions-controlを構成することで、構成ファイル管理およびリモート・コマンドを有効にできます:rhn-actions-control --enable-all
-
-
PXEネットワーク・ブートおよびKickstartを使用してゲストをインストールする場合は、次を実行します:
-
プロビジョニング・プロセスを続行するために、インストールされているゲストが適切なブート・ローダーにアクセスできるように、IPおよびTFTP構成を提供するようにCobblerまたはDHCPを構成します。
-
ブート・ローダーがインストール・カーネル、RAMディスク・イメージ、およびOracle Linux Managerによって提供されるKickstartファイルの場所を特定するために使用する構成ファイルを構成します。
-
Oracle Linux Manager Kickstartプロファイル、Cobbler、DHCPおよびブート・ローダー構成を設定した後、ネットワークからターゲット・ゲスト・システムを起動してインストール・プロセスを開始します。
ネットワーク・インストールを使用してゲストをインストールする場合は、Oracle Linux ManagerサーバーによってHTTP経由で使用可能になるブート・イメージを使用します。 要件に応じて、キックスタートと連携して完全なISOイメージ、UEKブート・イメージ、またはRHCKブート・イメージを使用することができます。
-