XenおよびKVMを使用した仮想化

XenおよびKVMの仮想化クライアントはSUSE Managerで直接管理できます。

まず、SUSE Managerサーバで仮想ホストを設定する必要があります。 今後の仮想ホストおよび仮想ゲストのAutoYaSTまたはKickstartを使用して自動インストールを設定できます。

このセクションでは、インストール後に仮想ゲストを管理する方法についても説明します。

1. ホストの設定

VMホストでXenまたはKVMを設定する方法は、関連するゲストで使用するオペレーティングシステムによって決まります。

SUSEオペレーティングシステムについては、https://documentation.suse.com/sles/15-SP4/html/SLES-all/book-virtualization.htmlでSLES仮想化に関するガイドを参照してください。

Red Hat Enterprise Linuxオペレーティングシステムについては、使用バージョンに応じてRed Hatのドキュメントを参照してください。

仮想化ホスト式は、ホストの初期化を支援します。 詳細については、仮想化ホストの初期化を参照してください。

1.1. 背景情報

SUSE Managerは、libvirtを使用してゲストをインストールして管理します。 ホストにlibvirt-daemonパッケージがインストールされている必要があります。 ほとんどの場合、デフォルト設定で十分であるため、調整する必要はありません。 ただし、非rootユーザとしてゲストのVNCコンソールにアクセスする場合、設定変更を実行する必要があります。 設定方法の詳細については、ご使用のオペレーティングシステム用のマニュアルを参照してください。

SUSE Managerサーバでブートストラップスクリプトが必要です。 ブートストラップスクリプトには、ホストのアクティベーションキーを含める必要があります。 GPGキーも含めてセキュリティを強化することをお勧めします。 ブートストラップスクリプトの作成については、ブートストラップスクリプトを使用してクライアントを登録するを参照してください。

ブートストラップスクリプトの準備ができたら、ホストで実行し、SUSE Managerサーバに登録します。 クライアントの登録の詳細については、クライアントの登録を参照してください。

1.2. 仮想化ホストの初期化

仮想化ホスト式で、ホストを初期化します。

プロシージャ: 仮想化ホストの初期化
  1. SUSE ManagerのWeb UIで、ホストの[システムの詳細]ページに移動し、Formulas タブをクリックします。

  2. 仮想化ホスト式を選択し、保存をクリックします。

  3. 仮想化ホストサブタブをクリックします。

  4. 設定を確認して、式の保存をクリックします。

  5. 変更を有効にするには、Highstateを適用します。

  6. salt-minionサービスを再起動し、新しい設定を有効にします。

    systemctl restart salt-minion

従来のクライアントの場合、デフォルトでは、VMホストはrhnsdサービスを使用して、スケジュールされたアクションを確認します。 確認は4時間ごとに実行され、多数のクライアントが存在する環境の負荷を均等化します。 そのため、アクションの実行前に、最大4時間の遅延が発生する可能性があります。 VMゲストを管理している場合、この長時間の遅延は常に(特にゲストの再起動の際には)理想的ではありません。 この問題に対処するには、rhnsdサービスを無効にしてosadサービスを有効にできます。 osadサービスは、jabberプロトコルを使用してコマンドを受け取り、すぐにコマンドを実行します。

rhnsdサービスを無効にしてosadデーモンを有効にするには、次のコマンドをrootユーザとして実行します。

service rhnsd stop
service rhnsd disable
service osad enable
service osad start

2. VMゲストの自動インストール

AutoYaSTまたはKickstartを使用して、XenおよびKVMのゲストを自動的にインストールして登録できます。

ゲストを登録するVMホストと各ゲストのアクティベーション キーが必要です。

アクティベーションキーには、プロビジョニングのエンタイトルメントと仮想化プラットフォームのエンタイトルメントが必要です。 アクティベーションキーは、mgr-virtualization-hostパッケージおよびmgr-osadパッケージにもアクセスできる必要があります。 アクティベーションキーの作成の詳細については、アクティベーションキーを参照してください。

インストール後にSUSE Managerでゲストを自動的に登録する場合、ブートストラップスクリプトを作成する必要があります。 ブートストラップスクリプトの作成については、ブートストラップスクリプトを使用してクライアントを登録するを参照してください。

VMゲストの自動インストールは、従来のクライアントとして設定されている場合のみ機能します。 Saltクライアントはテンプレートディスクイメージを使用して作成できます。AutoYaSTまたはKickstartを使用して作成することはできません。

2.1. 自動インストール可能なディストリビューションの作成

SUSE Managerからクライアントを自動インストールできる自動インストール可能なディストリビューションをVMに作成する必要があります。 ディストリビューションは、マウントされたローカルディレクトリやリモートディレクトリから使用できたり、ループマウントされたISOイメージで使用できます。

自動インストール可能なディストリビューションの設定は、SLESまたはRed Hat Enterprise Linuxオペレーティングシステムをゲストで使用しているかどうかによって異なります。 Red Hat Enterprise Linuxインストールのパッケージは、関連するベースチャンネルからフェッチされます。 SUSEシステムをインストールするパッケージは、自動インストール可能なディストリビューションからフェッチされます。 したがって、SLESシステムでは、自動インストール可能なディストリビューションは、完全なインストールソースである必要があります。

Table 1. 自動インストール可能なディストリビューションのパス
オペレーティングシステムの種類 カーネルの場所 initrdの場所

Red Hat Enterprise Linux

images/pxeboot/vmlinuz

images/pxeboot/initrd.img

SLES

boot/<arch>/loader/initrd

boot/<arch>/loader/linux

すべてのケースで、ベースチャンネルが自動インストール可能なディストリビューションと一致していることを確認してください。

始める前に、使用しているVMホストでインストールメディアを使用できることを確認してください。 これは、ネットワークリソース上、ローカルディレクトリ内、またはループマウントされたISOイメージ内にある場合があります。 また、すべてのファイルおよびディレクトリが全世界で読み取ることができることを確認してください。

プロシージャ: 自動インストールのディストリビューションの作成
  1. SUSE ManagerのWeb UIで、システム  自動インストール  ディストリビューションに移動し、ディストリビューションの作成をクリックします。

  2. 自動インストール可能なディストリビューションの作成]セクションで、次のパラメータを使用します。

    • ディストリビューションラベル]セクションに、ディストリビューションの固有の名前を入力します。 半角の英字、数字、ハイフン(-)、ピリオド(.)、および下線(_)のみを使用し、5文字以上にしてください。

    • ツリーパス]フィールドに、インストールソースへの絶対パスを入力します。

    • ベースチャンネル]フィールドで、インストールソースと一致するチャンネルを選択します。 このチャンネルは、非SUSEインストール環境用のパッケージソースとして使用されます。

    • インストーラ生成]フィールドで、インストールソースと一致するオペレーティングシステムのバージョンを選択します。

    • カーネルオプション]フィールドに、インストールでブート時にカーネルに渡すオプションを入力します。 install=パラメータおよびself_update=0 pt.options=self_updateパラメータはデフォルトで追加されます。

    • インストールしたシステムを初めてブートするときにカーネルに渡すオプションを[カーネルの後のオプション]セクションに入力します。

  3. 自動インストール可能なディストリビューションの作成をクリックして保存します。

自動インストール可能なディストリビューションを作成するとき、これを編集できます。そのためには、システム  自動インストール  ディストリビューションに移動し、編集するディストリビューションを選択します。

2.2. 自動インストールプロファイルの作成およびアップロード

自動インストールプロファイルには、システムをインストールするために必要なインストールデータおよび設定データがすべて含まれています。 インストール完了後に実行するスクリプトを含めることもできます。

KickstartプロファイルはSUSE ManagerのWeb UIを使用して作成できます。そのためには、システム  自動インストール  プロファイルに移動し、新しいキックスタートプロファイルを作成をクリックし、プロンプトに従って操作します。

AutoYaSTまたはKickstartの自動インストールプロファイルを手動で作成することもできます。 SUSEには、独自のカスタムファイルの雛形として使用できるAutoYaSTインストールファイルのテンプレートが用意されています。 これは、https://github.com/SUSE/manager-build-profilesにあります。

AutoYaSTを使用してSLESをインストールする場合、次のスニペットも含める必要があります。

<products config:type="list">
  <listentry>SLES</listentry>
</products>
プロシージャ: 自動インストールプロファイルのアップロード
  1. SUSE ManagerのWeb UIで、システム  自動インストール  プロファイルに移動し、キックスタート/Autoyastファイルをアップロードをクリックします。

  2. 自動インストールプロファイルを作成]セクションで、次のパラメータを使用します。

    • ラベル]フィールドにプロファイルの一意の名前を入力します。 半角の英字、数字、ハイフン(-)、ピリオド(.)、および下線(_)のみを使用し、7文字以上にしてください。

    • 自動インストールツリー]フィールドで、前に作成した自動インストール可能なディストリビューションを選択します。

    • 仮想化タイプ]フィールドで、関連するゲストの種類を選択します(KVM仮想化ゲストなど)。 ここでは、[Xen仮想化ホスト]を選択しないでください。

    • オプション: 自動インストールプロファイルを手動で作成する場合、[ファイルの内容]フィールドに直接入力できます。 ファイルを作成済みの場合、[ファイルの内容]フィールドを空白のままにします。

    • アップロードするファイル]フィールドで、Choose File(ファイルの選択)をクリックし、システムダイアログを使用して、アップロードするファイルを選択します。 ファイルが正常にアップロードされると、ファイル名が[アップロードするファイル]フィールドに表示されます。

    • アップロードしたファイルの内容が[ファイルの内容]フィールドに表示されます。 編集する必要がある場合、直接編集できます。

  3. 作成をクリックして変更を保存し、プロファイルを保存します。

自動インストールプロファイルを作成するとき、これを編集できます。そのためには、システム  自動インストール  プロファイルに移動し、編集するプロファイルを選択します。 作成をクリックして、必要な変更を行い、設定を保存します。

既存のKickstartプロファイルの[仮想化タイプ]を変更する場合、ブートローダおよびパーティションのオプションも変更する場合があり、カスタム設定を上書きすることもあります。 [パーティション設定]タブを注意深く確認して、変更前にこれらの設定を確認してください。

2.3. ゲストを自動的に登録する

VMゲストを自動的にインストールするとき、SUSE Managerには登録されません。 ゲストをインストールしてすぐに自動的に登録する場合、ブートストラップスクリプトを呼び出してゲストを登録する自動インストールプロファイルにセクションを追加できます。

このセクションでは、ブートストラップスクリプトを既存のAutoYaSTプロファイルに追加する手順について説明します。

ブートストラップスクリプトの作成の詳細については、ブートストラップスクリプトを使用してクライアントを登録するを参照してください。 Kickstartでこの作業を行う方法については、Red Hatのインストール関連ドキュメントを参照してください。

プロシージャ: ブートストラップスクリプトをAutoYaSTプロファイルに追加する
  1. 登録するVMゲストのアクティベーションキーがブートストラップスクリプトに含まれていることを確認してください。これはホストの/srv/www/htdocs/pub/bootstrap_vm_guests.shにあります。

  2. SUSE ManagerのWeb UIで、システム  自動インストール  プロファイルに移動し、このスクリプトを関連付けるAutoYaSTプロファイルを選択します。

  3. ファイルの内容]フィールドで、次のスニペットをファイルの末尾(</profile>タグの直前)に追加します。 スニペットのIPアドレス192.168.1.1を、使用中のSUSE Managerサーバの正しいIPアドレスに置き換えてください。

    <scripts>
      <init-scripts config:type="list">
        <script>
          <interpreter>shell</interpreter>
          <location>
            http://192.168.1.1/pub/bootstrap/bootstrap_vm_guests.sh
          </location>
        </script>
      </init-scripts>
    </scripts>
  4. 更新]をクリックして変更を保存します。

AutoYaSTプロファイルに<scripts>セクションがすでに含まれている場合、2つ目のセクションを追加しないでください。 既存の<scripts>セクション内にブートストラップスニペットを配置します。

2.4. VMゲストの自動インストール

すべての設定が完了したら、VMゲストの自動インストールを開始できます。

各VMホストが同時にインストールできるゲストは1つだけです。 複数の自動インストールをスケジュールしている場合、前のインストールが完了する前に次のインストールが始まらないようにスケジュールしてください。 ゲストのインストールが別のインストールの実行中に開始すると、実行中のインストールはキャンセルされます。

  1. SUSE ManagerのWeb UIで、システム  概要に移動し、ゲストをインストールするVMホストを選択します。

  2. 仮想化]タブ、[プロビジョニング]サブタブに移動します。

  3. 使用する自動インストールプロファイルを選択し、ゲストの一意の名前を指定します。

  4. 該当する場合にはプロキシを選択し、スケジュールを入力します。

  5. ゲストのハードウェアのプロファイルおよび設定オプションを変更するには、高度なオプションをクリックします。

  6. 自動インストールをスケジュールしてから終了するをクリックして完了します。

3. VMゲストの管理

SUSE ManagerのWeb UIを使用して、CPUやメモリの割り当て調整、シャットダウン、再起動のようなアクションなど、VMゲストを管理できます。

そのためには、XenまたはKVM VMホストをSUSE Managerサーバに登録し、libvirtdサービスをホストで実行する必要があります。 従来のクライアントでは、mgr-cfg-actionsパッケージをSUSE Managerサーバにインストールする必要もあります。

SUSE ManagerのWeb UIで、システム  システム一覧に移動し、管理するゲストのVMホストをクリックします。 [仮想化]タブに移動し、このホストに登録されているすべてのゲストを表示し、管理機能にアクセスします。

Web UIを使用してVMゲストを管理する方法の詳細については、仮想化を参照してください。