コンテナ化された環境へのSUSE Managerサーバの移行

1. 要件と考慮事項

1.1. 全般

  • SUSE Manager 4.3サーバをコンテナに移行するには、SLE Micro 5.5とmgradmがインストールされた新しいマシンが必要です。

  • 基盤となるオペレーティングシステムがSUSE Linux Enterprise Server 15 SP4からSLE Micro 5.5に変更されたため、SUSE Manager 4.3から5.0へのインプレース移行はサポートされていません。

  • SUSE Manager 4.3から5.0に移行する前に、従来のプロキシを含む既存の従来のクライアントをSaltに移行する必要があります。

  • 従来の接続プロトコルは、SUSE Manager 5.0以降ではサポートされなくなりました。

1.2. ホスト名

  • 現在、この移行手順にはホスト名の名前変更機能が含まれていません。そのため、新しいサーバの完全修飾ドメイン名(FQDN)は古いサーバのFQDNと同じままです。

  • クライアントがサーバに接続できるようにするには、IPアドレスを変更しないようにする必要があります。

    移行後に新しいサーバを指すようにDHCPとDNSレコードを手動で更新する必要があります。

1.3. GPGキー

  • 自己信頼GPGキーは移行されません。

  • RPMデータベースで信頼されているGPGキーのみが移行されます。したがって、spacewalk-repo-syncでチャンネルを同期すると失敗する可能性があります。

  • 管理者は、サーバを実際に移行した後にこれらのキーを4.3のインストールからコンテナホストに手動で移行する必要があります。

    プロシージャ: 4.3 GPGキーの新しいサーバへの手動移行
    1. 4.3サーバから新しいサーバのコンテナホストにキーをコピーします。

    2. その後、コマンドmgradm gpg add <PATH_TO_KEY_FILE>を使用して、移行したサーバに各キーを追加します。

2. 移行

移行には、複製が必要なデータの量によって、非常に長い時間がかかることがあります。ダウンタイムを短縮するには、古いサーバ上のすべてのサービスを稼働させたまま、初期複製、再複製、最終複製および切り替えのプロセスで移行を複数回実行することができます。

最終移行時のみ、古いサーバ上のプロセスを停止する必要があります。

最終複製以外のすべての複製については、古いサーバ上のサービスが自動的に停止しないように、パラメータ--prepareを追加します。 例:

mgradm migrate podman <oldserver.fqdn> --prepare

2.1. 古い4.3サーバでの初期準備

プロシージャ: 4.3サーバでの初期準備
  1. SUSE Managerサービスを停止します。

    spacewalk-service stop
  2. PostgreSQLサービスを停止します。

    systemctl stop postgresql

2.2. SSH接続の準備

mgradmを使用して準備されたSLE Micro 5.5にSUSE Managerを事前にインストールする必要はありません。移行プロセスで、サーバのインストールが行われます。

プロシージャ: SSH接続を準備する
  1. rootに対して、新しい5.0サーバ上にSSHキーが存在することを確認します。キーが存在しない場合は、次のコマンドを使用して作成します。

    ssh-keygen -t rsa
  2. 新しいサーバで、SSH設定とエージェントが4.3サーバへのパスワードの入力を求めない接続の準備ができている必要があります。

    eval $(ssh-agent); ssh-add

    パスワードの入力を求めない接続を確立するために、移行スクリプトは、新しいサーバで実行されているSSHエージェントに依存します。このエージェントがまだアクティブではない場合は、eval $(ssh-agent)を実行して開始します。その後、ssh-addに続いて機密鍵へのパスを指定して、実行中のエージェントにSSHキーを追加します。このプロセス中に、機密鍵のパスワードの入力を求められます。

  3. ssh-copy-idを使用して、SSH公開鍵をSUSE Manager 4.3サーバ(<oldserver.fqdn>)にコピーします。<oldserver.fqdn>は、4.3サーバのFQDNに置き換えてください。

    ssh-copy-id <old server.fqdn>

    SSHキーは、古いサーバの~/.ssh/authorized_keysファイルにコピーされます。 詳細については、ssh-copy-idのマニュアルページを参照してください。

  4. 新しいサーバから古いSUSE ManagerサーバへのSSH接続を確立し、パスワードが不要であることを確認します。また、ホストの指紋に問題がないことも確認します。問題がある場合は、古い指紋を~/.ssh/known_hostsファイルから削除して、もう一度実行します。指紋はローカルの~/.ssh/known_hostsファイルに保存されます。

2.3. 移行の実行

SUSE Manager 4.3からSUSE Manager 5.0への移行を計画する際は、ターゲットのインスタンスが古い設定の仕様を満たしているか、上回っていることを確認します。

これには、メモリ(RAM)、CPUコア、ストレージ、ネットワーク帯域幅が含まれますが、これらに限定されません。

プロシージャ: 移行を実行する

このステップはオプションです。ご使用のインフラスクチャにカスタム永続ストレージが必要な場合は、mgr-storage-serverツールを使用します。 詳細については、mgr-storage-server --helpを参照してください。このツールを使用すると、コンテナストレージとデータベースボリュームの作成が容易になります。

  • このコマンドは次のように使用します。

    mgr-storage-server <storage-disk-device> [<database-disk-device>]

    例:

    mgr-storage-server /dev/nvme1n1 /dev/nvme2n1

    このコマンドは、/var/lib/containers/storage/volumesに永続ストレージを作成します。

    詳細については、永続ストレージボリュームのリストを参照してください。

    1. 次のコマンドを実行して、新しいSUSE Managerサーバをインストールします。<oldserver.fqdn>は4.3サーバのFQDNに置き換えてください。

      mgradm migrate podman <oldserver.fqdn>
    2. 信頼されているSSL CA証明書を移行します。

2.3.1. 証明書の移行

RPMの一部としてインストールされ、SUSE Manager 4.3の/usr/share/pki/trust/anchors/ディレクトリに保存されている信頼済みSSL CA証明書は移行されません。SUSEはRPMパッケージをコンテナ内にインストールしないため、管理者は移行後に、これらの証明書ファイルを4.3のインストールから手動で移行する必要があります。

プロシージャ: 証明書の移行
  1. 4.3サーバから新しいサーバにファイルをコピーします。 たとえば、/local/ca.fileです。

  2. 次のコマンドを使用してファイルをコンテナにコピーします。

    mgrctl cp /local/ca.file server:/etc/pki/trust/anchors/

mgradm migrateコマンドの実行が正常に完了した後も、すべてのクライアント上のSaltセットアップはまだ古い4.3サーバを指したままです。

これらを5.0サーバにリダイレクトするために、新しいサーバの名前をインフラストラクチャレベル(DHCPおよびDNS)で変更し、4.3サーバと同じFQDNとIPアドレスを使用するようにする必要があります。