RHSM トラブルシューティングのチェックリスト

RHSM エラーのトラブルシューティング

1. RHSM トラブルシューティングのチェックリストの概要
チェック項目 発生したエラーまたは警告 考えられる原因と修復手順
GPG キーがインポート済みである。 GPG がエンドポイントにインポートされていない場合は、EDR ログに次のエントリが表示されることがあります。warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Public key for httpd-devel-2.2.15-56.el6_8.3.x86_64.rpm is not installed. GPG がエンドポイントにインポートされていません。エンドポイントの EDR ログを確認してください。このログは、GPG がインポートされていない場合に表示されます。インポートされていない場合は、コマンド・ラインを使用するか、RHEL 6 ネイティブ・ツール用パッチ・サイトまたは RHEL 向けパッチ・サイト固有の Fixlet を使用して、GPG をインポートしてください。
プリフェッチ・プラグインのタイムアウト設定が低すぎる。 Fixlet の適用失敗が発生し、次の行に「fail」と示されている場合がある。
execute prefetch plug-in
line.
タスクを使用してタイムアウトを 30 分に設定します。
証明書を使用して Red Hat リポジトリーにアクセスできることを確認する。 Error: Certs cannot access any Repos または、証明書を使用して必要なリポジトリーの一部にしかアクセスできない。 リポジトリー・アクセスのクイック・チェックを実行します。
資格証明書が正しいフォルダーに置かれていることを確認する。 パッチ・デプロイメントに失敗する。 証明書が正しいフォルダーやサブフォルダーに置かれていない可能性があります。不要なメタデータ・ファイルを削除する必要があります。詳しくは、以下のセクションのガイドラインを参照してください。資格証明書とシステム識別情報が正しいフォルダーに置かれている。
資格証明書のフォーマットが正しいことを確認する。 パッチ・デプロイメントに失敗する。 ユーザーが持つ資格のフォーマットが古い可能性があります。証明書の形式を確認するには、以下のセクションで詳細な手順を参照してください。RHSM 資格証明書のバージョンが正しいフォーマットになっている。
資格証明書がアクティブであり、失効していない。 資格証明書の作成の 1 日後に、パッチ・デプロイメントに失敗する。 このセクションに示す方法に従って、証明書が失効していないことを確認してください。サブスクリプションが失効している場合は、資格証明書に対して新規サブスクリプション (資格) を生成または付加する必要があります。ID 証明書が失効している場合は、再生成します。
『資格証明書に正しいサブスクリプション (資格) が付加されている』を参照してください。 証明書を使用して必要な Red Hat 基本リポジトリーにアクセスできない。 資格証明書に正しいサブスクリプション (資格) を付加して、必要なリポジトリーにアクセスできるようにします。このセクションに示す方法に従って、資格証明書に付加されているサブスクリプションの資格を確認してください。
資格証明書を使用して Red Hat 基本リポジトリーにアクセスできる。 証明書を使用して Red Hat 基本リポジトリーにアクセスできない。 考えられる原因:
  • 証明書が失効している。
  • Red Hat Subscription Management ポータルを使用して管理システムを登録したときに、必要なサブスクリプションが正しく付加されなかった。
  • ネットワークまたはプロキシーによってブロックされているため、RHSMPlugin.exe がリポジトリーにアクセスできない。
このセクションで説明するアクセス・テストを実行してください。
RHSMPlugin.log のエラー・メッセージ ログに次のエントリーが見つかることがある。

ERROR : All Key and Cert pairs in 'rootCertDir' cannot access: https://cdn.redhat.com/content/dist/rhel/client/7/

7Client/x86_64/os/repodata/repomd.xml

  • このようなエンドポイントにパッチをデプロイする必要がない場合、このメッセージは無視して構いません。これは、ハッシュ制限がないことによって起こる場合があります。
  • エラー・メッセージがパッチ・デプロイメントに必要なリポジトリーに関連している場合、このエラーにはいくつかの原因があると考えられます。以下のセクションを参照してください。資格証明書を使用してリポジトリーにアクセスできない

GPG キーがインポート済みである

Red Hat コンテンツをダウンロードするには、Red Hat から GPG キーをインポートする必要があります。パッチをデプロイしてから、エンドポイントの EDR ログを確認します。これは、var\opt\BESClient\EDRDeployData\EDR_DeploymentResults.txt にあります。

エンドポイントの GPG キーがインポートされていない場合は、EDR_DeploymentResults.txt に次の警告が表示される場合があります。

warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51:
NOKEY Public key for httpd-devel-2.2.15-56.el6_8.3.x86_64.rpm is not installed

エンドポイントの GPG キーをインポートするには以下のコマンドを使用します。rpm --import /mnt/cdrom/RPM-GPG-KEY-r​edhat-release.

以下の Fixlet を使用して、エンドポイントの GPG キーをインポートすることもできます。
  • RHEL 6 ネイティブ・ツール向けパッチ: 301 Import RPM-GPG-KEY-redhat-release - RHEL 6
  • RHEL 7 向けパッチ: 301 Import RPM-GPG-KEY-redhat-release - RHEL 7
以下のステップは通常、新規にセットアップされたエンドポイントごとに 1 回実行するだけでよいです。

タイムアウト設定がプリフェッチ・プラグインを実行するのに十分な値であることを確認する

Fixlet の適用が失敗し、コンソールの「アクション・スクリプトの実行の詳細」で、execute prefetch plug-in 行に「fail」と示されている場合、プラグインのタイムアウト設定の構成が必要になる場合があります。

「パッチ・サポート (Patching Support)」サイトから以下のタスクを使用して、タイムアウトを 30 分に設定します。プリフェッチ・プラグインのタイムアウトの変更

タスクを適用した後に、BES サポート・サイトにある「トラブルシューティング: RHEL/SUSE での BES クライアントの再始動 (TROUBLESHOOTING: Restart BES Client on RHEL/SUSE)」タスクを使用して BES クライアントを再始動します。

証明書を使用して Red Hat リポジトリーにアクセスできる

証明書を使用して Red Hat リポジトリーにアクセスできるかどうかを確認するためのクイック・テストを実行できます。通常、テストの実行にかかる時間は 10 秒未満です。

RHSM プラグインは、通常 C:\Program Files (x86)\BigFix Enterprise\BES Server\DownloadPlugins\RHSMProtocol にあります。

次のリポジトリー・アクセス・テストを実行します。
RHSMPlugin.exe --check-baserepos

リポジトリー・アクセス・テストを実行した場合、3 とおりの結果が考えられます。リポジトリー・アクセス・テストの可能性のある結果は次のとおりです。

いずれの証明書にもアクセスできない
INFO     :  Base Repos Test Summary
INFO     :  Certs in <rootCertDir> can access 0 / 12 Base Repos:

ERROR    :  Error: Certs cannot access any Repos.
証明書が正しくセットアップされていません。チェックリストを続行してください。両方の証明書のセットアップとダウンロードについて詳しくは、『RHSM 証明書のセットアップ』を参照してください。
証明書を使用して必要なすべてのリポジトリーにアクセスできる。
INFO     :  Base Repos Test Summary
INFO     :  Certs in <rootCertDir> can access 3 / 12 Base Repos:

INFO     :  server-7-x86_64:      Red Hat Enterprise Linux 7 Server (RPMs)
INFO     :  server-6-x86:         Red Hat Enterprise Linux 6 Server (RPMs)
INFO     :  server-6-x86_64:      Red Hat Enterprise Linux 6 Server (RPMs)
証明書を使用して必要なリポジトリーの一部にのみアクセスできる。

正常にアクセスされたリポジトリーのリストに表示されないエンドポイント・タイプへのパッチの適用が必要になる場合があります。たとえば、ワークステーション・エンドポイントが存在するが、出力にはサーバー・リポジトリーへのアクセスしか表示されないとします。このような場合、Red Hat ポータルを使用して必要なサブスクリプションを証明書に付加する必要があります。

テストされたリポジトリーのリストは、plugin.ini で参照される RepoList (「primaryRepoListFile」、「extendedRepoListFile」) ファイルから得られます。この文書の執筆時点での 1 のリポジトリーのリストは

次のとおりです。
  • client-6-x86
  • client-6-x86_64
  • client-7-x86_64
  • server-6-x86
  • server-6-x86_64
  • server-7-x86_64
  • workstation-6-x86
  • workstation-6-x86_64
  • workstation-7-x86_64
  • server-6-s390x
  • server-7-s390x
  • server-7-ppc64le
  • server-7-ppc64be

資格証明書が正しいフォルダーに置かれている

資格証明書が正しいフォルダーに置かれていることを確認します。エラーを回避するために、以下のガイドラインに従ってください。

  • 次のパスは、rootCertDir が配置されているパスの相対パスです。これは、plugin.ini 内でデフォルト値 (「certs」) のままで構いません。
    ^^^^^^^^^^^^^^^​^^^^^^^^^
    rootCertDir = certs
    ^^^^^^^^^^^^^^^​^^^^^^^^^
  • 「certs」フォルダーに含めることができるのは、サブフォルダーだけです。たとえば、cert_set_1、cert_set_ です。メタデータ・ファイルは削除します。
  • 「cert_set_1」フォルダーに含めることができるのは、「.pem」で終わるファイルだけです。「cert_set_1」には、任意の数の資格証明書を入れることができます。たとえば、443229635427054308.pem などです。許可されるのは、新しいフォーマットの資格証明書だけです。
    注: 以前のバージョンの RHSM サブスクリプション・インターフェースには、システム ID 証明書をダウンロードするためのオプションがありました。現在の RHSM サブスクリプション・インターフェース・バージョンでは、このオプションは使用されなくなりました。システム ID 証明書は、v1.0.2.0 の RHSM ダウンロード・プラグインおよび RHSM ダウンロード・キャッシャーでは不要になりました。
  • 証明書が複数セットある場合、1 つのフォルダーに入れる証明書は 1 セットだけにしてください。

RHSM 資格証明書のバージョンが正しいフォーマットになっている

RHSM カスタマー・ポータルで RHSM 証明書を作成する場合、システムを登録するステップを実行する際に、Red Hat Enterprise Linux バージョンを指定する必要があります。

エラーを回避するために、バージョン 7.2 を選択します。バージョン 7.2 より前の Red Hat Enterprise Linux バージョンでは、資格証明書のフォーマットが異なるため、RHSM ダウンロード・プラグインでは読み取られません。新しい資格証明書のフォーマットでは、.pem ファイルに「BEGIN ENTITLEMENT DATA」が含まれています。

資格のフォーマットのフォーマット・バージョンを確認するには、以下のステップを実行します。
  1. テキスト・エディターで .pem ファイルを開きます。
  2. 「BEGIN ENTITLEMENT DATA」を検索します。これが含まれているのは、新しい資格フォーマットだけです。古い資格証明書のフォーマットやシステム ID 証明書には、「BEGIN ENTITLEMENT DATA」は含まれていません。
注: 古いフォーマットの資格証明書が <BES_Server>\DownloadPlugins\RHSMProtocol\certs\cert_set_1 から削除されていることを確認してください。

資格証明書がアクティブであり、失効していない

証明書は通常、1 年から数年で有効期限が切れます。場合によっては、資格証明書の作成から 1 日後にパッチ・デプロイメントが失敗することがあります。そのような資格証明書では、有効期限日付が作成から 1 日後に設定されていることが分かりました。証明書の有効期限日付を確認するには、以下の複数の方法があります。
  • Red Hat マシンを使用する。
  • Red Hat ポータルを使用する。資格証明書を生成した https://access.​redhat.com のアカウントへのアクセスが必要になります。
  • OpenSSL を使用する
サブスクリプションが失効している場合は、資格証明書に対して新規サブスクリプション (資格) を生成または付加する必要があります。ID 証明書が失効している場合は、再生成します。ダウンロードした証明書を正しいフォルダーに置きます。
Red Hat マシンを使用した正しいサブスクリプション (証明書) の付加の確認

Red Hat マシンで、コマンド・ラインから > rct cat-cert <entitlement cert> > output.txt を実行し、証明書メタデータを ouput.txt ファイルに出力します。異なる output.txt ファイル名を使用する資格証明書とシステム ID 証明書ごとにこの操作を繰り返します。テキスト・エディターでファイルを開くと、証明書有効期限日付は、「終了日」フィールド End Date: 2018-05-25 12:50:11+00:00 にあります。

Red Hat ポータルを使用した正しいサブスクリプション (証明書) の付加の確認
  1. https://access.​redhat.com にログインします。
  2. https://access.​redhat.com/mana​gement/consumer​s?type=system に移動します。
  3. 以前に作成したシステムをクリックします。資格証明書のリストが表示されます。
  4. 資格証明書ごとに、「表示 (View)」をクリックします。「注文情報 (Order Info)」タブに移動します。「終了日 (End Date)」列で、サブスクリプションが失効していないことを確認します。
  5. ブラウザーの「戻る」をクリックして、システム内の付加されたサブスクリプションごとに、ステップ 4 から 6 を繰り返します。
OpenSSL を使用した正しいサブスクリプション (証明書) の付加の確認

OpenSSL を使用できる場合は、次のフォルダーでコマンド・ラインを開きます:\DownloadPlugins\RHSMProtocol\certs\cert_set_1

このコマンドを使用して、次のように「.pem」ファイルの名前を置き換えます。

$ openssl x509 -enddate -noout -in 7a8337a5-eb47-4a52-a161-9635d5691996.pem 
これにより、証明書の有効期限日付が分かります。たとえば、以下のようにします。
notAfter=Jan 10 15:19:14 2018 GMT

Name: Red Hat Enterprise Linux for Virtual Datacenters を持つサブスクリプション (資格) が付加されている資格証明書は、1 日後に機能を停止することが知られています。1 日後にパッチ・デプロイメントで問題が発生した場合は、このサブスクリプションを使用せず、代わりに Red Hat Enterprise Linux 7 Server (RPMs) のような非仮想データ・センター・サブスクリプションを使用することをお勧めします。

資格証明書に正しいサブスクリプション (資格) が付加されている

資格証明書に正しいサブスクリプション (資格) が付加されているかどうかを検証するには、2 とおりの方法があります。これは、必要なリポジトリーにアクセスするために必要です。最初の方法では、Red Hat マシンが必要です。2 番目の方法では、資格証明書を生成した https://access.​redhat.com のアカウントへのアクセスが必要です。
Red Hat マシンを使用した正しいサブスクリプション (証明書) の付加の確認

Red Hat マシンで、コマンド・ラインから > rct cat-cert <entitlement cert> を実行します。これにより、証明書の有効期限日付や、証明書を使用してアクセスできるリポジトリーなどの、資格証明書のメタデータが表示されます。

以下の例では、証明書にEnd Date: 2017-01-17 13:30:47+00:00 有効期限が表示されています。コンテンツ:Name: Red Hat Enterprise Linux 7 Server (RPMs) には、その証明書がアクセスできるリポジトリーがリストされています。

===============​===============​============

Certificate:

Path: 7a85f98153c2eb9​50153c73d2fb159​e5.pem

Version: 3.2

Serial: 368971143702890​3897

Start Date: 2016-03-31 04:00:00+00:00

End Date: 2017-01-17 13:30:47+00:00

Content:

Type: yum

Name: Red Hat Enterprise Linux 7 Server (RPMs)

Label: rhel-7-server-r​pmsVendor: Red Hat

URL: /content/dist/r​hel/server/7/$r​eleasever/$base​arch/os

GPG: file:///etc/pki​/rpm-gpg/RPM-GP​G-KEY-redhat-re​lease

Enabled: True

Expires: 86400

Required Tags: rhel-7-server

Arches: x86_64

===============​===============​============

パッチのデプロイ先となるエンドポイントに応じて、以下の基本リポジトリーが必要になる場合があります。
  • Red Hat Enterprise Linux 6 Desktop (RPMs)
  • Red Hat Enterprise Linux 6 Workstation (RPMs)
  • Red Hat Enterprise Linux 6 Server (RPMs)
  • Red Hat Enterprise Linux 7 Desktop (RPMs)
  • Red Hat Enterprise Linux 7 Server (RPMs)
  • Red Hat Enterprise Linux 7 Workstation (RPMs)
パッチをデプロイする RHEL バージョンの基本リポジトリー名が、資格証明書のどのメタデータにも見つからなかった場合は、必要なサブスクリプションが付加されていないことを意味します。Name: Red Hat Enterprise Linux for Virtual Datacenters を持つサブスクリプション (資格) が付加されている資格証明書は、1 日後に機能を停止することが知られています。1 日後にパッチ・デプロイメントで問題が発生した場合は、このサブスクリプションを使用せず、代わりに Red Hat Enterprise Linux 7 Server (RPMs) のような非仮想データ・センター・サブスクリプションを使用することをお勧めします。
資格証明書を生成した https://access.​redhat.com のアカウントへのアクセスによる正しいサブスクリプション (証明書) の添付の確認
  1. https://access.​redhat.com にログインします。
  2. https://access.​redhat.com/mana​gement/consumer​s?type=system に移動します。
  3. 以前に作成したシステムをクリックします。付加されたサブスクリプションのリストが表示されます。
  4. サブスクリプションごとに、「資格証明書 (Entitlement Certificate)」列で、「表示 (View)」 > 「コンテンツ・セット (Content Sets)」 > 「すべて CSV としてエクスポート (Export All as CSV)」をクリックします。
  5. ブラウザーの「戻る」をクリックして、システム内の付加されたサブスクリプションごとに、ステップ 4 を繰り返します。
  6. RedHat からダウンロードした export.CSV をそれぞれ開きます。「名前 (Name)」列の下で、パッチ・デプロイメント用にアクセスする必要があるリポジトリーの基本リポジトリー名を検索します。
パッチのデプロイ先となるエンドポイントに応じて、以下の基本リポジトリー名が必要になる場合があります。
  • Red Hat Enterprise Linux 6 Desktop (RPMs)
  • Red Hat Enterprise Linux 6 Workstation (RPMs)
  • Red Hat Enterprise Linux 6 Server (RPMs)
  • Red Hat Enterprise Linux 7 Desktop (RPMs)
  • Red Hat Enterprise Linux 7 Server (RPMs)
  • Red Hat Enterprise Linux 7 Workstation (RPMs)
パッチをデプロイする RHEL バージョンの基本リポジトリー名がどの export.csv にも見つからなかった場合、これは、必要なサブスクリプションが付加されていないことを意味します。

資格証明書を使用して Red Hat 基本リポジトリーにアクセスできる

このチェック・ステップの実行を開始する前に、チェック項目 1 (資格証明書のフォーマットが正しいことを確認する) とチェック項目 2 (資格証明書が正しいフォルダーに置かれていることを確認する) が完了していることを確認してください。Red Hat リポジトリーへのアクセスの識別には、役立つコマンドを実行できます。RHSMPlugin.exe は、資格証明書を使用して、以下を実行します。
  • Red Hat 基本リポジトリーへのアクセスをテストする。
  • 資格証明書に正しいサブスクリプションが付加されているかどうか判別する。
以下のコマンドを実行します。
  • RHSMPlugin.exe (v1.0.0.2 以降) の場合: >>>RHSMPlugin.e​xe --check-baserep​os
  • RHSMDownloadCac​her.exe (v1.0.0.2 以降) の場合 : >>> RHSMDownloadCac​her.exe --rootCertDir certs check-baserepos
これにより、plugin.ini に指定されているように「primaryRepoLis​tFile」内のすべての基本レポートがテストされます。ネットワーク条件によっては、これには約 10 から 60 秒かかります。コマンドを実行すると、その結果が「基本リポジトリーのテストの要約」としてコンソールに出力されます。また、ログには、証明書を使用してどの基本リポジトリーにアクセスできるかが出力されます。
資格証明書を使用してリポジトリーにアクセスできない場合に考えられる理由は、以下のように複数あります。
  • 証明書が失効している。これを解消するには、チェック項目 5 「資格証明書とシステム ID 証明書が失効していない」を参照してください。
  • Red Hat Subscription Management ポータルを使用して管理システムを登録したときに、必要なサブスクリプションが正しく付加されなかった。これを解消するには、チェック項目 4 『資格証明書に正しいサブスクリプション (資格) が付加されている』を参照してください。
  • ネットワークまたはプロキシーによってブロックされているため、RHSMPlugin.exe がリポジトリーにアクセスできない。ネットワーク・ファイアウォールまたはプロキシーによって RHSMPlugin.exe がブロックされていないことを確認してください。問題が解決しない場合は、サポートへの問い合わせが必要になる場合があります。

RHSMPlugin.log のエラー・メッセージ

RHSMPlugin.log は、<BES_Server>\DownloadPlugins\RHSMProtocol\logs にあります。

このログに次のエラーが表示される場合があります。

ERROR : All Key and Cert pairs in 'rootCertDir' cannot access: https://cdn.redhat.com/content/dist/rhel/client/7/7Client/x86_64/os/repodata/repomd.xml

このエラー・メッセージは、RHSMPlugin が RedHat の RHELClient 7 リポジトリー (「rhel/client/7/7Client/x86_64/os」) にアクセスできなかったことを示します。

これは、複数のリポジトリーで同じパッケージが見つかった場合に起こります。この場合、RHSM ダウンロード・プラグインに対して、パッケージが置かれているすべてのリポジトリーにアクセスするよう求めるプロンプトが表示されます。ダウンロード・プラグインを使用してアクセス権限のないリポジトリーにアクセスを試みたときに、資格証明書の資格が欠落していると、ログにエラーが示されます。

どのエンドポイントにもパッチをデプロイする必要がない場合 (たとえば RHEL Client 7 マシンの場合)

このようなエンドポイントにパッチをデプロイする必要がない場合、このメッセージは無視して構いません。このエラーは、クライアント・スクリプトのハッシュ制限がないことが原因である場合がありますが、RHSM ダウンロード・プラグインでは回避できません。詳しくは、下記を参照してください。https://developer.bigfix.com/action-script/reference/download/add-nohash-prefetch-item.html.

エラー・メッセージがパッチ・デプロイメントに必要なリポジトリーに関連している場合 (たとえば、パッチが必要な RHEL 7 Server エンドポイントがある場合)
これは、以下のいずれかの理由で発生すると考えられます。
  • 証明書が失効しているか、取り消された。これを修復するには、「資格証明書が失効していないことを確認する」のステップを参照してください。
  • RedHat を介してシステムを登録したときに、必要なサブスクリプションが正しく付加されなかった。これを修復するには、「資格証明書を使用してリポジトリーにアクセスできない」のステップを参照してください。
  • ネットワークまたはプロキシーによってブロックされているため、RHSMPlugin.exe がリポジトリーにアクセスできない。ネットワーク・ファイアウォールまたはプロキシーによって RHSMPlugin.exe がブロックされていないことを確認してください。問題が解決しない場合は、サポートへの問い合わせが必要になる場合があります。
.
1 primaryRepoListFile