第6章 Satellite Server と Capsule Server のアップグレード

アップグレードは、Satellite および Capsule Server インストールをあるリリースから次のリリース (たとえば、Satellite 6.1 から Satellite 6.2) に移行するプロセスです。通常、アップグレードは、重要な新機能を利用するために行われます。アップグレードにはインストールされたコードの破棄が関係することがあるため、非常に長い時間が必要になることがあります。アップグレードを実行するときは、運用環境への影響を回避するためにワークフローを計画する必要があります。アップグレードを行う前は、競合を回避するために『Red Hat Satellite Release Notes』を参照してください。

Satellite Server と Capsule Server は別々にアップグレードされます。Satellite Server を最初にアップグレードし、次にすべての Capsule Server をアップグレードします。Satellite 6.1 Capsule Server は Satellite 6.2 と互換性がありませんが、リポジトリーを同期する前にアップグレードする必要があります。

また、Satellite Server と Capsule Server のアップグレード後に Satellite クライアントを新しいバージョンの katello-agent に手動でアップグレードする必要があります。詳細については、「Satellite クライアントのアップグレード」を参照してください。

重要

Red Hat Satellite Server と Capsule Server のバージョンは一致する必要があります。たとえば、Satellite 6.1 Satellite Server では 6.2 Capsule Server を実行できず、Satellite 6.2 サーバーでは 6.1 Capsule Server を実行できません。Satellite Server と Capsule Server のバージョンが一致しない場合、Capsule Server はサイレント状態で失敗します。

Satellite 6.2 向けのサポート対象アップグレードパス:

  • Satellite 6.0.X GA から 6.1.X GA へのアップグレード。
  • Satellite 6.1.9 GA 以降から 6.2.X GA 以降へのアップグレード。

アップグレードは各バージョンから次のバージョンに行う必要があります。ベータから GA バージョンへのアップグレードはサポートされていません。

Satellite 6.2 のストレージ要件

Satellite のストレージ要件は以前のバージョンから変更されました。アップグレードする前に、ストレージの要件と推奨事項で詳しく説明されたストレージ要件を参照し、要件が満たされていることを確認します。

Satellite 6.2 の I/O 速度要件

Satellite または Capsule のリポジトリーのサイズに応じて、Satellite または Capsule 6.1 から 6.2 へのアップグレードには、長時間かかることがあります。/var/lib/pulp/ ディレクトリーのコンテンツに対するアップグレード処理速度は 1 時間あたり 50 GB〜100 GB と推定されます。コンテンツが 500 GB である場合、アップグレードには 5〜10 時間かかることがあります。

注記

Pulp ディレクトリーが NFS デバイスに格納された場合は、アップグレードにさらに長い時間がかかります。たとえば、600 GB の Pulp ストレージでテストした場合は、NFS 経由での移行に 30 時間かかりました。

/var/lib/pulp/ ディレクトリーのサイズを確認するには、以下のコマンドを入力します。

# df -h /var/lib/pulp

アップグレードにかかる時間に影響するため、I/O 速度をチェックすることが重要です。hdparm ツールでテストし、報告された timing buffered disk reads 要素を調べることにより、潜在的なパフォーマンスの問題を特定できます。/var/lib/pulp/ ディレクトリーの場所がマウントされた場所をチェックする必要があります。この情報を使用すると、I/O 速度を調べることができます。

  1. 最初に、I/O 速度を測定するために hdparm をインストールします。

    # yum install hdparm
  2. /var ディレクトリーに関する情報を表示します。

    # df /var

    出力を調べ、var ディレクトリーで使用された論理デバイスを特定します。この例では、これは /dev/mapper/rhel_vm37—​118-root です。

    Filesystem                      1K-blocks     Used Available Use% Mounted on
    /dev/mapper/rhel_vm37--118-root 200303044 41739160 158563884  21% /
  3. 論理ボリュームに関する情報を表示します。

    # lvs -a -o +devices

    出力を調べ、論理ボリュームに関連付けられたデバイスを特定します。この例では、これは /dev/vda2 にある root デバイスです。

    LV   VG            Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices
    root rhel_vm37-118 -wi-ao---- 191.12g                                                     /dev/vda2(0)
    swap rhel_vm37-118 -wi-ao----   7.88g                                                     /dev/vda2(48926)
  4. 関連するデバイスに対する I/O 速度を測定します。前の手順で特定したデバイスの場所を使用します。この例では、これは /dev/vda2 です。結果は timing buffered disk reads 要素下に報告されます。

    # hdparm -tT /dev/vda2

    /dev/vda2 は、/var/lib/pulp/ ディレクトリーがマウントされているシステムの場所によって異なります。したがって、上記の手順に従って場所を適切に特定することが重要になります。

/var パーティションで使用されたデバイスに対する読み取りアクセスには、最低でも 80 MB/s Buffered Read Timeが推奨されます。スループットがこれよりも低い場合は、Satellite のインストール、アップグレード、および日々の運用で重大なパフォーマンスの問題が発生することがあります。重大な状況では、/var パーティションに対する遅い I/O (10〜20 MB/s) により、Satellite 6.1 から 6.2 へのアップグレードに 24 時間以上かかることがありました。

アップグレードの進捗の追跡

アップグレード時間が長いため、コマンドシェルに連続して接続せずにアップグレード進捗を確認できるよう、通信セッションの中断および再接続を許可する screen などのユーティリティーの使用を検討してください。Red Hat ナレッジベースの記事「How do I use the screen command?」には、screen のインストールに関する説明が記載されています。また、詳細については、screen の man ページを参照してください。インストールコマンドが実行されているシェルへの接続が失われた場合は、/var/log/foreman-installer/satellite.log のログを参照してプロセスが正常に完了したことを判断できます。

Foreman フックの Report クラスの名前が ConfigReport に変更された

Satellite 6.2 では、Report クラスが ConfigReport に変更されました。つまり、Rails イベントによりトリガーされたフックは /hooks/report/ ディレクトリーに格納されたスクリプトを探さなくなりました。アップグレードが正常に完了するまですべてのフックを削除する必要があります。アップグレードが完了し、Satellite が期待どおり動作していることを確認したら、Foreman フックを復元します。ディレクトリー /usr/share/foreman/config/hooks/config_report/ を作成し、新しいディレクトリーに after_createbefore_create などのフックを移動します。Rails イベントと Foreman フックについては、『Red Hat Satellite Server Administration Guide』を参照してください。

Satellite 6.2 での Docker サポート

Satellite 6.2 では、Docker のサポートがバージョン 1 からバージョン 2 にアップグレードされました。この変更により、Docker のデータモデルが変更され、Docker イメージのサポートが削除され、マニフェストのサポートが導入されました。この大きな変更の結果として、Docker バージョン 1 のサポートは完全に削除され、既存の Docker バージョン 1 のリポジトリーがアップグレードの一部として削除されます。

以前に作成されたコンテナーは、Satellite Server に引き続き表示され、起動できます。ただし、イメージは存在しないため、新しいコンテナーを作成することはできません。

アップグレード後に Docker バージョン 2 のリポジトリーを作成することを支援するために、アップグレード前に Docker バージョン 1 のリポジトリーの詳細を取得し、保存します。

これは、Satellite Web UI または Hammer CLI を使用して実現できます。

Satellite Web UI を使用した既存の Docker リポジトリーの表示方法:

  1. Content (コンテンツ) > Products (製品) に移動します。
  2. リポジトリーを選択して設定を表示します。

CLI を使用した既存の Docker リポジトリーの表示方法:

  1. 特定の組織に対するすべての Docker リポジトリーをリストします。

    # hammer repository list --organization-id 1 --content-type docker
  2. 特定のリポジトリーの Docker リポジトリー情報を取得します。

    # hammer repository info --id 3

アップグレードが完了し、上記のリポジトリーが Docker バージョン 2 のレジストリーから利用可能な場合は、適切な詳細 (name、docker-upstream-name、URL など) でこれらのリポジトリーを作成できます。Docker バージョン 2 のコンテンツを管理するプロセスは、Docker バージョン 1 と他のコンテンツタイプを使用した Satellite 6.1 のプロセスに類似しています。リポジトリーを作成および同期し、コンテンツビューを作成、公開、およびプロモートします。

6.1. Satellite Server 6.2 へのアップグレード

6.2. 接続された Satellite Server のアップグレード

作業を開始する前に

  • Red Hat Satellite Server 6.1 のマイナーバージョン 6.1.9 以降にアップグレードされている必要があります。最低要件は 6.1.9 です。Red Hat Satellite 6.2 にアップグレードする場合は、6.1.9 よりも大きいマイナーバージョンにアップグレードする必要がありません。それよりも前のマイナーバージョンからの直接アップグレードはサポートされていません。詳細については、『Red Hat Satellite 6.1 Installation GuideUpgrading Between Minor Versions of Satellite』を参照してください。
  • Satellite Server をアップグレードする前に、ファイアウォールの設定を確認し、更新します。追加情報については、「ポートとファイアウォールの要件」を参照してください。
  • マニフェストはカスタマーポータルまたは Satellite Web UI で削除しないでください。削除すると、すべてのコンテンツホストが登録解除されます。
  • アップグレードする前に、すべての Foreman フックをバックアップし、削除します。フックは、アップグレードの完了後に Satellite が動作しているのを確認してから、戻してください。
警告

root/ssl-build ディレクトリーと、カスタム証明書に関連付けられたソースファイルを作成したディレクトリー両方の内容を保持する必要があります。カスタム証明書を実装する場合であっても、アップグレードの実行時は /root/ssl-build ディレクトリーの内容を保持する必要があります。アップグレード中にこれらのファイルを保持しないと、アップグレードに失敗します。アップグレードが続行するために、これらのファイルは、削除された場合に、バックアップから復元する必要があります。

Satellite Server のアップグレード

  1. バックアップを作成します。

    • 仮想マシンで、スナップショットを取得します。
    • 物理マシンで、バックアップを作成します。
  2. アップグレード前スクリプトは競合を検出し、アップグレード後に登録解除および削除できる Satellite Server の重複エントリーがあるホストをリストできます。また、組織に割り当てられていないホストを検出します。Hosts > All hosts を選択して組織の関連付けがないホストがリストされ、同じ名前のコンテンツホストに組織がすでに関連付けられている場合、コンテンツホストは自動的に登録解除されます。これは、アップグレード前にこのようなホストを組織に関連付けることによって回避できます。

    アップグレードの前に、アップグレード前チェックスクリプトを実行して、削除できるホストのリストを取得します。関連付けられていないホストが検出された場合は、アップグレードの前に組織にそれらのホストを関連付けることが推奨されます。

    1. アップグレード前スクリプトを使用するには、ruby193-rubygem-katello-2.2.0.90-1-sat 以降が必要です。

      # yum update ruby193-rubygem-katello
    2. アップグレードの前に、アップグレード前チェックスクリプトを実行して、削除できるホストのリストを取得します。関連付けられていないホストが検出された場合は、アップグレードの前に組織にそれらのホストを関連付けることが推奨されます。

      # foreman-rake katello:upgrade_check

      アップグレードチェックで、タスクが実行中であることが原因の障害が報告された場合は、タスクが完了するまで待機することが推奨されます。一部のタスクはキャンセルすることができますが、Red Hat ナレッジベースソリューション How to manage paused tasks on Red Hat Satellite 6 のアドバイスに従って、安全にキャンセルできるタスクと安全にキャンセルできなタスクについて理解する必要があります。

  3. DNS と DHCP の設定ファイルである /etc/zones.conf/etc/dhcp/dhcpd.conf をバックアップします。インストーラーでは 1 つのドメインまたはサブネットしかサポートされないため、これらのバックアップから変更を復元する必要がある場合があります。
  4. DNS または DHCP の設定ファイルを手動で編集し、変更を上書きしたくない場合は、以下のコマンドを実行します。

    # katello-installer --capsule-dns-managed=false --capsule-dhcp-managed=false
  5. Red Hat Satellite 6.1 向けリポジトリーを無効にします。

    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --disable rhel-6-server-satellite-6.1-rpms
    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --disable rhel-7-server-satellite-6.1-rpms
  6. 必要な場合は、Satellite 6.1 リポジトリーが無効であることを確認するために、以下のようなコマンドを入力します。

    # subscription-manager repos --list-enabled
  7. Red Hat Satellite 6.2 向けリポジトリーを有効にします。

    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --enable=rhel-6-server-rpms \
      --enable=rhel-server-rhscl-6-rpms \
      --enable=rhel-6-server-satellite-6.2-rpms
    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --enable=rhel-7-server-rpms \
      --enable=rhel-server-rhscl-7-rpms \
      --enable=rhel-7-server-satellite-6.2-rpms
  8. Red Hat 以外の yum リポジトリーから残されたすべてのメタデータを消去します。

    # yum clean all
  9. リポジトリーが有効になっていることを確認します。

    # yum repolist enabled

    以下のような出力が表示されます。

    Loaded plugins: product-id, subscription-manager
    repo id                                        repo name                                                                   status
    !rhel-7-server-rpms/x86_64                     Red Hat Enterprise Linux 7 Server (RPMs)                                    9,889
    !rhel-7-server-satellite-6.2-rpms/x86_64       Red Hat Satellite 6.2 (for RHEL 7 Server) (RPMs)                            545
    !rhel-server-rhscl-7-rpms/x86_64               Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Server     4,279
    repolist: 14,713
  10. Satellite Web UI で、Hosts (ホスト) > Discovered hosts (検出されたホスト) に移動します。検出されたホストが利用可能な場合は、それらを無効にし、Discovered hosts (検出されたホスト) ページ下のすべてのエントリーを削除します。組織設定メニューを使用して他のすべての組織を順番に選択し、必要に応じてこのアクションを繰り返します。アップグレードが完了したら、これらのホストを再起動します。
  11. すべての外部 Capsule Server が組織に割り当てられていることを確認します。割り当てられていない場合、これらのサーバーは、ホスト統合の変更により登録解除された可能性があります。
  12. Satellite Web UI でリポジトリーを設定します。

    1. Satellite Web UI で、Content > Red Hat Repositories に移動し、RPM タブを選択します。
    2. Red Hat Enterprise Linux Server 製品 を見つけ、展開します。
    3. Red Hat Satellite Tools 6.2 (RHEL X Server 用) (RPM) を見つけ展開します。
    4. RHEL X Server RPMs x86_64 用 Red Hat Satellite Tools 6.2 を選択します。
  13. 新しく有効になったリポジトリーを同期します。

    1. Satellite Web UI で、Content (コンテンツ) > Sync Status (同意ステータス) に移動します。
    2. 製品の横にある矢印をクリックして利用可能なリポジトリーを表示します。
    3. 6.2 用リポジトリーを選択します。
    4. Synchronize Now をクリックします。

      Satellite Tools リポジトリーを更新しようとするときにエラーが発生した場合は、カスタマーポータルまたは Satellite Web UI でマニフェストを削除しないでください。削除すると、すべてのコンテンツホストが登録解除されます。詳細については、Red Hat ナレッジベースソリューション「Cannot enable Red Hat Satellite Tools Repo on Satellite 6.2」を参照してください。

  14. 6.1 バージョンリポジトリーを使用する既存のコンテンツビューを 6.2 向けの新しいバージョンで更新します。新しい 6.2 バージョンリポジトリーがあるコンテンツビューの更新されたバージョンを公開し、プロモートします。
  15. リポジトリーキャッシュを削除します。

    # yum clean all
  16. アップグレードチェックを再び実行して、すでに行った手順により、アップグレード中にタスクが停止する状況になっていないことを確認します。

    # foreman-rake katello:upgrade_check
  17. Katello サービスを停止します。

    # katello-service stop
  18. すべてのパッケージを更新します。

    # yum update
  19. カスタム Apache サーバー設定がある場合は、次の手順でインストールデフォルト値に戻ります。アップグレードの実行時に変更される内容を確認する場合は、--noop (no operation) オプションとともにアップグレードコマンドを入力し、次の手順でアップグレードコマンドを入力するときに適用される変更内容を確認できます。このテストを行わない場合は、次の手順に進みます。または、以下のように手順を続行します。

    1. 次の行を /etc/httpd/conf/httpd.conf 設定ファイルに追加します。

      Include /etc/httpd/conf.modules.d/*.conf
    2. httpd サービスを再起動します。

      • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

        # service httpd restart
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

        # systemctl restart httpd
    3. postgresql データベースサービスおよび mongod データベースサービスを起動します。

      • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

        # service postgresql start
        # service mongod start
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

        # systemctl start postgresql
        # systemctl start mongod
    4. 以下のように --noop オプションとともにコマンドを入力します。

      # satellite-installer --scenario satellite --upgrade --verbose --noop

      /var/log/foreman-installer/satellite.log を参照して、--noop オプションが省略された場合に適用される変更を確認します。設定ファイルの変更を示す +++--- の記号を探します。上記の "no operation" コマンドにより実際にはファイルは作成されず、モジュール内の一部の Puppet リソースではファイルがそこに存在することが期待されるため、いくつかのエラーメッセージが表示されるはずです。

    5. Katello サービスを停止します。

      # katello-service stop
  20. --upgrade オプションを使用してインストーラースクリプトを実行することによりアップグレードを実行します。

    # satellite-installer --scenario satellite --upgrade
    警告

    config サブディレクトリーを含むディレクトリーからコマンドを実行すると、以下のエラーが発生します。

    ERROR: Scenario (config/satellite.yaml) was not found, can not continue.

    このような場合は、root ユーザーのホームディレクトリーに移動し、コマンドを再び実行します。

  21. これまでに行ったバックアップを使用して DNS と DHCP の設定ファイルに必要なすべての変更を確認し、復元します。
  22. 前の手順で変更を行った場合は、Katello サービスを再起動します。

    # katello-service restart
  23. Satellite Web UI で Discovery テンプレートを更新します。

    1. Hosts (ホスト) > Provisioning templates (テンプレートのプロビジョニング) に移動します。
    2. PXELinux global default (PXELinux グローバルデフォルト) を選択します。
    3. Template editor (テンプレートエディター) ダイアログボックスで、以下のテキストに一致するよう LABEL discovery で始まるスタンザを更新することにより PXELinux global default (PXELinux グローバルデフォルト) テンプレート検出メニューエントリーを編集します。

      LABEL discovery
      MENU LABEL Satellite 6 Discovery
      MENU DEFAULT
      KERNEL boot/fdi-image-rhel_7-vmlinuz
      APPEND initrd=boot/fdi-image-rhel_7-img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=https://SATELLITE_CAPSULE_URL:9090 proxy.type=proxy
      IPAPPEND 2
      • proxy.type オプションは proxy または foreman のいずれかになります。proxy の場合は、すべての通信が Capsule 経由で行われます。foreman の場合は、通信が直接 Satellite Server に行われます。
      • proxy.url には、Satellite Capsule または Server の URL を指定します。HTTP と HTTPS の両方のプロトコルがサポートされます。
  24. OpenSCAP プラグインがインストールされており、デフォルトの OpenSCAP コンテンツが利用可能でない場合は、以下のコマンドを実行します。

    # foreman-rake foreman_openscap:bulk_upload:default
  25. Satellite Web UI で Configure (設定) > Discovery Rules (検出ルール) に移動し、選択された組織および場所を検出ルールに関連付けます。

6.3. 切断された Satellite Server のアップグレード

作業を開始する前に

  • Red Hat Satellite Server 6.1 の最新マイナーリリースにアップグレードされている必要があります。それよりも前のマイナーバージョンからの直接アップグレードはサポートされていません。詳細については、『Red Hat Satellite 6.1 Installation Guide』の「Upgrading Between Minor Versions of Satellite」を参照してください。
  • Satellite Server をアップグレードする前に、ファイアウォールの設定を確認し、更新します。追加情報については、「ポートとファイアウォールの要件」を参照してください。
  • マニフェストはカスタマーポータルまたは Satellite Web UI で削除しないでください。削除すると、すべてのコンテンツホストが登録解除されます。
  • アップグレードする前に、すべての Foreman フックをバックアップし、削除します。フックは、アップグレードの完了後に Satellite が動作しているのを確認してから、戻してください。
警告

root/ssl-build ディレクトリーと、カスタム証明書に関連付けられたソースファイルを作成したディレクトリー両方の内容を保持する必要があります。カスタム証明書を実装する場合であっても、アップグレードの実行時は /root/ssl-build ディレクトリーの内容を保持する必要があります。アップグレード中にこれらのファイルを保持しないと、アップグレードに失敗します。アップグレードが続行するために、これらのファイルは、削除された場合に、バックアップから復元する必要があります。

切断された Satellite Server のアップグレード

  1. バックアップを作成します。

    • 仮想マシンで、スナップショットを取得します。
    • 物理マシンで、バックアップを作成します。
  2. アップグレード前スクリプトは競合を検出し、アップグレード後に登録解除および削除できる Satellite Server の重複エントリーがあるホストをリストできます。また、組織に割り当てられていないホストを検出します。Hosts > All hosts を選択して組織の関連付けがないホストがリストされ、同じ名前のコンテンツホストに組織がすでに関連付けられている場合、コンテンツホストは自動的に登録解除されます。これは、アップグレード前にこのようなホストを組織に関連付けることによって回避できます。

    アップグレードの前に、アップグレード前チェックスクリプトを実行して、削除できるホストのリストを取得します。関連付けられていないホストが検出された場合は、アップグレードの前に組織にそれらのホストを関連付けることが推奨されます。

    1. アップグレード前スクリプトを使用するには、ruby193-rubygem-katello-2.2.0.90-1-sat 以降が必要です。

      # yum update ruby193-rubygem-katello
    2. アップグレードの前に、アップグレード前チェックスクリプトを実行して、削除できるホストのリストを取得します。関連付けられていないホストが検出された場合は、アップグレードの前に組織にそれらのホストを関連付けることが推奨されます。

      # foreman-rake katello:upgrade_check

      アップグレードチェックで、タスクが実行中であることが原因の障害が報告された場合は、タスクが完了するまで待機することが推奨されます。一部のタスクはキャンセルすることができますが、Red Hat ナレッジベースソリューション How to manage paused tasks on Red Hat Satellite 6 のアドバイスに従って、安全にキャンセルできるタスクと安全にキャンセルできなタスクについて理解する必要があります。

  3. DNS と DHCP の設定ファイルである /etc/zones.conf/etc/dhcp/dhcpd.conf をバックアップします。インストーラーでは 1 つのドメインまたはサブネットしかサポートされないため、これらのバックアップから変更を復元する必要がある場合があります。
  4. DNS または DHCP の設定ファイルを手動で編集し、変更を上書きしたくない場合は、以下のコマンドを実行します。

    # katello-installer --capsule-dns-managed=false --capsule-dhcp-managed=false
  5. Satellite Web UI で、Hosts (ホスト) > Discovered hosts (検出されたホスト) に移動します。検出されたホストが利用可能な場合は、それらを無効にし、Discovered hosts (検出されたホスト) ページ下のすべてのエントリーを削除します。組織設定メニューを使用して他のすべての組織を順番に選択し、必要に応じてこのアクションを繰り返します。アップグレードが完了したら、これらのホストを再起動します。
  6. すべての外部 Capsule Server が組織に割り当てられていることを確認します。割り当てられていない場合、これらのサーバーは、ホスト統合の変更により登録解除された可能性があります。
  7. Katello サービスを停止します。

    # katello-service stop
  8. ISO ファイルを取得してマウントし、パッケージをインストールします。詳細については、「切断されたネットワークからのダウンロードおよびインストール」を参照してください。
  9. カスタム Apache サーバー設定がある場合は、次の手順でインストールデフォルト値に戻ります。アップグレードの実行時に変更される内容を確認する場合は、--noop (no operation) オプションとともにアップグレードコマンドを入力し、次の手順でアップグレードコマンドを入力するときに適用される変更内容を確認できます。このテストを行わない場合は、次の手順に進みます。または、以下のように手順を続行します。

    1. 次の行を /etc/httpd/conf/httpd.conf 設定ファイルに追加します。

      Include /etc/httpd/conf.modules.d/*.conf
    2. httpd サービスを再起動します。

      • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

        # service httpd restart
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

        # systemctl restart httpd
    3. postgresql データベースサービスおよび mongod データベースサービスを起動します。

      • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

        # service postgresql start
        # service mongod start
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

        # systemctl start postgresql
        # systemctl start mongod
    4. 以下のように --noop オプションとともにコマンドを入力します。

      # satellite-installer --scenario satellite --upgrade --verbose --noop

      /var/log/foreman-installer/satellite.log を参照して、--noop オプションが省略された場合に適用される変更を確認します。設定ファイルの変更を示す +++--- の記号を探します。上記の "no operation" コマンドにより実際にはファイルは作成されず、モジュール内の一部の Puppet リソースではファイルがそこに存在することが期待されるため、いくつかのエラーメッセージが表示されるはずです。

    5. Katello サービスを停止します。

      # katello-service stop
  10. --upgrade オプションを使用してインストーラースクリプトを実行することによりアップグレードを実行します。

    # satellite-installer --scenario satellite --upgrade
    警告

    config サブディレクトリーを含むディレクトリーからコマンドを実行すると、以下のエラーが発生します。

    ERROR: Scenario (config/satellite.yaml) was not found, can not continue.

    このような場合は、root ユーザーのホームディレクトリーに移動し、コマンドを再び実行します。

  11. これまでに行ったバックアップを使用して DNS と DHCP の設定ファイルに必要なすべての変更を確認し、復元します。
  12. 前の手順で変更を行った場合は、Katello サービスを再起動します。

    # katello-service restart
  13. Satellite Web UI で Discovery テンプレートを更新します。

    1. Hosts (ホスト) > Provisioning templates (テンプレートのプロビジョニング) に移動します。
    2. PXELinux global default (PXELinux グローバルデフォルト) を選択します。
    3. Template editor (テンプレートエディター) ダイアログボックスで、以下のテキストに一致するよう LABEL discovery で始まるスタンザを更新することにより PXELinux global default (PXELinux グローバルデフォルト) テンプレート検出メニューエントリーを編集します。

      LABEL discovery
      MENU LABEL Satellite 6 Discovery
      MENU DEFAULT
      KERNEL boot/fdi-image-rhel_7-vmlinuz
      APPEND initrd=boot/fdi-image-rhel_7-img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=https://SATELLITE_CAPSULE_URL:9090 proxy.type=proxy
      IPAPPEND 2
      • proxy.type オプションは proxy または foreman のいずれかになります。proxy の場合は、すべての通信が Capsule 経由で行われます。foreman の場合は、通信が直接 Satellite Server に行われます。
      • proxy.url には、Satellite Capsule または Server の URL を指定します。HTTP と HTTPS の両方のプロトコルがサポートされます。
  14. OpenSCAP プラグインがインストールされており、デフォルトの OpenSCAP コンテンツが利用可能でない場合は、以下のコマンドを実行します。

    # foreman-rake foreman_openscap:bulk_upload:default
  15. Satellite Web UI で Configure (設定) > Discovery Rules (検出ルール) に移動し、選択された組織および場所を検出ルールに関連付けます。

6.4. Capsule Server のアップグレード

作業を開始する前に

  • Capsule Server のアップグレード前に、Satellite Server がアップグレードされている必要があります。
  • Capsule は、最低でも Red Hat Satellite Server 6.1 の 6.1.9 マイナーバージョン上にある必要があります。最低要件は 6.1.9 です。Red Hat Satellite 6.2 にアップグレードする場合は、6.1.9 よりも大きいマイナーバージョンにアップグレードする必要がありません。それよりも前のマイナーバージョンからの直接アップグレードはサポートされていません。詳細については、『Red Hat Satellite 6.1 Installation Guide』の「Upgrading Between Minor Versions of Satellite」を参照してください。
  • 新しくアップグレードされた Satellite Server に Capsule のベースシステムが’登録されていることを確認します。
  • 新しくアップグレードされた Satellite Server で Capsule の組織と場所の設定が適切であることを確認します。
  • Capsule Server をアップグレードする前に、ファイアウォールの設定を確認し、更新します。追加情報については、「ポートとファイアウォールの要件」を参照してください。
警告

root/ssl-build ディレクトリーと、カスタム証明書に関連付けられたソースファイルを作成したディレクトリー両方の内容を保持する必要があります。カスタム証明書を実装する場合であっても、アップグレードの実行時は /root/ssl-build ディレクトリーの内容を保持する必要があります。アップグレード中にこれらのファイルを保持しないと、アップグレードに失敗します。アップグレードが続行するために、これらのファイルは、削除された場合に、バックアップから復元する必要があります。

Capsule Server のアップグレード

  1. バックアップを作成します。

    • 仮想マシンで、スナップショットを取得します。
    • 物理マシンで、バックアップを作成します。
  2. DNS と DHCP の設定ファイルである /etc/zones.conf/etc/dhcp/dhcpd.conf をバックアップします。インストーラーでは 1 つのドメインまたはサブネットしかサポートされないため、これらのバックアップから変更を復元する必要がある場合があります。
  3. DNS または DHCP の設定ファイルを手動で編集し、変更を上書きしたくない場合は、以下のコマンドを入力します。

    # capsule-installer --foreman-proxy-dns-managed=false --foreman-proxy-dhcp-managed=false
  4. Red Hat Satellite 6.1 向けリポジトリーを無効にします。

    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --disable rhel-6-server-satellite-capsule-6.1-rpms
    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --disable rhel-7-server-satellite-capsule-6.1-rpms
  5. 新しいリポジトリーを有効にします。

    Red Hat Software Collections リポジトリーは、リモート実行機能を含む一部の Red Hat Satellite 機能で必要な新しいバージョンの Ruby を提供します。

    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --enable rhel-7-server-satellite-capsule-6.2-rpms --enable rhel-server-rhscl-7-rpms
    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --enable rhel-6-server-satellite-capsule-6.2-rpms --enable rhel-server-rhscl-6-rpms
  6. Satellite Web UI で、Hosts (ホスト) > Discovered hosts (検出されたホスト) に移動します。検出されたホストが利用可能な場合は、それらを無効にし、Discovered hosts (検出されたホスト) ページ下のすべてのエントリーを削除します。組織設定メニューを使用して他のすべての組織を順番に選択し、必要に応じてこのアクションを繰り返します。アップグレードが完了したら、これらのホストを再起動します。
  7. リポジトリーキャッシュを削除します。

    # yum clean all
  8. すべてのパッケージを更新します。

    # yum update
  9. Satellite Server で、新しい証明書を使用してアーカイブを生成します。

    # capsule-certs-generate --capsule-fqdn "mycapsule.example.com" --certs-tar "mycapsule.example.com-certs.tar"

    mycapsule.example.com を Capsule Server の完全修飾ドメイン名に置き換える必要があります。

  10. アーカイブファイルを Capsule Server にコピーします。

    # scp mycapsule.example.com-certs.tar mycapsule.example.com
  11. Capsule Server を検出済みホストのプロキシーとして使用する場合は、検出プラグインをインストールします。

    # yum install rubygem-smart_proxy_discovery.noarch
  12. Capsule Server で foreman_url 設定が正しいことを確認します。

    # grep foreman_url /etc/foreman-proxy/settings.yml

    Satellite Server の完全修飾ドメイン名が表示されます。

  13. カスタム Apache サーバー設定がある場合は、次の手順でインストールデフォルト値に戻ります。アップグレードの実行時に変更される内容を確認する場合は、--noop (no operation) オプションとともにアップグレードコマンドを入力し、次の手順でアップグレードコマンドを入力するときに適用される変更内容を確認できます。このテストを行わない場合は、次の手順に進みます。または、以下のように手順を続行します。

    1. 次の行を /etc/httpd/conf/httpd.conf 設定ファイルに追加します。

      Include /etc/httpd/conf.modules.d/*.conf
    2. httpd サービスを再起動します。

      • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

        # service httpd restart
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

        # systemctl restart httpd
    3. mongod データベースサービスを起動します。

      • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

        # service mongod start
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

        # systemctl start mongod
    4. 以下のように --noop オプションとともにコマンドを入力します。

      # satellite-installer --scenario capsule --upgrade --verbose --noop

      /var/log/foreman-installer/capsule.log を参照して、--noop オプションが省略された場合に適用される変更を確認します。設定ファイルの変更を示す +++--- の記号を探します。上記の "no operation" コマンドにより実際にはファイルは作成されず、モジュール内の一部の Puppet リソースではファイルがそこに存在することが期待されるため、いくつかのエラーメッセージが表示されるはずです。

    5. Katello サービスを停止します。

      # katello-service stop
  14. --upgrade オプションを使用してインストーラースクリプトを実行してアップグレードを行い、Satellite Server で以前に作成された証明書アーカイブへのパスを指定します。

    # satellite-installer --scenario capsule --upgrade \
      --certs-tar mycapsule.example.com-certs.tar
    警告

    config サブディレクトリーを含むディレクトリーからコマンドを実行すると、以下のエラーが発生します。

    ERROR: Scenario (config/capsule.yaml) was not found, can not continue.

    このような場合は、root ユーザーのホームディレクトリーに移動し、コマンドを再び実行します。

  15. これまでに行ったバックアップを使用して DNS と DHCP の設定ファイルに必要なすべての変更を確認し、復元します。
  16. Satellite Server で foreman-discovery パッケージをアップグレードし、アップグレード前にシャットダウンされたホストを有効にします。

6.5. Capsule Server での Discovery のアップグレード

  1. 関連するすべてのパッケージが Satellite Server で最新であることを確認します。

    # yum upgrade tfm-rubygem-foreman_discovery
  2. 必要な場合は、Katello サービスを再起動します。

    # katello-service restart
  3. 検出されたホストとのプロビジョニングネットワークに接続された、または検出されたホストに TFTP サービスを提供するSatellite Capsule 上の Discovery イメージをアップグレードします。

    # yum upgrade foreman-discovery-image
  4. 同じインスタンスで、プロキシーサービスを提供するパッケージをインストールし、foreman-proxy サービスを再起動します。

    # yum install rubygem-smart_proxy_discovery
    # service foreman-proxy restart
  5. Satellite Web UI で、Infrastructure (インフラストラクチャー) > Capsules に移動し、関連するプロキシーにより Discovery 機能がリストされていることを確認します。必要な場合は、Refresh features (機能の更新) をクリックします。
  6. Infrastructure (インフラストラクチャー) > Subnets (サブネット) に移動し、検出を使用する各サブネットに必要なスマートプロキシーを選択して、検出プロキシーに接続されていることを確認します。

Satellite Web UI で Discovery テンプレートを更新します。

  1. Hosts (ホスト) > Provisioning Templates (テンプレートのプロビジョニング) に移動します。
  2. PXELinux global default (PXELinux グローバルデフォルト) を選択します。
  3. Template editor (テンプレートエディター) ダイアログボックスで、以下のテキストに一致するよう LABEL discovery で始まるスタンザを更新することにより PXELinux global default (PXELinux グローバルデフォルト) テンプレート検出メニューエントリーを編集します。

    LABEL discovery
    MENU LABEL Satellite 6 Discovery
    MENU DEFAULT
    KERNEL boot/fdi-image-rhel_7-vmlinuz
    APPEND initrd=boot/fdi-image-rhel_7-img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=https://SATELLITE_CAPSULE_URL:9090 proxy.type=proxy
    IPAPPEND 2
    • proxy.type オプションは proxy または foreman のいずれかになります。proxy の場合は、すべての通信が Capsule 経由で行われます。foreman の場合は、通信が直接 Satellite Server に行われます。
    • proxy.url には、Satellite Capsule または Server の URL を指定します。HTTP と HTTPS の両方のプロトコルがサポートされます。
    • proxy.url オプションを省略し、SRV レコードから Capsule DNS 名を決定することができます。これは、複数の検出サブネットが存在する場合に役に立ちます。詳細については、『Red Hat Satellite 6.2 Host Configuration Guide』を参照してください。

6.6. Satellite クライアントのアップグレード

クライアントと Satellite Server との互換性を保持するために、すべてのクライアントを katello-agent の新しいバージョンにアップグレードする必要があります。この場合は、Satellite Tools リポジトリーを 6.1 から 6.2 に変更する必要があります。この変更は、手動で行うか、satellite-tools-upgrade パッケージをインストールすることによって行うことができます。このパッケージには、Satellite Tools リポジトリーのバージョンを変更するインストール後スクリプトのみが含まれます。

作業を開始する前に

  • Satellite Server がアップグレードされている必要があります。
  • Satellite で新しい Satellite Tools リポジトリーが有効である必要があります。
  • Satellite で新しいリポジトリーが同期されている必要があります。
  • 以前にクライアントで katello-agent がインストールされていない場合は、手動で作業を行います。
警告

root/ssl-build ディレクトリーと、カスタム証明書に関連付けられたソースファイルを作成したディレクトリー両方の内容を保持する必要があります。カスタム証明書を実装する場合であっても、アップグレードの実行時は /root/ssl-build ディレクトリーの内容を保持する必要があります。アップグレード中にこれらのファイルを保持しないと、アップグレードに失敗します。アップグレードが続行するために、これらのファイルは、削除された場合に、バックアップから復元する必要があります。

satellite-tools-upgrade パッケージを使用した Satellite クライアントのアップグレード

  1. Satellite Web UI で Hosts (ホスト) > Content Hosts (コンテンツホスト) または Host Collections (ホストコレクション) に移動し、アップグレードするコンテンツホストを選択します。
  2. Packages (パッケージ) タブで、検索フィールドにパッケージ名 satellite-tools-upgrade を入力します。

    1. Content Host (コンテンツホスト) ビューを使用して単一のホストをアップグレードする場合は、Perform (実行) を選択してパッケージをインストールします。
    2. Bulk Actions (一括処理) ビューを使用してホストのコレクションをアップグレードする場合は、Install (インストール) を選択してパッケージをインストールします。
  3. Packages (パッケージ) タブで、検索フィールドにパッケージ名 katello-agent を入力します。

    1. Content Host (コンテンツホスト) ビューを使用して単一のホストをアップグレードする場合は、Package Update (パッケージの更新) を選択し、Perform (実行) を使用してパッケージを更新します。
    2. Bulk Actions (一括処理) ビューを使用してホストのコレクションをアップグレードする場合は、Update (更新) を選択してパッケージを更新します。
注記

Red Hat Bugzilla 1291960 が解決されるまでは、Web UI または hammer CLI を使用して katello-agent のアップグレードを試行した後に、システムにインストールされた重複するパッケージバージョンが表示されます。詳細については、このバグを参照してください。

Satellite クライアントの手動アップグレード

  1. クライアントシステムにログインします。
  2. 以前のバージョンの Satellite 向けリポジトリーを無効にします。

    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --disable rhel-7-server-satellite-tools-6.1-rpms
    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --disable rhel-6-server-satellite-tools-6.1-rpms
  3. このバージョンの Satellite 向け Satellite Tools リポジトリーを有効にします。

    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --enable=rhel-7-server-satellite-tools-6.2-rpms
    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを実行します。

      # subscription-manager repos --enable=rhel-6-server-satellite-tools-6.2-rpms
  4. Katello エージェントパッケージをアップグレードします。

    # yum upgrade katello-agent

6.7. 自己登録 Satellite Server のアップグレード

Red Hat カスタマーポータルで自己登録 Satellite Server を同期し、コンテンツビューを公開およびプロモートし、自己登録 Satellite Server をアップグレードします。

作業を開始する前に

  • 最低でも Red Hat Satellite Server 6.1 のマイナーバージョン 6.1.9 にアップグレードされている必要があります。最低要件は 6.1.9 です。Red Hat Satellite 6.2 にアップグレードする場合は、6.1.9 よりも大きいマイナーバージョンにアップグレードする必要がありません。それよりも前のマイナーバージョンからの直接アップグレードはサポートされていません。詳細については、『Red Hat Satellite 6.1 Installation Guide』の「Upgrading Between Minor Versions of Satellite」を参照してください。
  • Satellite Server をアップグレードする前に、ファイアウォールの設定を確認し、更新します。追加情報については、「ポートとファイアウォールの要件」を参照してください。
  • マニフェストはカスタマーポータルまたは Satellite Web UI で削除しないでください。削除すると、すべてのコンテンツホストが登録解除されます。
  • アップグレードする前に、すべての Foreman フックをバックアップし、削除します。フックは、アップグレードの完了後に Satellite が動作しているのを確認してから、戻してください。
警告

root/ssl-build ディレクトリーと、カスタム証明書に関連付けられたソースファイルを作成したディレクトリー両方の内容を保持する必要があります。カスタム証明書を実装する場合であっても、アップグレードの実行時は /root/ssl-build ディレクトリーの内容を保持する必要があります。アップグレード中にこれらのファイルを保持しないと、アップグレードに失敗します。アップグレードが続行するために、これらのファイルは、削除された場合に、バックアップから復元する必要があります。

自己登録 Satellite Server のアップグレード

  1. バックアップを作成します。

    • 仮想マシンで、スナップショットを取得します。
    • 物理マシンで、バックアップを作成します。
  2. アップグレード前スクリプトは競合を検出し、アップグレード後に登録解除および削除できる Satellite Server の重複エントリーがあるホストをリストできます。また、組織に割り当てられていないホストを検出します。Hosts > All hosts を選択して組織の関連付けがないホストがリストされ、同じ名前のコンテンツホストに組織がすでに関連付けられている場合、コンテンツホストは自動的に登録解除されます。これは、アップグレード前にこのようなホストを組織に関連付けることによって回避できます。

    アップグレードの前に、アップグレード前チェックスクリプトを実行して、削除できるホストのリストを取得します。関連付けられていないホストが検出された場合は、アップグレードの前に組織にそれらのホストを関連付けることが推奨されます。

    1. アップグレード前スクリプトを使用するには、ruby193-rubygem-katello-2.2.0.90-1-sat 以降が必要です。

      # yum update ruby193-rubygem-katello
    2. アップグレードの前に、アップグレード前チェックスクリプトを実行して、削除できるホストのリストを取得します。関連付けられていないホストが検出された場合は、アップグレードの前に組織にそれらのホストを関連付けることが推奨されます。

      # foreman-rake katello:upgrade_check

      アップグレードチェックで、タスクが実行中であることが原因の障害が報告された場合は、タスクが完了するまで待機することが推奨されます。一部のタスクはキャンセルすることができますが、Red Hat ナレッジベースソリューション How to manage paused tasks on Red Hat Satellite 6 のアドバイスに従って、安全にキャンセルできるタスクと安全にキャンセルできなタスクについて理解する必要があります。

  3. DNS と DHCP の設定ファイルである /etc/zones.conf/etc/dhcp/dhcpd.conf をバックアップします。インストーラーでは 1 つのドメインまたはサブネットしかサポートされないため、これらのバックアップから変更を復元する必要がある場合があります。
  4. DNS または DHCP の設定ファイルを手動で編集し、変更を上書きしたくない場合は、以下のコマンドを実行します。

    # katello-installer --capsule-dns-managed=false --capsule-dhcp-managed=false
  5. 有効なリポジトリーをリストします。

    # subscription-manager repos --list-enabled
  6. 以下のリポジトリーのみが有効であることを確認します。

    rhel-X-server-satellite-tools-6.1-rpms
    rhel-server-rhscl-X-rpms
    rhel-X-server-satellite-6.1-rpms
    rhel-X-server-rpms

    ここで、X はベースシステムのメジャーバージョンです。他のリポジトリーが検出された場合は、リポジトリーの設定の手順に従ってそれらのリポジトリーを削除します。

  7. ベースシステムで Satellite の以前のバージョン向けリポジトリーを無効にします。

    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

      # subscription-manager repos --disable rhel-6-server-satellite-6.1-rpms
      # subscription-manager repos --disable rhel-6-server-satellite-tools-6.1-rpms
    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

      # subscription-manager repos --disable rhel-7-server-satellite-6.1-rpms
      # subscription-manager repos --disable rhel-7-server-satellite-tools-6.1-rpms
  8. 必要な場合は、Satellite 6.1 リポジトリーが無効であることを確認するために、以下のようなコマンドを入力します。

    # subscription-manager repos --list-enabled
  9. Satellite Web UI でリポジトリーを設定します。

    1. Satellite Web UI で、Content > Red Hat Repositories に移動し、RPM タブを選択します。
    2. Red Hat Satellite 製品 を見つけ、展開します。
    3. Repository Set Red Hat Satellite 6.1 (RHEL X Server 用) (RPM) を見つけ展開します。
    4. RHEL X Server RPM x86_64 用 Red Hat Satellite 6.1 を選択解除します。
    5. Repository Set Red Hat Satellite 6.2 (RHEL X Server 用) (RPM) を見つけ展開します。
    6. RHEL X Server RPM x86_64 用 Red Hat Satellite 6.2 を選択します。
    7. Red Hat Enterprise Linux Server 製品 を見つけ、展開します。
    8. Red Hat Satellite Tools 6.2 (RHEL X Server 用) (RPM) を見つけ展開します。
    9. RHEL X Server RPMs x86_64 用 Red Hat Satellite Tools 6.2 を選択します。
  10. 新しく有効になったリポジトリーを同期します。

    1. Satellite Web UI で、Content (コンテンツ) > Sync Status (同意ステータス) に移動します。
    2. 製品の横にある矢印をクリックして利用可能なリポジトリーを表示します。
    3. 6.2 用リポジトリーを選択します。
    4. Synchronize Now をクリックします。

      Satellite Tools リポジトリーを更新しようとするときにエラーが発生した場合は、カスタマーポータルまたは Satellite Web UI でマニフェストを削除しないでください。削除すると、すべてのコンテンツホストが登録解除されます。詳細については、Red Hat ナレッジベースソリューション「Cannot enable Red Hat Satellite Tools Repo on Satellite 6.2」を参照してください。

  11. 6.1 バージョンリポジトリーを使用する既存のコンテンツビューを 6.2 向けの新しいバージョンで更新します。新しい 6.2 バージョンリポジトリーがあるコンテンツビューの更新されたバージョンを公開し、プロモートします。
  12. リポジトリーの同期が完了したら、ベースシステムで新しいリポジトリーを有効にします。

    • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

      # subscription-manager repos --enable rhel-6-server-satellite-6.2-rpms
      # subscription-manager repos --enable rhel-6-server-satellite-tools-6.2-rpms
    • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

      # subscription-manager repos --enable rhel-7-server-satellite-6.2-rpms
      # subscription-manager repos --enable rhel-7-server-satellite-tools-6.2-rpms
  13. Satellite Web UI で、Hosts (ホスト) > Discovered hosts (検出されたホスト) に移動します。検出されたホストが利用可能な場合は、それらを無効にし、Discovered hosts (検出されたホスト) ページ下のすべてのエントリーを削除します。組織設定メニューを使用して他のすべての組織を順番に選択し、必要に応じてこのアクションを繰り返します。アップグレードが完了したら、これらのホストを再起動します。
  14. すべての外部 Capsule Server が組織に割り当てられていることを確認します。割り当てられていない場合、これらのサーバーは、ホスト統合の変更により登録解除された可能性があります。
  15. リポジトリーキャッシュを削除します。

    # yum clean all
  16. 以下のパッケージをダウンロードします。

    # yum install --downloadonly rubygem-smart_proxy_remote_execution_ssh rubygem-smart_proxy_openscap rubygem-smart_proxy_dynflow tfm-rubygem-smart_proxy_dynflow_core tfm-rubygem-foreman_remote_execution katello-client-bootstrap
  17. 更新されたすべてのパッケージをダウンロードします。

    # yum update --downloadonly
  18. Katello サービスを停止します。

    # katello-service stop
  19. 以前にダウンロードされたパッケージをインストールします。

    # yum install rubygem-smart_proxy_remote_execution_ssh rubygem-smart_proxy_openscap rubygem-smart_proxy_dynflow tfm-rubygem-smart_proxy_dynflow_core tfm-rubygem-foreman_remote_execution katello-client-bootstrap
  20. 更新されたすべてのパッケージをインストールします。

    # yum update
  21. カスタム Apache サーバー設定がある場合は、次の手順でインストールデフォルト値に戻ります。アップグレードの実行時に変更される内容を確認する場合は、--noop (no operation) オプションとともにアップグレードコマンドを入力し、次の手順でアップグレードコマンドを入力するときに適用される変更内容を確認できます。このテストを行わない場合は、次の手順に進みます。または、以下のように手順を続行します。

    1. 次の行を /etc/httpd/conf/httpd.conf 設定ファイルに追加します。

      Include /etc/httpd/conf.modules.d/*.conf
    2. httpd サービスを再起動します。

      • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

        # service httpd restart
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

        # systemctl restart httpd
    3. postgresql データベースサービスおよび mongod データベースサービスを起動します。

      • Red Hat Enterprise Linux 6 の場合は、以下のコマンドを入力します。

        # service postgresql start
        # service mongod start
      • Red Hat Enterprise Linux 7 の場合は、以下のコマンドを入力します。

        # systemctl start postgresql
        # systemctl start mongod
    4. 以下のように --noop オプションとともにコマンドを入力します。

      # satellite-installer --scenario satellite --upgrade --verbose --noop

      /var/log/foreman-installer/satellite.log を参照して、--noop オプションが省略された場合に適用される変更を確認します。設定ファイルの変更を示す +++--- の記号を探します。上記の "no operation" コマンドにより実際にはファイルは作成されず、モジュール内の一部の Puppet リソースではファイルがそこに存在することが期待されるため、いくつかのエラーメッセージが表示されるはずです。

    5. Katello サービスを停止します。

      # katello-service stop
  22. --upgrade オプションを使用してインストーラースクリプトを実行することによりアップグレードを実行します。

    # satellite-installer --scenario satellite --upgrade
    警告

    config サブディレクトリーを含むディレクトリーからコマンドを実行すると、以下のエラーが発生します。

    ERROR: Scenario (config/satellite.yaml) was not found, can not continue.

    このような場合は、root ユーザーのホームディレクトリーに移動し、コマンドを再び実行します。

  23. これまでに行ったバックアップを使用して DNS と DHCP の設定ファイルに必要なすべての変更を確認し、復元します。
  24. 前の手順で変更を行った場合は、Katello サービスを再起動します。

    # katello-service restart
  25. Satellite Web UI で Discovery テンプレートを更新します。

    1. Hosts (ホスト) > Provisioning templates (テンプレートのプロビジョニング) に移動します。
    2. PXELinux global default (PXELinux グローバルデフォルト) を選択します。
    3. Template editor (テンプレートエディター) ダイアログボックスで、以下のテキストに一致するよう LABEL discovery で始まるスタンザを更新することにより PXELinux global default (PXELinux グローバルデフォルト) テンプレート検出メニューエントリーを編集します。

      LABEL discovery
      MENU LABEL Satellite 6 Discovery
      MENU DEFAULT
      KERNEL boot/fdi-image-rhel_7-vmlinuz
      APPEND initrd=boot/fdi-image-rhel_7-img rootflags=loop root=live:/fdi.iso rootfstype=auto ro rd.live.image acpi=force rd.luks=0 rd.md=0 rd.dm=0 rd.lvm=0 rd.bootif=0 rd.neednet=0 nomodeset proxy.url=https://SATELLITE_CAPSULE_URL:9090 proxy.type=proxy
      IPAPPEND 2
      • proxy.type オプションは proxy または foreman のいずれかになります。proxy の場合は、すべての通信が Capsule 経由で行われます。foreman の場合は、通信が直接 Satellite Server に行われます。
      • proxy.url には、Satellite Capsule または Server の URL を指定します。HTTP と HTTPS の両方のプロトコルがサポートされます。
  26. OpenSCAP プラグインがインストールされており、デフォルトの OpenSCAP コンテンツが利用可能でない場合は、以下のコマンドを実行します。

    # foreman-rake foreman_openscap:bulk_upload:default
  27. Satellite Web UI で Configure (設定) > Discovery Rules (検出ルール) に移動し、選択された組織および場所を検出ルールに関連付けます。
  28. Red Hat カスタマーポータルで Satellite Server を同期します。

    1. Content (コンテンツ) > Sync Status (同期ステータス) に移動します。

      同期可能な製品リポジトリーのリストが表示されます。

    2. 製品コンテンツの横にある矢印をクリックして利用可能なコンテンツを表示します。
    3. 同期するコンテンツを選択します。
    4. Synchronize Now をクリックします。

      コンテンツの同期には時間がかかることがあります。同期に要する時間は、ディスクドライブの速度やネットワーク接続の速度、同期対象として選択されたコンテンツの量によって異なります。

  29. (オプション) 必要なコンテンツビューを公開します。

    コンテンツビューを公開して、ホストが参照および使用できるようにする必要があります。公開する前に、コンテンツビュー定義に必要な製品、リポジトリー、およびフィルターが含まれることを確認する必要があります。

    1. メインメニューから、Content (コンテンツ) > Content Views (コンテンツビュー) を選択します。
    2. Name (名前) 列から、Satellite Server コンテンツビューを選択します。
    3. Publish New Version (新規バージョンの公開) をクリックします。
    4. コメントを入力し、Save (保存) をクリックします。
  30. (オプション) コンテンツビューをプロモートします。

    1. メインメニューから、Content (コンテンツ) > Content Views (コンテンツビュー) を選択します。
    2. Name (名前) 列で、Satellite Server コンテンツビューを選択します。
    3. Versions (バージョン) タブで、最新バージョンを選択し、Promote (プロモート) をクリックします。
    4. プロモーションパスを特定し、適切なライフサイクル環境を選択して、Promote Version (バージョンのプロモート) をクリックします。

      処理が完了したら、更新されたコンテンツビューステータスが Versions (バージョン) タブに表示されます。

6.8. アップグレード後のクリーンアップ

このセクションのすべての手順はオプションです。ご使用のインストールに関連する手順のみを実行できます。

6.8.1. 冗長ファイアウォールルールの削除

Red Hat Satellite 6.2 は Elasticsearch を使用しないため、Elasticsearch に関連するファイアウォールルールは削除できます。これらは、宛先ポートが 9200 の行です。

Red Hat Enterprise Linux 6 での冗長ファイアウォールルールの削除

  1. ファイアウォールルールをリストします。

    # iptables -nL --line-numbers
  2. 以下の行を特定し、削除します。チェーン名は OUTPUT であり、行番号は異なることがあることに注意してください。

    Chain OUTPUT (policy ACCEPT)
    num  target   prot opt source         destination
    1    ACCEPT   tcp  --  0.0.0.0/0      0.0.0.0/0      tcp dpt:9200 owner UID match 496
    2    ACCEPT   tcp  --  0.0.0.0/0      0.0.0.0/0      tcp dpt:9200 owner UID match 0
    3    DROP     tcp  --  0.0.0.0/0      0.0.0.0/0      tcp dpt:9200
  3. iptables ルールを削除します。

    iptables -D <chain-name> <line-number>

    たとえば、上記の出力から行 1 を削除するには、以下のようなコマンドを入力します。

    # iptables -D OUTPUT 1
  4. 行の削除後に、変更を保存します。

    # service iptables save
  5. iptables サービスが起動され、有効であることを確認します。

    # service iptables start
    # chkconfig iptables on

Red Hat Enterprise Linux 7 での冗長ファイアウォールルールの削除

  1. IPv4 直接ルールをリストします。

    # firewall-cmd --direct --get-rules ipv4 filter OUTPUT
  2. IPv6 直接ルールをリストします。

    # firewall-cmd --direct --get-rules ipv6 filter OUTPUT
  3. IPv4 と IPv6 両方に対して以下の行を特定し、削除します。チェーン名は OUTPUT であり、最初の番号は優先度であることに注意してください。

    0 -o lo -p tcp -m tcp --dport 9200 -m owner --uid-owner foreman -j ACCEPT
    0 -o lo -p tcp -m tcp --dport 9200 -m owner --uid-owner root -j ACCEPT
    1 -o lo -p tcp -m tcp --dport 9200 -j DROP
  4. firewalld 直接ルールを削除します。

    firewall-cmd --direct --remove-rule <inet_family> filter <chain_name> rule

    ここで、<inet_family> は IPv4 または IPv6 です。

    たとえば、上記の IPv4 の行を削除する場合は、以下のようになります。

    # firewall-cmd --direct --remove-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 9200 -m owner --uid-owner foreman -j ACCEPT \
    && firewall-cmd --direct --remove-rule ipv4 filter OUTPUT 0 -o lo -p tcp -m tcp --dport 9200 -m owner --uid-owner root -j ACCEPT \
    && firewall-cmd --direct --remove-rule ipv4 filter OUTPUT 1 -o lo -p tcp -m tcp --dport 9200 -j DROP
  5. IPv6 に対してコマンドを繰り返します。
  6. firewall サービスが有効であり、起動されていることを確認します。

    # systemctl enable firewalld
    # systemctl start firewalld

6.8.2. Elasticsearch の削除

Red Hat Satellite 6.2 は Elasticsearch を使用しないため、Elasticsearch で使用されるパッケージとディレクトリーは削除できます。

Elasticsearch と関連パッケージの削除

必要なくなった以下のパッケージを削除します。

# yum erase elasticsearch sigar-java sigar snappy-java lucene4-contrib lucene4

Elasticsearch ユーザーの削除

Elasticsearch により作成されたユーザーを削除します。

# userdel -r elasticsearch

Elasticsearch ディレクトリーの削除

データベースディレクトリーとその内容を削除します。

# rm -rf /var/lib/elasticsearch

6.8.3. 以前のバージョンの Satellite Tools リポジトリーの削除

Satellite 6.2 へのアップグレードが完了したら、Red Hat Satellite Tools 6.1 リポジトリーをコンテンツビューから削除し、無効にできます。

  1. バージョン 6.1 の Satellite Tools リポジトリーの無効化

    1. Satellite Web UI で、Content > Red Hat Repositories に移動し、RPM タブを選択します。
    2. Red Hat Enterprise Linux Server 製品 を見つけ、展開します。
    3. Repository Set Red Hat Satellite Tools 6.1 (RHEL X Server 用) (RPM) を見つけ展開します。
    4. RHEL X Server RPM x86_64 用 Red Hat Satellite Tools 6.1 を選択解除します。

チェックボックスが選択不可である場合、リポジトリーはまだコンテンツビューに含まれます。リポジトリーの孤立したパッケージは、スケジュールされたタスク (cron job) により自動的に削除されます。