第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 ユーザーアカウント:
- Edit hosts
View hosts
詳細は、『 Red Hat 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 の管理 』ガイド の「ロールにパーミッションの追加 」を参照してください。
手順の概要
- 「Satellite Server の KVM 接続設定」
- 「Satellite Server への KVM 接続の追加」
- オプション: 「Satellite Server での KVM イメージの追加」イメージベースのプロビジョニングを使用する場合にはこの手順を使用します。
- 「KVM の詳細のコンピュートプロファイルへの追加」
- 「KVM でのホストの作成」
9.1. Satellite Server の KVM 接続設定
KVM 接続を追加する前に、foreman
ユーザーの SSH キーペアを作成して、Satellite Server とKVM 間の安全な接続を確保します。
手順
Satellite Server で
Foreman
ユーザーに切り替えます。# su foreman -s /bin/bash
キーペアを生成します。
$ ssh-keygen
公開キーを KVM サーバーにコピーします。
$ ssh-copy-id root@kvm.example.com
foreman
ユーザーのバッシュシェルを終了します。$ exit
libvirt-client
パッケージをインストールします。# satellite-maintain packages install libvirt-client
以下のコマンドを使用して、KVM サーバーへの接続をテストします。
# su foreman -s /bin/bash -c 'virsh -c qemu+ssh://root@kvm.example.com/system list'