Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第10章 ハイパーバイザーおよび仮想マシンの登録

Red Hat Enterprise Linux 6 および 7 では、すべてのゲスト仮想マシンが特定のハイパーバイザーにマッピングされ、すべてのゲストに同じレベルのサブスクリプションサービスが割り当てられていることを確認する必要があります。そのためには、インストールおよび登録されている各 KVM ハイパーバイザーですべてのゲスト仮想マシン(VM)を自動的に検出するサブスクリプションエージェントをインストールする必要があります。これにより、ホストに配置されたマッピングファイルが作成されます。このマッピングファイルは、すべてのゲスト仮想マシンが以下の利点に対応するようにします。
  • 仮想システム固有のサブスクリプションはすぐに利用でき、関連するすべてのゲスト仮想マシンに適用できます。
  • ハイパーバイザーから継承できるサブスクリプションの利点はすべて読み取れており、関連するすべてのゲスト仮想マシンに適用できます。
注記
本章の情報は、Red Hat Enterprise Linux サブスクリプションのみに限定されます。Red Hat Virtualization のサブスクリプションまたは Red Hat Satellite サブスクリプションがある場合は、これらのサブスクリプションで提供される virt-who の情報を確認する必要があります。Red Hat Subscription Management の詳細は、カスタマーポータルの『Red Hat Subscription Management Guide』 も参照してください。

10.1. ホスト物理マシンへの virt-who のインストール

  1. KVM ハイパーバイザーの登録

    ホスト物理マシンの root ユーザーとしてターミナルで subscription-manager register [options] コマンドを実行し、KVM ハイパーバイザーを登録します。# subscription-manager register --help メニューで他のオプションが利用できます。ユーザー名とパスワードを使用している場合は、Subscription Manager アプリケーションが認識する認証情報を使用します。これが最初のサブスクライブ時に非常になく、ユーザーアカウントがない場合は、カスタマーサポートにお問い合わせください。たとえば、仮想マシンを「admin」として登録するには、パスワードとして「secret」を使用します。
    [root@rhel-server ~]# subscription-manager register --username=admin --password=secret --auto-attach
  2. virt-who パッケージのインストール

    ホスト物理マシンで以下のコマンドを実行して、virt-who パッケージをインストールします。
    # yum install virt-who
  3. virt-who 設定ファイルを作成します。

    ハイパーバイザーごとに、設定ファイルを /etc/virt-who.d/ ディレクトリーに追加します。ファイルには、少なくとも以下のスニペットが含まれている必要があります。
    [libvirt]
    type=libvirt
    
    virt-who の設定に関する詳細は、virt-whoの設定」
  4. virt-who サービスの起動

    ホスト物理マシンで以下のコマンドを実行して、virt-who サービスを起動します。
    # systemctl start virt-who.service
    # systemctl enable virt-who.service
  5. virt-who サービスがゲスト情報を受信していることを確認する

    この時点で、virt-who サービスは、ホストからドメイン一覧を収集します。 ホストの物理マシンの /var/log/rhsm/rhsm.log ファイルをチェックして、ファイルにゲスト仮想マシンの一覧が含まれていることを確認します。以下に例を示します。
    2015-05-28 12:33:31,424 DEBUG: Libvirt domains found: [{'guestId': '58d59128-cfbb-4f2c-93de-230307db2ce0', 'attributes': {'active': 0, 'virtWhoType': 'libvirt', 'hypervisorType': 'QEMU'}, 'state': 5}]
    

手順10.1 カスタマーポータルでのサブスクリプションの管理

  1. ハイパーバイザーのサブスクライブ

    仮想マシンはハイパーバイザーと同じサブスクリプションの利点を受けることができるため、ハイパーバイザーに有効なサブスクリプションがあることを確認し、そのサブスクリプションを仮想マシンが使用できることを確認するのは重要です。
    1. カスタマーポータルにログインします。

      Red Hat カスタマーポータル で Red Hat アカウント認証情報を入力してログインします。
    2. Systems リンクをクリックします。

      My Subscriptions インターフェースの システム セクションに移動します
    3. ハイパーバイザーの選択

      システム ページには、サブスクライブしている全システムの表があります。ハイパーバイザーの名前(例: localhost.localdomain)をクリックします。開いた詳細ページで、Attach a subscription をクリックし、一覧表示されるすべてのサブスクリプションを選択します。選択項目を追加 をクリックします。これにより、ゲストがサブスクリプションを活用できるように、ホストの物理サブスクリプションをハイパーバイザーに割り当てます。
  2. ゲスト仮想マシンのサブスクライブ - 初回使用時

    この手順は、新しいサブスクリプションがあり、これまでにゲスト仮想マシンをサブスクライブしていない状態について行います。仮想マシンを追加する場合は、この手順を省略します。virt-who サービスを実行しているマシンでハイパーバイザープロファイルに割り当てられたサブスクリプションを使用するには、ゲスト仮想マシンのターミナルで以下のコマンドを実行して、自動サブスクライブします。
    [root@virt-who ~]# subscription-manager attach --auto
  3. 追加のゲスト仮想マシンのサブスクライブ

    仮想マシンの初回のサブスクライブ時だけの場合は、この手順を省略してください。追加の仮想マシンを追加する場合は、このコマンドを実行しても、ゲスト仮想マシンに同じサブスクリプションを再アタッチする訳ではありません。これは、すべてのサブスクリプションを削除して、特定のゲスト仮想マシンに必要なものを解決できるためです。これにより、サブスクリプションが以前とは異なる場合があります。これはシステムで影響を及ぼさない可能性がありますが、認識できるものになります。自動アタッチが機能しないため、手動の割り当て手順を使用して以下の仮想マシンを割り当てる場合は、それらの仮想マシンを手動で再割り当てする必要があります。次のコマンドを使用して、古いゲストのサブスクリプションを削除し、自動アタッチを使用してすべてのゲストにサブスクリプションをアタッチします。これらのコマンドをゲスト仮想マシンで実行します。
    [root@virt-who ~]# subscription-manager remove --all
    [root@virt-who ~]# subscription-manager attach --auto
  4. サブスクリプションが割り当てられていることを確認します

    ゲスト仮想マシンで以下のコマンドを実行して、サブスクリプションがハイパーバイザーに割り当てられていることを確認します。
    [root@virt-who ~]# subscription-manager list --consumed
    以下のような出力が表示されます。サブスクリプションの詳細に注意してください。「Subscription is current」と記載すべきです。
    [root@virt-who ~]# subscription-manager list --consumed
    +-------------------------------------------+
       Consumed Subscriptions
    +-------------------------------------------+
    Subscription Name:	Awesome OS with unlimited virtual guests
    Provides: 		Awesome OS Server Bits
    SKU: 			awesomeos-virt-unlimited
    Contract: 		0
    Account: 		######### Your account number #####
    Serial: 		######### Your serial number ######
    Pool ID: 		XYZ123                                             1 
    Provides Management: 	No
    Active: 		True
    Quantity Used: 		1
    Service Level:
    Service Type:
    Status Details:		Subscription is current                       2 
    Subscription Type:
    Starts: 		01/01/2015
    Ends: 			12/31/2015
    System Type: 		Virtual
    
    1
    The ID for the subscription to attach to the system is displayed here. You will need this ID if you need to attach the subscription manually.
    2
    Indicates if your subscription is current. If your subscription is not current, an error message appears. One example is Guest has not been reported on any host and is using a temporary unmapped guest subscription. In this case the guest needs to be subscribed. In other cases, use the information as indicated in 「サブスクリプションのステータスエラーがあります。どうすればよいでしょうか?」
    .
  5. 追加のゲストの登録

    ハイパーバイザーに新しいゲスト仮想マシンをインストールする場合は、ゲスト仮想マシンで以下のコマンドを実行して、新しい仮想マシンを登録し、ハイパーバイザーに割り当てられているサブスクリプションを使用する必要があります。
    # subscription-manager register
    # subscription-manager attach --auto
    # subscription-manager list --consumed

10.1.1. virt-whoの設定

virt-who サービスは、以下のファイルを使用して設定されます。
  • /etc/virt-who.conf: 接続済みハイパーバイザーで変更を確認する間隔を含む一般的な設定情報が含まれています。
  • /etc/virt-who.d/hypervisor_name.conf: 特定のハイパーバイザーの設定情報が含まれています。
ハイパーバイザー設定ファイルと virt-who.conf に必要なスニペットを生成するため、Web ベースのウィザードが提供されます。ウィザードを実行するには、カスタマーポータルの Red Hat Virtualization Agent(virt-who)Configuration Helper を参照します。
ウィザードの 2 番目のページで、以下のオプションを選択します。
  • virt-who が報告先: Subscription Asset Manager
  • ハイパーバイザーのタイプ:libvirt
ウィザードに従って設定を完了します。設定が適切に実行されると、virt-who は指定されたハイパーバイザー上の既存および今後のゲストに選択したサブスクリプションを自動的に提供します。
ハイパーバイザー設定ファイルの詳細は、man ページの virt-who-config を参照してください。