【RHEL 8】Subscription Managerでサブスクリプションの登録・解除

はじめに

RHEL 8のサブスクリプションの登録、解除をCLIで行う方法を試してみました。
OSインストール後に別途サブスクリプションを登録する場合や、サーバを破棄する際に登録を解除する際に本手順を使用します。

前提条件

登録するサブスクリプションは、以下記事で取得したRed Hat Developer Subscription for Individualsを使用しています。

Red Hat Developer Programに参加してRHEL 8.3をインストール(前編)

OSはRed Hat Enterprise Linux 8.3を使用しています。

システム

システムの登録

まずは、Red Hat Customer Portalに、サブスクリプション登録対象のサーバ(以下 システム)を登録します。登録が完了すると、システムのインベントリーIDが表示されます。システム名にはホスト名が設定されます。

# subscription-manager register --username <ユーザ名>
登録中: subscription.rhsm.redhat.com:443/subscription
パスワード: 
このシステムは、次の ID で登録されました: f38097ed-3c6a-xxxx-xxxx-xxxx
登録したシステム名: vmh01.tyo.densan-hoshigumi.com

上記の例では、パスワードは対話方式で入力しています。subscription-managerコマンドに--password <パスワード>オプションを付与することでコマンド中にパスワードを埋め込むことも可能ですが、historyに実行履歴が平文で残ってしまうので注意が必要です。

登録したシステムは、Red Hat Customer Portalのシステム画面で確認できます。

システムの登録(同時にサブスクリプションをアタッチ)

subscription-managerコマンドに--auto-attachオプションを付与することで、後述する「サブスクリプションのアタッチ」作業も同時に行うことができます。このとき、割り当てられるサブスクリプションは適切なものが自動的に選択されます。手動で割り当てるサブスクリプションを指定したい場合は、後述する「サブスクリプションのアタッチ」の手順を実施してください。

# subscription-manager register --auto-attach --username <ユーザ名>
登録中: subscription.rhsm.redhat.com:443/subscription
パスワード: 
このシステムは、次の ID で登録されました: f38097ed-3c6a-xxxx-xxxx-xxxx
登録したシステム名: vmh01.tyo.densan-hoshigumi.com
インストール済み製品の現在の状態:
製品名: Red Hat Enterprise Linux for x86_64
状態:   サブスクライブ済み

システムの登録解除

Red Hat Customer Portalに登録したシステムを削除するには、以下コマンドを実行します。

# subscription-manager unregister
登録の解除中: subscription.rhsm.redhat.com:443/subscription
システムの登録は解除されました。

サブスクリプション

サブスクリプションのアタッチ

Red Hat Customer Portalに登録したシステムに対して、取得済みのサブスクリプションを割り当てます。

以下のコマンドを実行して、利用可能なサブスクリプションの一覧を表示します。実行結果中のプール IDを控えておきます。

# subscription-manager list --available
+-------------------------------------------+
    利用可能なサブスクリプション
+-------------------------------------------+
サブスクリプション名:     Red Hat Developer Subscription for Individuals
提供:                     dotNET on RHEL Beta (for RHEL Server)
                          Red Hat CodeReady Linux Builder for x86_64
                          Red Hat Enterprise Linux for SAP HANA for x86_64
                          Red Hat Ansible Engine
                          RHEL for SAP HANA - Update Services for SAP Solutions
                          Red Hat Enterprise Linux Scalable File System (for RHEL Server) - Extended Update
                          Support
                          RHEL for SAP HANA - Extended Update Support
                          Red Hat Container Images Beta
                          Red Hat Ansible Automation Platform
                          Red Hat Enterprise Linux Atomic Host Beta
                          Red Hat Container Images
                          Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                          Red Hat Container Development Kit
                          Red Hat Beta
                          Red Hat EUCJP Support (for RHEL Server) - Extended Update Support
                          RHEL for SAP (for IBM Power LE) - Update Services for SAP Solutions
                          Red Hat Enterprise Linux High Availability for x86_64
                          MRG Realtime
                          Red Hat Enterprise Linux Load Balancer (for RHEL Server) - Extended Update Support
                          dotNET on RHEL (for RHEL Server)
                          Red Hat CodeReady Linux Builder for x86_64 - Extended Update Support
                          Red Hat Enterprise Linux High Availability - Update Services for SAP Solutions
                          Red Hat Enterprise Linux Resilient Storage for x86_64 - Extended Update Support
                          Red Hat Enterprise Linux High Availability for x86_64 - Extended Update Support
                          Oracle Java (for RHEL Server)
                          Red Hat Enterprise Linux Resilient Storage for x86_64
                          Red Hat Enterprise Linux Server - Update Services for SAP Solutions
                          Red Hat Software Collections (for RHEL Server)
                          Red Hat Enterprise Linux for ARM 64
                          Red Hat Enterprise Linux High Performance Networking (for RHEL Server)
                          Red Hat Enterprise Linux Scalable File System (for RHEL Server)
                          Red Hat Enterprise Linux for Real Time
                          Red Hat Enterprise Linux High Performance Networking (for RHEL Server) - Extended Update
                          Support
                          RHEL for SAP - Update Services for SAP Solutions
                          Oracle Java (for RHEL Server) - Extended Update Support
                          Red Hat Enterprise Linux Atomic Host
                          Red Hat CodeReady Linux Builder for ARM 64
                          Red Hat Developer Tools (for RHEL Server)
                          Red Hat Software Collections Beta (for RHEL Server)
                          Red Hat Enterprise Linux Server
                          Red Hat Enterprise Linux for SAP Applications for x86_64
                          Red Hat Developer Tools Beta (for RHEL Server)
                          Red Hat Enterprise Linux for x86_64
                          Red Hat Enterprise Linux for x86_64 - Extended Update Support
                          RHEL for SAP - Extended Update Support
                          Red Hat Developer Toolset (for RHEL Server)
                          Red Hat Enterprise Linux High Performance Networking (for RHEL Compute Node)
                          Red Hat S-JIS Support (for RHEL Server) - Extended Update Support
SKU:                      RH00798
契約:                     
プール ID:                2c92808177b0e5480xxxxxxxxxx
管理の提供:               いいえ
数量:                     16
推奨:                     1
サービスタイプ:           
ロール:                   
サービスレベル:           Self-Support
使用方法:                 
アドオン:                 
サブスクリプションタイプ: Standard
開始:                     2021年02月21日
終了:                     2022年02月21日
エンタイトルメントタイプ: 物理

控えておいたプール ID--poolオプションの引数に指定して以下のコマンドを実行します。

# subscription-manager attach --pool=2c92808177b0e5480xxxxxxxxxx
サブスクリプションが正しく割り当てられました: Red Hat Developer Subscription for Individuals

システムに割り当てられたサブスクリプションを確認します。

# subscription-manager list --consumed
サブスクリプション名:     Red Hat Developer Subscription for Individuals
提供:                     Red Hat Enterprise Linux High Availability - Update Services for SAP Solutions
                          Red Hat Enterprise Linux Atomic Host
                          Red Hat Enterprise Linux Atomic Host Beta
                          Red Hat Developer Tools (for RHEL Server)
                          Red Hat Container Images
                          Red Hat Container Images Beta
                          Red Hat Developer Tools Beta (for RHEL Server)
                          Red Hat Enterprise Linux for x86_64
                          Red Hat Enterprise Linux Resilient Storage for x86_64
                          Red Hat Enterprise Linux Resilient Storage for x86_64 - Extended Update Support
                          dotNET on RHEL (for RHEL Server)
                          Red Hat Enterprise Linux Scalable File System (for RHEL Server)
                          dotNET on RHEL Beta (for RHEL Server)
                          Red Hat Enterprise Linux Scalable File System (for RHEL Server) - Extended Update
                          Support
                          Red Hat Ansible Automation Platform
                          Oracle Java (for RHEL Server)
                          Red Hat Enterprise Linux for SAP HANA for x86_64
                          Red Hat Enterprise Linux for Real Time
                          Red Hat Software Collections (for RHEL Server)
                          RHEL for SAP - Extended Update Support
                          Oracle Java (for RHEL Server) - Extended Update Support
                          Red Hat S-JIS Support (for RHEL Server) - Extended Update Support
                          RHEL for SAP HANA - Extended Update Support
                          Red Hat Software Collections Beta (for RHEL Server)
                          Red Hat Ansible Engine
                          Red Hat Enterprise Linux Server
                          Red Hat CodeReady Linux Builder for x86_64
                          MRG Realtime
                          Red Hat Container Development Kit
                          Red Hat CodeReady Linux Builder for ARM 64
                          Red Hat Developer Toolset (for RHEL Server)
                          Red Hat Enterprise Linux High Performance Networking (for RHEL Server)
                          Red Hat Enterprise Linux High Performance Networking (for RHEL Server) - Extended Update
                          Support
                          Red Hat Enterprise Linux High Performance Networking (for RHEL Compute Node)
                          Red Hat Enterprise Linux for x86_64 - Extended Update Support
                          Red Hat Enterprise Linux for ARM 64
                          Red Hat Beta
                          Red Hat EUCJP Support (for RHEL Server) - Extended Update Support
                          RHEL for SAP (for IBM Power LE) - Update Services for SAP Solutions
                          Red Hat Enterprise Linux Server - Update Services for SAP Solutions
                          Red Hat Enterprise Linux for SAP Applications for x86_64
                          RHEL for SAP - Update Services for SAP Solutions
                          RHEL for SAP HANA - Update Services for SAP Solutions
                          Red Hat CodeReady Linux Builder for x86_64 - Extended Update Support
                          Red Hat Enterprise Linux High Availability for x86_64
                          Red Hat Enterprise Linux High Availability for x86_64 - Extended Update Support
                          Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                          Red Hat Enterprise Linux Load Balancer (for RHEL Server) - Extended Update Support
SKU:                      RH00798
契約:                     
アカウント:               xxxxxxx
シリアル:                 549351794513xxxxx
プール ID:                2c92808177b0e5480xxxxxxxxxx
管理の提供:               いいえ
アクティブ:               True
使用数量:                 1
サービスタイプ:           
ロール:                   
サービスレベル:           Self-Support
使用方法:                 
アドオン:                 
状態の詳細:               最新のサブスクリプションです
サブスクリプションタイプ: Standard
開始:                     2021年02月21日
終了:                     2022年02月21日
エンタイトルメントタイプ: 物理

サブスクリプションの登録状況を確認するには、Red Hat Customer Portalのシステム画面で表示されるシステムのホスト名をクリックします。

「正しくサブスクライブ済み」の表示があれば、サブスクリプションの登録は完了です。

サブスクリプションの解除

システムにアタッチしたサブスクリプションを解除するには、登録時に使用したプール ID--poolオプションの引数に指定して以下のコマンドを実行します。

# subscription-manager remove --pool=2c92808177b0e5480xxxxxxxxxx
1 件のローカル証明書が削除されました。
エンタイトルメントサーバーが、これらのプールを正常に削除しました:
   2c92808177b0e5480xxxxxxxxxx
エンタイトルメントサーバーが、これらのシリアル番号を正常に削除しました:
   549351794513xxxxx

参考情報

失敗事例

初めてシステムを登録しようとしたところ、以下の事象に遭遇しました。

# subscription-manager register --username=<ユーザ名>
登録中: subscription.rhsm.redhat.com:443/subscription
 ←パスワードを入力
サーバーの識別子を確認できません: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)

どうも時刻がズレていたようで、サブスクリプション登録先サーバのSSL証明書の検証に失敗してしまったようです。
時刻同期を行うchronydが起動していなかったので、サービスの起動・自動起動登録を行いました。

# chronyc sources
506 Cannot talk to daemon

# systemctl enable --now chronyd
Created symlink /etc/systemd/system/multi-user.target.wants/chronyd.service → /usr/lib/systemd/system/chronyd.service.

# chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- any.time.nl                   2   6    17    28  -4183us[-4183us] +/-   86ms
^- time.cloudflare.com           3   6    17    31  +9422us[+9393us] +/-   67ms
^* ntp-a2.nict.go.jp             1   6    17    30   -438us[ -467us] +/- 7144us
^- 103.202.216.35                3   6    17    31  -4678us[-4707us] +/-  145ms

時刻同期後に再度システムの登録を行なったところ、問題なく実行することができました。

プロキシサーバの使用

サブスクリプション登録対象のサーバがインターネットから隔離されている場合は、プロキシサーバを介して登録作業を行います。

システムとサブスクリプションを登録する前に、以下のコマンドを実行してプロキシサーバを設定します。

# subscription-manager config \
  --server.proxy_hostname=<FQDN> \
  --server.proxy_port=<ポート番号> \
  --server.proxy_user=<ユーザ名> \
  --server.proxy_password=<パスワード>

設定を削除するときは、以下のコマンドを実行します。

# subscription-manager config --remove=server.proxy_hostname
# subscription-manager config --remove=server.proxy_port
# subscription-manager config --remove=server.proxy_user
# subscription-manager config --remove=server.proxy_password

参考文献

5.2. コマンドラインでシステムの登録
RHEL の簡易登録

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です