VMware環境下の RHELの virt-who でサブスクリプションを管理

2022/08/22
 
この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

virt-who でサブスクリプション管理を設定する機会がありました。
設定がうまく完了するまで右往左往しましたので業務メモとして残しておきたいと思います。

はじめに

virt-whoは、Red Hat Enterprise Linux(※RHEL)のサブスクリプションを管理するソフトウェアです。VMwareのvCenter Serverが存在する環境で設定を行いましたのでご紹介いたします。

環境

・ESXサーバ(4台)
・vCenterサーバ(仮想アプライアンス:1台)
・virt-whoインストールサーバ(仮想マシン(Linuxサーバ):1台))
・Red Hat カスタマーポータルアカウント

virt-who のインストール

Linuxサーバ(1台)へvirt-whoをインストールします

コマンド
yum install virt-who
※この時点で何かしらのサブスクリプションが割り当てられていないとyumコマンドが実行できないので注意!

vCenter Serverの管理者確認

よくある「vsphere.local\administrator」など管理者のIDとパスワードを確認

virt-who 設定(仮想マシン(Linuxサーバ))

★基本的に1台のLinuxサーバに設定すればよい
★今回vCeterServerは1台だが複数台存在する場合は、virt-whoの設定ファイルに複数台分、記載すればよい

ユーザーパスワードを暗号化
※vCenterサーバへログオンするユーザー(vsphere.local\administrator)のパスワードを暗号化

コマンド
virt-who-password
Password:
Use following as value for encrypted_password key in the configuration file:
111112222233333444445555566666aa

virt-who が vCenterServer へ接続するように設定

コマンド
cd /etc/virt-who.d
mv -i template.conf vcenter01.conf
★ファイル名は任意だが、.confは必要

コマンド
vi vcenter01.conf
※編集箇所のみ記載

[vcenter01] ★任意だが、ファイル名と同じを推奨
type=esx ★esx固定
server=192.168.1.1     ★vCenterServerのIPアドレス
username=vsphere.local\administrator ★vCenterServerのユーザー
encrypted_password=111112222233333444445555566666aa ★事前に暗号化したパスワード
owner=7777777 ★組織ID ※1を参照
env=Library ★Library固定
hypervisor_id=hostname ★hostname固定

※1
コマンド
subscription-manager identity
システム ID: –**
名前: –**, vcenter01
組織名: 7777777
組織 ID: 7777777

virt-who サービスの設定

コマンド
cd /etc/sysconfig/
vi virt-who
※追記・修正箇所のみ記載
VIRTWHO_SAM=1

virt-who サービスを起動して有効化

※Red Hat Enterprise Linux 7 の場合:
コマンド
systemctl start virt-who.service
systemctl enable virt-who.service

※Red Hat Enterprise Linux 6 の場合:
コマンド
service virt-who start
chkconfig virt-who on

Red Hat カスタマーポータルにESXが表示されることを確認

※この時点ではアタッチ済みサブスクリプション数は、0

ESXにサブスクリプションを割り当てる

※Red Hat カスタマーポータルでサブスクリプションを割り当てます

コマンドで各Linuxサーバへサブスクリプションを割り当てる

※サブスクリプションを割り当てたいLinuxサーバで操作します

※必要であればproxyを設定します
コマンド
vi /etc/rhsm/rhsm.conf
proxy_hostname =proxy.example.com
proxy_port =8080

Red Hat カスタマーポータルへ仮想マシンを登録

コマンド
subscription-manager register
ユーザー名:testuser01
パスワード:
このシステムは次の ID で登録されました: –**

※この時点でRed Hat カスタマーポータルに登録されますが、サブスクリプションはまだ割り当たっていません

利用可能なサブスクリプションの確認

利用可能なサブスクリプションが表示されるのでプールIDを控えます

コマンド
subscription-manager list –available
+——————————————-+
利用可能なサブスクリプション
+——————————————-+
サブスクリプション名: Red Hat Enterprise Linux for Virtual Datacenters, Standard
提供: Red Hat Developer Tools (for RHEL Server)
Red Hat Beta
Oracle Java (for RHEL Server)
Red Hat Enterprise Linux Server
Red Hat Software Collections Beta (for RHEL Server)
Red Hat Software Collections (for RHEL Server)
Red Hat Developer Tools Beta (for RHEL Server)
Red Hat Ansible Engine
Red Hat Developer Toolset (for RHEL Server)
dotNET on RHEL (for RHEL Server)
Red Hat Enterprise Linux Atomic Host Beta
Red Hat Enterprise Linux Atomic Host
SKU: ********
契約: ********
プール ID: 11112222333344445555aaaabbbbcccc
数量: 無制限
推奨: 1
サービスレベル: Standard
サービスタイプ: L*-L*
サブスクリプションタイプ: Stackable
終了: 2020年01月01日
システムタイプ: 仮想

サブスクリプション割り当て

プールIDを引数として、仮想用サブスクリプションを割り当てます

コマンド
subscription-manager subscribe –pool=11112222333344445555aaaabbbbcccc
サブスクリプションが正しく割り当てられました: Red Hat Enterprise Linux for Virtual Datacenters, Standard

割り当て済みサブスクリプションの確認

コマンド
subscription-manager list –consumed
+——————————————-+
割り当て済みのサブスクリプション
+——————————————-+
サブスクリプション名: Red Hat Enterprise Linux for Virtual Datacenters, Standard
提供: Red Hat Beta
Red Hat Enterprise Linux Atomic Host
Red Hat Enterprise Linux Atomic Host Beta
Oracle Java (for RHEL Server)
Red Hat Developer Tools (for RHEL Server)
Red Hat Developer Tools Beta (for RHEL Server)
Red Hat Developer Toolset (for RHEL Server)
Red Hat Software Collections (for RHEL Server)
Red Hat Software Collections Beta (for RHEL Server)
dotNET on RHEL (for RHEL Server)
Red Hat Ansible Engine
Red Hat Enterprise Linux Server
SKU: ********
契約: ********
アカウント: ********
シリアル: *****************
プール ID: 11112222333344445555aaaabbbbcccc
アクティブ: True
使用数量: 1
サービスレベル: Standard
サービスタイプ: L
*-L*
状態の詳細:
サブスクリプションタイプ: Stackable
開始: 2019年01月01日
終了: 2020年01月01日
システムタイプ: 仮想

Red Hat カスタマーポータルでサブスクリプションが割り当てられたことを確認します

まとめ

今回は、 Red Hat のvirt-whoという機能を利用してライセンス管理を行う方法をご紹介しました。一連の手順ではあまり公開されてなかったのでご参考になればと思います。

この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

Comment

  1. どんきち より:

    virt-whoについてまとまった情報が少なく大変助かりました。
    ただ、以下2点は若干誤りがあるように思えます。

    利用可能なサブスクリプションの確認
    →ESXに割り当てているため、ここでは該当PoolIDのものは出てこないと思われる。

    サブスクリプション割り当て
    →subscription-manager attach –auto になると思われます。

    • tkjzblog より:

      どんきち様

      ご指摘ありがとうございます。
      私も手探りのまま残しておいた情報をそのまま公開してしまったのでまたあらためて確認したいと思います。

  2. kumikix より:

    とても参考になりました。

    社内で「仮想なら無制限!」の思い込みで飛びついて購入したライセンスが6本もあり、誰もこんな設定がいることをわかっておらず苦戦してました。

    社内プロキシ・ルート設定等に阻まれながらなんとか全ライセンス有効活用できるところまでもっていけました。

    本当に助かりました。ありがとうございます!!

    • tkjzblog より:

      kumikix様

      参考にしていただきありがとうございました。
      また、よい情報がありましたら皆さまと共有させていただきます。

Copyright© しっぱいはせいこうのもと , 2020 All Rights Reserved.