第9章 KVM (libvirt) での仮想マシンのプロビジョニング

カーネルベースの仮想マシン (KVM) はオープンソースの仮想化デーモンおよび Red Hat Enterprise Linux で実行される libvirt という API を使用します。Red Hat Satellite は KVM サーバーで libvirt API に接続でき、ハイパーバイザーにホストをプロビジョニングし、特定の仮想化機能を制御することができます。

KVM プロビジョニングを使用してネットワーク接続経由か、既存のイメージをもとに、ホストを作成できます。

前提条件

  • Red Hat Enterprise Linux の同期済みのコンテンツリポジトリー。詳細は、『 コンテンツ管理ガイド』 の「 Red Hat リポジトリーの同期 」を参照してください。
  • ホスト登録用のアクティベーションキー。詳細は、『 コンテンツ管理 ガイド』の「 アクティベーションキーの作成 」を参照してください。
  • KVM サーバーでネットワークを管理する Capsule Server。Capsule Server との競合を避けるために他の DHCP サービスがこのネットワークで実行されていないことを確認します。Capsule Server のネットワークサービス設定の詳細は、3章ネットワークの設定 を参照してください。
  • KVM 仮想化ツールを実行する Red Hat Enterprise Linux サーバー (libvirt daemon)。詳細は、『Red Hat Enterprise Linux 7 仮想化スタートガイド』を参照してください。
  • 既存の仮想マシンイメージ (イメージベースのプロビジョニングを使用する場合) 。このイメージが KVM ホストのストレージプールにあることを確認します。デフォルトの ストレージプールは通常 /var/lib/libvirt/images にあります。Satellite 経由で管理できるのは、ディレクトリーのプールストレージタイプのみです。
  • オプション: この手順の例では、KVM の root ユーザーを使用します。KVM サーバーで root 以外のユーザーを使用する場合には、KVM サーバーの libvirt グループにユーザーを追加します。

    useradd -a -G libvirt non_root_user
  • 以下のロールが割り当てられた Satellite ユーザーアカウント:

  • 以下のパーミッションが指定された Satellite のカスタムロール

    • view_compute_resources
    • destroy_compute_resources_vms
    • power_compute_resources_vms
    • create_compute_resources_vms
    • view_compute_resources_vms
    • view_locations
    • view_subnets

      ロール作成に関する詳細は、『 Red Hat Satellite の管理 』ガイドの 「ロールの作成」を参照してください。ロールにパーミッションを追加する方法については、『 Red Hat Satellite の管理 』ガイド の「ロールにパーミッションの追加 」を参照してください。

9.1. Satellite Server の KVM 接続設定

KVM 接続を追加する前に、foreman ユーザーの SSH キーペアを作成して、Satellite Server とKVM 間の安全な接続を確保します。

手順

  1. Satellite Server で Foreman ユーザーに切り替えます。

    # su foreman -s /bin/bash
  2. キーペアを生成します。

    $ ssh-keygen
  3. 公開キーを KVM サーバーにコピーします。

    $ ssh-copy-id root@kvm.example.com
  4. foreman ユーザーのバッシュシェルを終了します。

    $ exit
  5. libvirt-client パッケージをインストールします。

    # satellite-maintain packages install libvirt-client
  6. 以下のコマンドを使用して、KVM サーバーへの接続をテストします。

    # su foreman -s /bin/bash -c 'virsh -c qemu+ssh://root@kvm.example.com/system list'