第4章 Leapp を使用した Satellite または Capsule の Red Hat Enterprise Linux 8 へのインプレースアップグレード

以下の手順を使用して、Satellite または Capsule のインストールを Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 にアップグレードします。

前提条件

  • Red Hat Enterprise Linux 7 で実行している Satellite 6.11 または Capsule 6.11
  • アップグレードを開始する前に、既知の問題を確認してください。詳細は、Red Hat Satellite 6.11 での既知の問題 を参照してください。
  • これまでに Satellite または Capsule を以前のバージョンからアップグレードし、/var/lib/pgsql に、PostgreSQL 9 から PostgreSQL 12 に移行する前に SCL からの PostgreSQL データベースコンテンツが含まれていた場合には、/var/lib/pgsql を空にしてから続行します。
  • アップグレード中に、PostgreSQL データは /var/opt/rh/rh-postgresql12/lib/pgsql/data/ から /var/lib/pgsql/data/ に移動されます。これら 2 つのパスが同じパーティションに存在する場合、これ以上のアクションは必要ありません。それらが異なるパーティションに存在する場合は、データをコピーするための十分なスペースがあることを確認してください。PostgreSQL データは独自に移動することができます。この手順は、/var/opt/rh/rh-postgresql12/lib/pgsql/data/ が存在しない場合、アップグレードでスキップされます。

非接続環境の前提条件

非接続環境で Satellite を実行する場合は、次の前提条件も満たしていることを確認してください。

注記
  • Satellite は、DEFAULT および FIPS 暗号化ポリシーをサポートしています。FUTURE 暗号化ポリシーは、Satellite および Capsule のインストールではサポートされていません。
  • FIPS モードでの Red Hat Enterprise Linux システムのインプレースアップグレードは、Red Hat ではサポートされていません。FIPS をオフにし、Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 にアップグレードすると、FIPS の有効化もサポートされません。代わりに、FIPS モードが有効な状態で、Satellite 6.11 を新規インストールした Red Hat Enterprise Linux 8 システムに移行します。詳細は、5章Satellite を新しい Red Hat Enterprise Linux システムに移行する を参照してください。

手順

  1. Leapp を取得するようにリポジトリーを設定します。

    Red Hat Enterprise Linux で、rhel-7-server-extras-rpms リポジトリーを有効にします。

    # subscription-manager repos --enable=rhel-7-server-extras-rpms
  2. 必要なパッケージをインストールします。

    # satellite-maintain packages install leapp leapp-repository
  3. Leapp が非接続環境でアップグレードを実行するには、Leapp utility metadata in-place upgrades of RHEL for disconnected upgrades で説明されているように、メタデータをダウンロードして手動で抽出します。
  4. 非接続環境でアップグレードを実行するには、次のリポジトリーを設定します。

    1. /etc/yum.repos.d/rhel8.repo:

      [BaseOS]
      name=rhel-8-for-x86_64-baseos-rpms
      baseurl=http://server.example.com/rhel8/BaseOS/
      
      [AppStream]
      name=rhel-8-for-x86_64-appstream-rpms
      baseurl=http://server.example.com/rhel8/AppStream/
    2. /etc/yum.repos.d/satellite.repo:

      [satellite-6.11-for-rhel-8-x86_64-rpms]
      name=satellite-6.11-for-rhel-8-x86_64-rpms
      baseurl=http://server.example.com/sat6/Satellite/
      
      [satellite-maintenance-6.11-for-rhel-8-x86_64-rpms]
      name=satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
      baseurl=http://server.example.com/sat6/Maintenance/
  5. Leapp が Tomcat パッケージの更新を省略して、アップグレードが失敗しないようにします。

    # echo tomcat >> /etc/leapp/transaction/to_remove
    # echo tomcat-lib >> /etc/leapp/transaction/to_remove
  6. Leapp にシステムを分析させましょう:

    # leapp preupgrade

    非接続環境で Satellite を実行する場合は、--no-rhsm および --enablerepo パラメーターを追加します。

    # leapp preupgrade \
    --no-rhsm \
    --enablerepo BaseOS \
    --enablerepo AppStream \
    --enablerepo satellite-6.11-for-rhel-8-x86_64-rpms \
    --enablerepo satellite-maintenance-6.11-for-rhel-8-x86_64-rpms

    最初の実行は失敗することが想定されていますが、問題を報告してアップグレードが行われません。/var/log/leapp/leapp-report.txt ファイルのレポートを調べ、すべての質問に回答し (leapp answer を使用)、報告された他の問題を手動で解決します。

    次のコマンドは、必要な最も一般的な手順を示しています。

    # rmmod pata_acpi
    # echo PermitRootLogin yes | tee -a /etc/ssh/sshd_config
    # leapp answer --section remove_pam_pkcs11_module_check.confirm=True

    従来の名前が指定されたネットワークインターフェイスが複数あることが原因で leapp preupgrade により Unsupported network configuration でアップグレードできない場合には、Leapp で示される指示に従い、インターフェイスの名前を変更してから、インストーラーで Satellite または Capsule で新しいインターフェイス名が使用されるように再設定します。

    # satellite-installer --help |grep 'interface.*eth'
        --foreman-proxy-dhcp-interface  DHCP listen interface (current: "eth0")
        --foreman-proxy-dns-interface  DNS interface (current: "eth0")

    eth0 の名前が em0 に変更されている場合は、インストーラーを呼び出して新しいインターフェイス名を使用します。

    # satellite-installer --foreman-proxy-dhcp-interface=em0 --foreman-proxy-dns-interface=em0
  7. leapp preupgrade に問題がないことを確認します。
  8. 以下を実行します。

    # leapp upgrade

    非接続環境で Satellite を実行する場合は、--no-rhsm および --enablerepo パラメーターを追加します。

    # leapp upgrade \
    --no-rhsm \
    --enablerepo BaseOS \
    --enablerepo AppStream \
    --enablerepo satellite-6.11-for-rhel-8-x86_64-rpms \
    --enablerepo satellite-maintenance-6.11-for-rhel-8-x86_64-rpms
  9. システムを再起動します。

    システムが再起動した後、ライブシステムがアップグレードを実行し、再起動して SELinux ラベルを修正してから、最終的な Red Hat Enterprise Linux 8 システムで再起動します。

  10. Leapp はアップグレードを終了し、次のように監視します。

    # journalctl -u leapp_resume -f
  11. RHEL 7 から RHEL 8 へのアップグレード の次の手順を完了します。

    1. パッケージのロック解除:

      # satellite-maintain packages unlock
    2. RHEL 8 システムのアップグレード後の状態の確認
    3. アップグレード後のタスクの実行
    4. ロックパッケージ:

      # satellite-maintain packages lock
  12. Capsule ではなく、Satellite のみで、SELinux を enforcing モードにする必要がある場合は、SELinux を enforcing モードに変更する前に、以下のコマンドを実行します。

    # dnf reinstall foreman-selinux katello-selinux --disableplugin=foreman-protector
  13. RHEL 7 から RHEL 8 へのアップグレード ガイドの SELinux モードの enforcing への変更 で説明されている SELinux を enforcing モードに変更する手順を完了します。
  14. subscription-manager リリースの設定を解除します。

    # subscription-manager release --unset