RHEL 7 から RHEL 8/9 に移行する際の最初の手順は、新しい RHEL 8/9 システムを作成することです。

これらの新しいシステムを作成する場合は、以前の Salt インフラストラクチャ システムに基づき、組織の要件に従ってシステムを構成します。選択可能な場合は、RHEL 9 をインストールすることを推奨します。できない場合は RHEL 8 を使用します。

作成後、各システムに Salt ミニオン エージェントをインストールし、RHEL 7 Salt マスターに接続します。

Salt を使用して以下の手順を実行します。
注: 以下のサンプルで使用されている minionID は、環境で使用されている minionID とは異なります。

前提条件

RHEL 8/9 への移行の前に、RHEL 7.4 -7.9 を使用している必要があります。

手順

  1. 次のコマンドを実行し、OS をアップデートして最新のパッチが新しいシステムに適用されるようにします。
    salt \*rhel9 cmd.run ‘yum update -y’ 
  2. 以下の依存関係がすべての RHEL 9 サーバにインストールされていることを確認します。
    1. OpenSSL
    2. Epel-release
    3. Python3-cryptography(Python36-cryptography は RHEL8 にはありません)
    4. Python3-pyOpenSSL(Python36-pyOpenSSL は RHEL8 にはありません)
  3. ファイアウォール サービスを無効にするか、ポート 443、4505、および 4506 がサービス間の通信用に開いていることを確認します。ファイアウォール サービスを無効にするには、コマンドを開き、新しい RHEL8/9 システムに移動して次のコマンドを実行します。
    Systemctl stop firewalld
    Systemctl disable firewalld
    
  4. 依存関係をインストールするには、次の手順を実行します。
    1. 次の状態ファイルを作成し、/srv/salt ディレクトリの RHEL7 Salt マスター システム(RHEL 8/9 システムが報告するシステム)に保存します。
      # Install the dependencies for Salt install
      # file: /srv/salt/install_dependencies.sls
      # to apply this state run:
      # salt <minion_id> state.sls install_dependencies
      install_openssl:
        pkg.installed:
          - name: openssl
      
      install_codeready_repo:
        cmd.run:
          - name: subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms
          - require:
            - install_openssl
      
      install_epel:
        cmd.run:
          - name: dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
          - require:
            - install_codeready_repo
      
      install_pycrypto:
        pkg.installed:
          - name: python3-cryptography
          - require:
            - install_epel
      
      install_pyopenssl:
        pkg.installed:
          - name: python3-pyOpenSSL
          - require:
            - install_pycrypto
      
    2. テスト モードで install_dependencies.sls 状態コマンドを実行します。
      Salt ‘*rhel9-*’ state.sls install_dependencies test=True
    3. 状態がエラーなしで正常に完了した場合は、次のよぅに test=true なしでコマンドを実行します。
      Salt ‘*rhel9-*’ state.sls install_dependencies