自動インストールプロファイル

SUSE Multi-Linux Manager内では、インストールするクライアントのオペレーティングシステムに応じて、2つの異なる種類のプロファイルを使用できます。

  • SUSE Linux EnterpriseまたはopenSUSEクライアントの場合は、AutoYaSTを使用してください。

  • Red Hat Enterprise Linuxクライアントの場合は、Kickstartを使用してください。

自動インストールプロファイルは、オペレーティングシステムがどのようにインストールされるかを決定します。 例えば、インストーラーに渡す追加のカーネルパラメータを指定できます。

プロファイルの最も重要な部分は、*自動インストールファイル*です。 手動でインストールを行う場合、パーティショニングやネットワーク情報、ユーザーの詳細など、インストーラーに情報を提供する必要があります。 自動インストールファイルは、この情報をスクリプト形式で提供する方法です。 このタイプのファイルは、場合によっては*回答ファイル*とも呼ばれます。

異なるオペレーティングシステムでクライアントをインストールする場合、AutoYaSTプロファイルとKickstartプロファイルの両方を使用できます。

プロファイルに含まれる自動インストールファイルには、変数やコードスニペットを含めることができます。 変数やコードスニペットに関する情報は、テンプレート構文を参照してください。

1. プロファイルを宣言する

自動インストールファイルとディストリビューションを準備したら、SUSE Multi-Linux Managerサーバーで自動インストールを管理するためのプロファイルを作成できます。 プロファイルは、選択したディストリビューションのインストール方法を決定します。 プロファイルを作成する方法の一つは、AutoYaSTまたはKickstartファイルをアップロードすることです。 また、Kickstartのみの場合は、Web UIウィザードを使用できます。

プロシージャ:アップロードによる自動インストールプロファイルの作成
  1. SUSE Multi-Linux Manager Web UIで、システム  自動インストール  プロファイルに移動します。

  2. キックスタート/AutoYaSTファイルをアップロードをクリックします。

  3. `Label`フィールドに、プロファイルの名前を入力します。 スペースは使用しません。

  4. `Autoinstall Tree`フィールドで、このプロファイルに使用する自動インストール可能なディストリビューションを選択します。

  5. `Virtualization Type`フィールドで、このプロファイルに使用する仮想化の種類を選択するか、このプロファイルを使用して新しい仮想マシンを作成しない場合は`None`を選択します。

  6. 自動インストールファイルの内容を`File Contents`フィールドにコピーするか、`File to Upload`フィールドを使用してファイルを直接アップロードします。

    ここに含める詳細についての詳細は、AutoYaSTプロファイルまたはキックスタートプロファイルを参照してください。

  7. 作成をクリックしてプロファイルを作成します。

プロシージャ:ウィザードによるKickstartプロファイルの作成
  1. SUSE Multi-Linux Manager Web UIで、システム  自動インストール  プロファイルに移動します。

  2. キックスタートプロファイルを作成をクリックします。

  3. `Label`フィールドに、プロファイルの名前を入力します。 スペースは使用しません。

  4. `Base Channel`フィールドで、このプロファイルに使用するベースチャンネルを選択します。 このフィールドは、利用可能なディストリビューションから自動的に入力されます。 必要なベースチャンネルが利用できない場合は、ディストリビューションが正しく作成されているか確認してください。

  5. `Virtualization Type`フィールドで、このプロファイルに使用する仮想化の種類を選択するか、仮想化を行わない場合は`None`を選択します。

  6. 次へをクリックします。

  7. `Distribution File Location`フィールドに、SUSE Multi-Linux Managerサーバーにインストールされているインストールメディアへのパスを入力します。

  8. 次へをクリックします。

  9. クライアントのrootユーザのパスワードを入力します。

  10. 完了をクリックします。

  11. 新しいプロファイルの詳細を確認し、必要に応じてカスタマイズします。

自動インストールプロファイルを作成する際、`Always use the newest Tree for this base channel`を確認できます。 この設定により、SUSE Multi-Linux Managerは指定されたベースチャネルに関連付けられた最新のディストリビューションを自動的に選択できます。 後で新しいディストリビューションを追加した場合、SUSE Multi-Linux Managerは最も最近作成または変更されたものを使用します。

`Virtualization Type`を変更するには、通常、プロファイルのブートローダーとパーティションオプションの変更が必要です。 これにより、カスタマイズが上書きされる可能性があります。 新しいまたは変更された設定を保存する前に、`Partitioning`タブに移動して確認してください。

ディストリビューションとプロファイルのカーネルオプションは統合されます。

自動インストールプロファイルの詳細と設定は、システム  自動インストール  プロファイルに移動し、編集したいプロファイルの名前をクリックすることで変更できます。 または、システム  システムリストに移動し、プロビジョニングしたいクライアントを選択し、プロビジョニング  自動インストールサブタブに移動します。

2. AutoYaST プロファイル

AutoYaSTプロファイルは、プロファイルを識別する`Label`、自動インストール可能なディストリビューションを指す`Autoinstall Tree`、さまざまなオプション、そして最も重要なAutoYaSTインストールファイルで構成されています。

AutoYaSTインストールファイルは、AutoYaSTインストーラーに指示を与えるXMLファイルです。AutoYaSTはこれを「制御ファイル」と呼びます。 AutoYaSTインストールファイルの完全な構文については、 https://doc.opensuse.org/projects/autoyast/#cha-configuration-installation-options.を参照してください。

SUSEは、独自のカスタムファイルの出発点として使用できるAutoYaSTインストールファイルのテンプレートを提供します。 テンプレートは、 https://github.com/SUSE/manager-build-profilesの`AutoYast`ディレクトリにあります。 これらの各プロファイルを使用する前に、いくつかの変数を設定する必要があります。 必要な変数を特定するには、スクリプトに含まれている`README`ファイルを確認してください。 AutoYaSTスクリプトでの変数の使用に関する詳細情報は、変数を参照してください。

提供されたAutoYaSTテンプレートは、ユーザーパスワードを設定しません。 ルートおよび他のユーザーアカウントとパスワード、または他の認証手段を設定することを検討してください。 AutoYaSTプロファイルにおけるユーザーアカウントに関する詳細情報は、 https://doc.opensuse.org/projects/autoyast/#Configuration-Security-users-and-groups.を参照してください。

これらは、AutoYaSTインストールファイル内でSUSE Multi-Linux Managerを使用してインストールする際に最も重要なセクションです:

Saltに対するより新しいAutoYaSTベースの代替は、Yomiです。 Yomiに関する情報は、Yomiでインストールを参照してください。

3. キックスタートプロファイル

Kickstartプロファイルは、多くの設定オプションを提供します。 これらのプロファイルを作成するには、アップロードするか、専用のウィザードを使用できます。

Kickstartプロファイルでは、ファイル保持一覧を使用できます。 Kickstartで再インストールしたいクライアントに多くのカスタム設定ファイルがある場合、それらをリストとして保存し、そのリストをKickstartプロファイルに関連付けることができます。

プロシージャ:ファイル保持一覧の作成
  1. SUSE Multi-Linux Manager Web UIで、システム  自動インストール  ファイル保持に移動し、ファイル保持一覧の作成をクリックします。

  2. 適切なラベルを入力し、保存するすべてのファイルおよびディレクトリへの絶対パスをリストします。

  3. 一覧の作成をクリックします。

  4. Kickstartプロファイルにファイル保持一覧を含めます。

  5. システム  自動インストール  プロファイルに移動して編集するプロファイルを選択し、システムの詳細  ファイル保持サブタブに移動して、含めるファイル保持一覧を選択します。

ファイル保持一覧の合計サイズは1 MBに制限されています。 /dev/hda1`や/dev/sda1`のような特殊なデバイスは保持できません。 ファイル名とディレクトリ名のみを使用してください。正規表現のワイルドカードは使用できません。

Kickstartの詳細については、Red Hatのドキュメントを参照してください。

4. テンプレートの構文

インストールファイルの一部は、インストール中に置き換えられます。 変数は単一の値に置き換えられ、コードスニペットはテキストの全体のセクションに置き換えられます。 エスケープされた記号やセクションは置き換えられません。

Cheetahというテンプレートエンジンは、Cobbler にこれらの置き換えを行うことを可能にします。 このメカニズムにより、大量のシステムを再インストールすることができ、それぞれのプロファイルを手動で作成する必要がありません。

SUSE Multi-Linux Manager Web UI 内で自動インストール変数やコードスニペットを作成できます。 プロファイル内の`Autoinstallation File`タブでは、置き換えの結果を確認できます。

  • 変数に関する情報は、変数 を参照してください。

  • コードスニペットに関する情報は、コードスニペット を参照してください。

  • 記号やテキストブロックのエスケープに関する情報は、エスケープ を参照してください。

4.1. 変数

自動インストール変数は、Kickstart および AutoYaST プロファイルに値を置き換えるために使用できます。 変数を定義するには、プロファイルから`Variables`サブタブに移動し、テキストボックスに`name=value`ペアを作成します。

例えば、クライアントのIPアドレスを保持する変数と、そのゲートウェイのアドレスを保持する別の変数を作成できます。 これらの変数は、同じプロファイルからインストールされたすべてのクライアントに対して定義できます。 そのためには、Variables テキストボックスにこれらの行を追加します:

ipaddr=192.168.0.28
gateway=192.168.0.1

変数を使用するには、プロファイル内で値を置き換えるために`$`記号を前に付けます。 例えば、Kickstartファイルの`network`部分は次のようになります:

network --bootproto=static --device=eth0 --onboot=on --ip=$ipaddr \
  --gateway=$gateway

$ipaddr`は`192.168.0.28`に、$gateway`は`192.168.0.1`に解決されます。

インストールファイルでは、変数は階層的に使用されます。 システム変数はプロファイル変数より優先され、プロファイル変数はディストリビューション変数より優先されます。

4.2. コードスニペット

SUSE Multi-Linux Managerには、多数の事前定義されたコードスニペットが付属しています。 システム  自動インストール  自動インストールスニペットに移動して、既存のスニペットのリストを確認してください。

自動インストールファイルに`$SNIPPET()`マクロを挿入することで、スニペットを使用します。 例えば、Kickstartでは:

$SNIPPET('spacewalk/redhat_register_using_salt')

または、AutoYaSTでは:

<init-scripts config:type="list">
  $SNIPPET('spacewalk/minion_script')
</init-scripts>

マクロはCobblerによって解析され、スニペットの内容に置き換えられます。 自分のコードスニペットを保存して、後で自動インストールファイルで使用することもできます。 新しいコードスニペットを作成するには、スニペットを作成をクリックしてください。

この例では、一般的なハードドライブのパーティション設定のためのKickstartスニペットが設定されます。

clearpart --all
part /boot --fstype ext3 --size=150 --asprimary
part / --fstype ext3 --size=40000 --asprimary
part swap --recommended

part pv.00 --size=1 --grow

volgroup vg00 pv.00
logvol /var --name=var vgname=vg00 --fstype ext3 --size=5000

たとえば、次のようにスニペットを使用します。

$SNIPPET('my_partition')

4.3. エスケープ

自動インストールファイルに`$(example)のようなシェルスクリプト変数が含まれている場合、内容はバックスラッシュでエスケープする必要があります:\$(example)`。 `$`記号をエスケープすることで、テンプレートエンジンがその記号を内部変数として評価するのを防ぎます。

コードフラグメントやスクリプトなどのテキストブロックは、\#raw`および\#end raw`ディレクティブで囲むことによってエスケープできます。 例:

#raw
#!/bin/bash
for i in {0..2}; do
 echo "$i - Hello World!"
done
#end raw

`#`記号の後に空白がある行はコメントとして扱われるため、評価されません。 例:

# start some section (this is a comment)
echo "Hello, world"
# end some section (this is a comment)