機械翻訳について

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ツリーを設定するには、次の手順を実行します:

  1. たとえば、Oracle Linux 8インストール用のディストリビューションのKickstartツリーを作成します。

    sudo mkdir -p /var/distro-trees/ol8u1-x86_64-server
  2. SELinuxがシステムで強制モードで有効になっている場合は、httpおよびtomcatでファイルが使用可能になるように、SELinuxファイル・タイプを適切に設定します。

    1. Kickstartツリーのデフォルト・ファイル・タイプをhttpd_sys_content_tとして定義します。

      sudo /usr/sbin/semanage fcontext -a -t httpd_sys_content_t "/var/distro-trees(/.*)?"
    2. ファイル・タイプをディレクトリ階層全体に適用します。
      sudo /sbin/restorecon -R -v /var/distro-trees

      ノート:

      semanageおよびrestoreconコマンドは、policycoreutils-pythonおよびpolicycoreutilsパッケージにより提供されます。

  3. Kickstartツリーに、特定のOracle Linuxリリースおよびシステム・アーキテクチャに対応する完全なOracle Linuxメディア・パックDVDイメージをダウンロードします。

    このイメージは、https://edelivery.oracle.com/linuxのOracle Software Delivery Cloudからダウンロードできます。

  4. イメージを適切なマウント・ポイントにマウント

    たとえば、ステップ1で作成したディレクトリに基づいて、次のように入力します:

    sudo mount -o loop /var/ISOs/DVDimage.iso /var/distro-trees/ol8u1-x86_64-server 
  5. /etc/fstabファイルにエントリを作成して、リブート後にシステムが常にDVDイメージをマウントするようにします。

    /var/ISOs/V100082-01.iso  /var/distro-trees/OL8u1-x86_64-server  iso9660  loop,ro  0 0
  6. キックスタート・ツリーをソフトウェア・チャネルに関連付けるか、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です。

ファイルが表示されない場合は、次の操作を行います:

  1. /etc/httpd/conf/httpd.confファイルを開きます。

  2. ファイルの<Directory "/var/www/html">セクションで、Options Indexes FollowSymLinksという行を指定します。

    この設定により、ディレクトリの索引付けおよびシンボリック・リンクのサポートが有効になります。

  3. httpdサービスをリロードしてください。

    sudo service httpd reload

Kickstartディストリビューションの作成

キックスタート分布は、特定のキックスタート・プロファイルのパスとコンポーネントを定義します。

Oracle Linux Manager Webインタフェースの使用

図4-1 キックスタート可能な配布ページ


イメージには、Oracle Linux Manager Webインタフェースの「キックスタート可能なディストリビューション」ページが表示されます。

「システム」に移動し、「キックスタート」「ディストリビューション」の順に選択します。

  • ディストリビューションを作成するには:

    1. 「+ディストリビューションの作成」をクリックします。

    2. 「アクティベーション・キーを作成」ページで、次のフィールドにキーの設定を入力します:

      ディストリビューション・ラベル

      ディストリビューションのラベル(例: ol8u1-x86_64-server)。

      ツリー・パス

      ディストリビューションのKickstartツリーのパス(/var/distro-trees/ol8u1-x86_64-serverなど)。

      ベース・チャネル

      配布が関連付けられているベース・チャネル(例: Oracle Linux 8 (x86_64) Base)。

      インストーラの生成

      インストーラを提供したオペレーティング・システム・リリース(例: Red Hat Enterprise Linux 8)。

      カーネル・オプション

      インストール・カーネルの起動時に使用されるオプション(noapictextなど)。

      ポスト・カーネル・オプション

      インストール済みのシステム・カーネルをブートするときに使用するオプション(3selinux=0など)。

    3. 「キックスタート・ディストリビューションを作成」をクリックしてディストリビューションを作成します。

  • 分布を表示するには、その項目を選択してその詳細を表示します。

  • ディストリビューションを変更するには:

    1. 設定を編集するディストリビューションを選択します。

    2. 「キックスタート・ディストリビューションを編集」ページで、必要に応じて設定を変更します。

    3. Kickstart変数を作成、変更または削除するたびに:

      1. 「変数」タブを選択します。

      2. 「キックスタート変数」ページで、新しい変数を定義するか、既存の変数エントリを編集または削除します。

      3. 「変数の更新」をクリックして変更を保存します。

      4. 編集タブを選択すると、「キックスタート・ディストリビューションを編集」ページに戻ります。

    4. 「キックスタート・ディストリビューションを更新」をクリックして変更を保存します。

  • 配信を削除するには:

    1. 削除するディストリビューションを選択します。

    2. 「キックスタート・ディストリビューションを編集」ページで、「ディストリビューションを削除」をクリックし、「ディストリビューションを削除」をクリックして確認します。

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 キックスタート・プロファイル・ページ


イメージには、Oracle Linux Manager Webインタフェースの「キックスタート可能なプロファイル」ページが表示されます。
GPGキーとSSL証明書の追加

Oracle Linuxには、各リリース・バージョンに必要なGPGキーが付属しています。 ただし、サードパーティ・ベンダーのGPGキーは手動で追加する必要があります。

インストールされたバージョンに適したOracle GPGキーは、デフォルトですべてのOracle Linuxサーバーのfile:///etc/pki/rpm-gpg-RPM-GPG-KEYに格納されます。

  1. 「システム」に移動し、「キックスタート」「GPGとSSLキー」の順に選択します。

  2. 「保存されたキー/証明書を作成」をクリックして、「GPG/SSLキーを作成」ページを表示します。

  3. Descriptionフィールドに、キーまたは証明書のテキストの説明を入力します。

  4. 必要に応じて、「タイプ」プルダウン・メニューからGPGまたはSSLを選択します。

  5. 「ブラウズ」をクリックし、キーまたは証明書ファイルを選択して、ファイルの内容をKey contentsフィールドにアップロードまたは貼り付けます。

    ノート:

    GPGキーはバイナリ形式ではなくASCII形式でなければなりません。

  6. 「キーの作成」をクリックします。

プロファイルの作成

「システム」に移動し、「キックスタート」「プロファイル」の順に選択します。

Oracle Linux Managerによって生成されたKickstartファイルを含むプロファイルを作成するには:

  1. 「+キックスタート・プロファイルの作成」をクリックします。

  2. ステップ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仮想化ゲスト」を選択します。

    「次へ」をクリックします。

  3. ステップ2の「ディストリビューション・ファイルのロケーション」ページで、「次」をクリックして、Oracle Linux ManagerがKickstartツリーから作成したデフォルトのダウンロード・ロケーションを受け入れます。

  4. ステップ3の「ルート・パスワード」ページで、新しくインストールしたシステムのrootパスワードを入力して確認し、「フィニッシュ」をクリックしてプロファイルを作成します。

    これで、キックスタート・プロファイル自体を構成できます。 次のステップでは、通常、使用可能なプロファイルを作成するために必要な変更について説明します。

    ノート:

    どの段階でも、「キックスタート・ファイル」を選択して、保存された構成設定を使用してOracle Linux Managerがプロファイルから生成するKickstartファイルを表示できます。

Oracle Linux ManagerにアップロードまたはコピーするKickstartファイルを含むプロファイルを作成するには、次の手順を実行します:

  1. 「新しいkickstartファイルのアップロード」をクリックします。

  2. 「キックスタート詳細」ページで、次のフィールドにキーの設定を入力します:

    ラベル

    プロファイルのラベルを入力します(例:ol6-x86_64-custom)。

    キックスタート可能な木

    ol6-x86_64-serverなど、プロファイルが関連付けられているキックスタート・ディストリビューション。

    仮想化タイプ

    仮想化タイプのタイプ。 Oracle VMまたはOracle VM VirtualBoxによってホストされている仮想マシンへのOracle Linuxインストールの場合は、「なし」を選択します。

  3. 次のいずれかを行います:

    • キックスタート・ファイルの内容をコピーして「ファイルの内容」テキスト・ボックスに貼り付けます。

    • Browse...をクリックし、Kickstartファイルのパスを選択して「ファイルをアップロード」をクリックし、「ファイルの内容」テキスト・ボックスにアップロードします。

  4. 必要に応じて、「ファイルの内容」テキスト・ボックスでキックスタート・ファイルの内容を編集します。

  5. 「更新」をクリックします。

プロファイルを表示するには、その項目を選択して詳細を表示します。

プロファイルを削除するには、次の手順を実行します:

  1. 削除するディストリビューションを選択します。

  2. 「キックスタート詳細」ページで、「キックスタートを削除」をクリックし、「キックスタートを削除」をクリックして確認します。

プロファイルの構成と変更
  1. プロファイルを選択し、「キックスタート詳細」を選択します。

    1. 詳細ページでは、次の操作を実行できます:

      • キックスタート・ラベルを編集します。

      • 仮想化のタイプを変更します。

      • プロファイルをアクティブまたは無効にします。

      • カスタムの投稿とスクリプトの事前ログを構成します。

      • インストールされているシステムで、キックスタート構成のコピーを/rootに保存するかどうかを選択します。

      • 組織のデフォルト・プロファイルを選択します。

      • インストールおよびインストール後のカーネル・オプションを指定します。

      • プロファイルの説明を追加します。

      「更新キックスタート」をクリックして変更を保存します。

    2. 「オペレーティング·システム」を選択し、プロファイルに関連付ける子チャネルのチェックボックスをオンにします。

      ノート:

      Oracle Linux Managerでシステムを自動的に登録できるようにするには、Oracle Linux Managerクライアント・チャネルを選択します。

      「ソフトウェアのURL」パスは、Oracle Linux Managerがインストール・パッケージをホストする仮想ロケーションです。 ファイル・システム内の実際のパスではありません。

      「更新キックスタート」をクリックして変更を保存します。

    3. (オプション)「変数」を選択して必要なKickstart変数を定義し、「変数の更新」をクリックして変更を保存します。

    4. 「高度なオプション」を選択してKickstartオプションを変更し、「更新キックスタート」をクリックして変更を保存します。

      使用可能なKickstartオプションの詳細は、「キックスタート・オプション」を参照してください。

    5. ベアメタル・システムをインストールする場合は、「ベアメタル・キックスタート」を選択し、「ベアメタル・キックスタート」ページの指示に従います。 このページには、ベアメタル・システムのインストールに使用できるKickstartファイルのURLがリストされ、プロファイルに関連付けられているIPアドレス範囲を定義できます。

  2. 詳細ページを表示するには、「システムの詳細」を選択します:

    1. 詳細ページでは、次の操作を実行できます:

      • インストールされているシステムのデフォルトのSELinuxモードを選択します。

      • 「Oracle Linux Manager構成管理を有効にします」チェックボックスを選択または選択解除して、Oracle Linux Manager構成ファイルの管理を有効または無効にします。

        詳細は、「リモート管理のためのクライアント・システムの構成」を参照してください。

      • 「Oracle Linux Managerリモート・コマンドを有効にします」チェックボックスを選択または選択解除して、Oracle Linux Managerリモート・コマンドを有効または無効にします。

        詳細は、「リモート管理のためのクライアント・システムの構成」を参照してください。

      • 既存のプロファイルを再利用するか、既存のプロファイルを置き換えるか、新しいプロファイルを作成するか、既存のプロファイルを保持するかを選択します。

      • インストールされているシステムのrootパスワードを変更します。

        ノート:

        このページで他に変更を加えた場合は、再入力してルート・パスワードを確認する必要があります。

      「システムの詳細を更新」をクリックして変更を保存します。

    2. 「ロケール」を選択してから、インストールされているシステムのデフォルトのタイム・ゾーンと、ハードウェア・クロックでUTCを使用するかどうかを選択し、「ロケール設定の更新」をクリックして変更を保存します。

    3. インストール中に作成されるパーティションを定義するには、「パーティショニング」を選択します。

      「高度なオプション」ページでautomatic-partitioningオプションautopartを選択した場合は、パーティション化構成をクリアします。

      次に、「パーティションの更新」をクリックして変更を保存します。

    4. GPG & SSLを選択すると、Oracle Linux Managerで認識されているGPGキーおよびSSL証明書のリストが表示されます。 Kickstartプロファイルの%postセクションにインポートするキーと証明書を選択し、「更新キー」をクリックして選択内容を保存します。

      GPGキーまたはSSL証明書をOracle Linux Managerに追加する方法の詳細は、「GPGキーとSSL証明書の追加」を参照してください。

  3. 「ソフトウェア」を選択して、「パッケージ・グループ」ページを表示します。

    1. インストールするパッケージのリストを編集します:

      • パッケージのサンプル・リストは、「サンプルの最小パッケージ・リスト」を参照してください。

      • @ Baseエントリは、システムをインストールするために必要なパッケージの最小グループをインストールします。

        ベース・パッケージのリストを明示的に指定する場合は、「@Baseパッケージ・グループをインストールしないでください」チェックボックスをオンにします。

      • パッケージを見つけることができない場合、インストールを停止したくない場合は、「不足しているパッケージを無視」チェックボックスをオンにします。

      • Oracle Linux Manager Clientチャネルをプロファイルに関連付けている場合、Oracle Linux ManagerはOracle Linux Manager Clientパッケージを自動的にインストールします。 このリストで指定する必要はありません。

      • Oracle Linux Managerサーバーからただちにクライアント・システムに更新およびアクションを適用するには、osadパッケージを含めます。

    2. 「パッケージの更新」をクリックして変更を保存します。

  4. 「アクティベーション・キー」を選択し、プロファイルに関連付けるアクティブ化キーを選択し、「アクティベーション・キーの更新」をクリックして変更を保存します。

    ノート:

    Oracle Linux Managerサーバーは、プロビジョニング・プロセスの最後にOracle Linux Managerクライアントを登録するときに、アクティブ化キーに関連付けられているチャネルをアクティブ化します。 キックスタート・プロセス中にOracle Linux Managerクライアント・ソフトウェアをインストールするには、アクティブ化キーを指定してOracle Linux Managerクライアント・チャネルを有効にするだけでは不十分です。 代わりに、キックスタート・プロファイルでパッケージを指定する必要があります。 Kickstartのインストール時にOracle Linux Managerクライアントで使用可能なチャネルと、インストール後に使用可能なチャネルは独立しています。 キックスタート・インストール中は、アクティベーション・キーでアクティブにしないと、インストール後に利用できないチャネルを使用できます。

  5. 「スクリプト」を選択して、インストール前またはインストール後にシステム上で実行するコマンドを定義します。

    次のフィールドを使用して、インストール前またはインストール後のスクリプトを構成できます:

    スクリプト言語

    (オプション)スクリプト言語インタープリタのパス名(/usr/bin/pythonなど)。

    bashシェル・コマンドを実行する場合は、空白のままにします。

    スクリプト名

    スクリプトの名前を入力します。

    スクリプトの内容

    プルダウン・リストからスクリプトのタイプを選択: シェルXMLRubyPythonまたは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を構成してネットワーク経由でクライアント・システムの起動をサポートするには、次のステップを実行します:

  1. cobbler-loadersパッケージとdhcpパッケージをインストールします。

    sudo yum install cobbler-loaders dhcp
  2. DHCPサービスを管理するようにCobblerを構成するには、/etc/cobbler/settingsを編集し、manage_dhcp構成を変更します。

    manage_dhcp: 1

    ノート:

    ファイルに有効なFQDNが含まれていることを確認してください。 localhost.localdomainなどの名前は使用できません。

  3. 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の構成」を参照してください。

  4. システム上でSELinuxがenforcingモードで有効になっている場合は、SELinuxに以下のようにCobbler操作を構成します:

    1. httpdサービスがCobblerのプロキシとして機能することを許可します。

      sudo setsebool -P httpd_can_network_connect=1
    2. /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パッケージによって提供されます。

  5. cobblerdサービスを再起動します:

    sudo service cobblerd restart
  6. httpdサービスを開始し、再起動後に起動するように構成します。

    sudo service httpd start
    sudo chkconfig httpd on

    ノート:

    /etc/cobbler/dhcp.templateに変更を加えた場合は、cobbler syncコマンドを実行します。

    /etc/cobbler/settingsに変更を加えた場合は、cobblerdサービスを再起動してから、cobbler syncコマンドを実行します。

  7. UEFIベースのPXEクライアントのブートをサポートするには、/boot/efi/EFI/redhat/grub.efiファイルを/var/lib/tftpboot/grubにコピーします。

    sudo cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/grub 
  8. 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クライアントを追加します:

  1. Cobblerで使用可能なOracle Linux ManagerのKickstartプロファイルをリストします。

    sudo cobbler profile list
  2. 次の例に示すように、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はキックスタートがインストールに使用するネットワーク・インタフェースを指定します。これにより、インストールの一時停止により、使用するネットワーク・インタフェースを選択するように促されます。

  3. デフォルトでは、GRUBにはUEFIベースのクライアント用のブート・メニューが表示され、エントリの選択を求めるプロンプトが表示されます。 GRUBがこのメニューを表示しないようにするには、次の例のように、/etc/cobbler/pxe/grubsystem.templateファイルを編集し、default=0hiddenmenu、およびtimeout=0エントリを追加します:

    default=0
    hiddenmenu
    timeout=0
    
    title $profile_name
        root (nd)
        kernel $kernel_path $kernel_options
        initrd $initrd_path
  4. 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;
        }
    }
  5. dhcpdサービスを再起動します。

    sudo systemctl restart dhcpd
  6. 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サービスを構成するには、次のステップを実行します:

  1. DHCPサーバー構成テンプレート・ファイル/etc/cobbler/dhcp.templateを次のように編集します:

    1. 次の行を追加して、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;
    2. プロキシDHCPサーバーを使用しない場合は、次の行を指定して、DHCPサーバーとのネゴシエーションを高速化します。

      option ipxe.no-pxedhcp 1;
    3. 次の行を追加して、user-classオプションを定義します。

      option user-class code 77 = string;
    4. iPXEクライアントがドメイン名をIPアドレスに解決するために使用できるネーム・サーバーのIPアドレスを提供するようにDHCPサーバーを構成します:

      option domain-name-servers 192.168.1.1, 192.168.1.4, 192.168.1.8;
    5. 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コマンドとそのすべての引数は同じ行にある必要があります。 \行継続文字は使用しないでください。 例の中のこの文字は、印刷用に長い行を改行するために使用されています。

  2. 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ファイルを作成します。

ディストリビューション用の新しいプロファイルを作成するには、次のステップを実行します:

  1. ディストリビューションに関連付ける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/を参照してください。

  2. システムでSELinuxがenforcingモードで有効になっている場合に、/var/lib/cobbler/kickstarts以外のディレクトリ(/var/kickstartなど)にKickstartファイルを作成するには、次のようにします:

    1. semanageコマンドを入力して、ディレクトリ階層のデフォルト・ファイル・タイプをcobbler_var_lib_tとして定義します:

      sudo /usr/sbin/semanage fcontext -a -t cobbler_var_lib_t "/var/kickstart(/.*)?"
    2. restoreconコマンドを入力して、ファイル・タイプをディレクトリ階層全体に適用します。

      sudo /sbin/restorecon -R -v /var/kickstart
    3. ディレクトリ内の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です。

  3. 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コンテキストを設定する方法の詳細は、前のステップを参照してください。

  4. 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クライアントを追加するには、次のステップを実行します:

  1. 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はキックスタートがインストールに使用するネットワーク・インタフェースを指定します。これにより、インストールの一時停止により、使用するネットワーク・インタフェースを選択するように促されます。

  2. デフォルトでは、GRUBにはUEFIベースのクライアント用のブート・メニューが表示され、エントリの選択を求めるプロンプトが表示されます。 GRUBがこのメニューを表示しないようにするには、次の例に示すように、/etc/cobbler/pxe/grubsystem.templateを編集し、default=0hiddenmenu、およびtimeout=0エントリを追加します:

    default=0
    hiddenmenu
    timeout=0
    
    title $profile_name
        root (nd)
        kernel $kernel_path $kernel_options
        initrd $initrd_path
  3. 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;
        }
    }
  4. cobbler system listコマンドを実行して、Cobblerに認識されているシステムを表示します:

    sudo cobbler system list

CobblerからのPXEクライアント定義の削除

CobblerからPXEクライアント定義を削除するには、次のステップを実行します:

  1. cobbler system listコマンドを入力して、Cobblerに認識されているシステムを表示します:

    sudo cobbler system list
  2. 次の例に示すように、cobbler system removeを入力して削除するシステムの名前を指定します。ここで、svr2は削除するシステムです:

    sudo cobbler system remove --name=svr2
  3. cobbler syncを実行して、Cobbler構成を更新します。

    sudo cobbler sync
  4. 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ホストをプロビジョニングするには、次のステップを実行します:

  1. 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では、任意のバージョンのオペレーティング・システムで使用できるようにキーが指定されていない場合、汎用デフォルト・キーが使用されます。

  2. Oracle Linux Managerで、目的のプラットフォーム上にKVMホスト・システムのKickstartプロファイルを作成し、次のようにします:

    1. ステップ1で作成したアクティベーション・キーをプロファイルに関連付けます。

    2. 次のようにプロファイル設定を入力します:

      ラベル

      プロファイルのラベルを入力します。たとえば、kvmhost-ol7u5-x86_64です。

      ベース・チャネル

      ディストリビューションが関連付けられているベース・チャネルを選択します(例:Oracle Linux 7更新5 (x86_64) Base)。

      キックスタート可能な木

      ol7u5-x86_64-serverなど、プロファイルが関連付けられているキックスタート・ディストリビューションを選択します。

      仮想化タイプ

      仮想化タイプとして「なし」を選択します。

    3. @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サーバーからただちにクライアント・システムに更新およびアクションを適用できます)

    4. キックスタート・プロファイルで、必要なキックスタート拡張オプション(keyboardlangnetworkなど)を構成します。

    5. キックスタートが実行するインストール前またはインストール後の構成について、%preまたは%post項を構成します。

      たとえば、rhncfgrhncfg-actionsおよびrhncfg-clientパッケージを含め、インストール後シェルで実行するようにrhn-actions-controlを構成することで、構成ファイル管理およびリモート・コマンドを有効にできます:

      rhn-actions-control --enable-all
  3. プロビジョニング・プロセスを続行するために、インストールされているゲストが適切なブート・ローダーにアクセスできるように、IPおよびTFTP構成を提供するようにCobblerまたはDHCPを構成します。

  4. ブート・ローダーがインストール・カーネル、RAMディスク・イメージ、およびOracle Linux Managerによって提供されるKickstartファイルの場所を特定するために使用するブート・ローダー構成ファイルを構成します。

  5. 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ゲストをプロビジョニングするには、次のステップを実行します:

  1. 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では、任意のバージョンのオペレーティング・システムで使用できるようにキーが指定されていない場合、汎用デフォルト・キーが使用されます。

  2. Oracle Linux Managerで、目的のプラットフォーム上にKVMホスト・システムのKickstartプロファイルを作成します:

    1. 作成したアクティベーション・キーをプロファイルに関連付けます。

    2. 次のようにプロファイル設定を入力します:

      ラベル

      プロファイルのラベルを入力します(例:kvmguest-ol7u5-x86_64)。

      ベース・チャネル

      ディストリビューションが関連付けられているベース・チャネルを選択します(例:Oracle Linux 7更新5 (x86_64) Base)。

      キックスタート可能な木

      ol7u5-x86_64-serverなど、プロファイルが関連付けられているキックスタート・ディストリビューションを選択します。

      仮想化タイプ

      KVMゲストの場合、仮想化タイプとして「KVM仮想化ゲスト」を選択します。 KVMはHVMゲストのみをサポートします。

    3. @Baseパッケージに加えて、キックスタートがホストにインストールするソフトウェア・パッケージを構成します。 ゲスト・システムの意図された機能は、パッケージのセットを決定します。 ただし、Oracleでは、Oracle Linux ManagerクライアントでもあるKVMゲストに次の追加パッケージをお薦めします:

      • @guest-agents(ハイパーバイザの下で動作するときに使用されるエージェント)

      • @guest-desktop-agents(仮想デスクトップとして実行しているときに使用されるエージェント)

      • acpid(ホストからゲストの電源状態を制御できるようにする)

      • osad (Oracle Linux Managerサーバーからただちにクライアント・システムに更新およびアクションを適用できます)

      • rhncfg

      • rhncfg-actions

      • rhncfg-client

    4. キックスタート・プロファイルで、必要なキックスタート拡張オプション(keyboardlangnetworkなど)を構成します。

    5. キックスタートが実行するインストール前またはインストール後の構成について、%preまたは%post項を構成します。

      たとえば、rhncfgrhncfg-actionsおよびrhncfg-clientパッケージを含め、インストール後シェルで実行するようにrhn-actions-controlを構成することで、構成ファイル管理およびリモート・コマンドを有効にできます:

      rhn-actions-control --enable-all
  3. PXEネットワーク・ブートおよびKickstartを使用してゲストをインストールする場合は、次を実行します:

    1. プロビジョニング・プロセスを続行するために、インストールされているゲストが適切なブート・ローダーにアクセスできるように、IPおよびTFTP構成を提供するようにCobblerまたはDHCPを構成します。

    2. ブート・ローダーがインストール・カーネル、RAMディスク・イメージ、およびOracle Linux Managerによって提供されるKickstartファイルの場所を特定するために使用する構成ファイルを構成します。

    3. Oracle Linux Manager Kickstartプロファイル、Cobbler、DHCPおよびブート・ローダー構成を設定した後、ネットワークからターゲット・ゲスト・システムを起動してインストール・プロセスを開始します。

    ネットワーク・インストールを使用してゲストをインストールする場合は、Oracle Linux ManagerサーバーによってHTTP経由で使用可能になるブート・イメージを使用します。 要件に応じて、キックスタートと連携して完全なISOイメージ、UEKブート・イメージ、またはRHCKブート・イメージを使用することができます。