第8章 KVM (libvirt) での仮想マシンのプロビジョニング
カーネルベースの仮想マシン (KVM) はオープンソースの仮想化デーモンおよび Red Hat Enterprise Linux で実行される libvirt という API を使用します。Satellite は KVM サーバーで libvirt API に接続でき、ハイパーバイザーにホストをプロビジョニングし、特定の仮想化機能を制御することができます。
管理できるのは、Satellite を介して作成された仮想マシンのみです。ディレクトリーストレージプールタイプ以外の仮想マシンはサポートされていません。
KVM プロビジョニングを使用してネットワーク接続経由か、既存のイメージをもとに、ホストを作成できます。
前提条件
- Red Hat Enterprise Linux の同期済みのコンテンツリポジトリーを使用できる。詳細は、コンテンツの管理 の リポジトリーの同期 を参照してください。
- ホスト登録用のアクティベーションキーを用意している。詳細は、コンテンツの管理 の アクティベーションキーの作成 を参照してください。
- KVM サーバーでネットワークを管理する Capsule Server。Capsule Server との競合を避けるために、他の DHCP サービスがこのネットワークで実行されていないことを確認します。Capsule Server のネットワークサービス設定の詳細は、ホストのプロビジョニング の ネットワークの設定 を参照してください。
- KVM 仮想化ツールを実行する Red Hat Enterprise Linux サーバー (libvirt daemon)。詳細は、Red Hat Enterprise Linux 8 仮想化の設定と管理 を参照してください。
-
既存の仮想マシンイメージ (イメージベースのプロビジョニングを使用する場合)。このイメージが KVM ホストのストレージプールにあることを確認します。
defaultストレージプールは、通常/var/lib/libvirt/imagesにあります。Satellite 経由で管理できるのは、ディレクトリーのプールストレージタイプのみです。 オプション: この手順の例では、KVM の root ユーザーを使用します。KVM サーバーで root 以外のユーザーを使用する場合には、KVM サーバーの
libvirtグループにユーザーを追加します。# usermod -a -G libvirt non_root_user
関連情報
- 管理者以外のユーザーがホストをプロビジョニングするために必要なパーミッションのリストは、付録E ホストをプロビジョニングするために必要なパーミッション を参照してください。
- ホストを削除するときに関連付けられた仮想マシンも削除するように Satellite を設定できます。詳細は、「ホストの削除時の仮想マシンの削除」 を参照してください。
8.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.comforemanユーザーのバッシュシェルを終了します。$ exitlibvirt-clientパッケージをインストールします。# satellite-maintain packages install libvirt-client以下のコマンドを使用して、KVM サーバーへの接続をテストします。
# su foreman -s /bin/bash -c 'virsh -c qemu+ssh://root@kvm.example.com/system list'