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

1. 要件と考慮事項

1.1. 一般的な要件

  • SUSE Multi-Linux Manager 4.3サーバをコンテナに移行するには、SL Micro 6.1またはSUSE Linux Enterprise Server 15 SP7とmgradmがインストールされた新しいマシンが必要です。

  • 選択したホストオペレーティングシステムがSL Micro 6.1またはSUSE Linux Enterprise Server 15 SP7のいずれであっても、SUSE Multi-Linux Manager 4.3 から5.1へのインプレース移行はサポートされていません。

SUSE Multi-Linux Manager 4.3から5.1に移行する前に、従来のプロキシを含む既存の従来のクライアントをSaltに移行する必要があります。従来のSUSE Multi-Linux Manager 4.3クライアントからSaltクライアントへの移行の詳細については、従来のクライアントからSaltクライアントへの移行を参照してください。

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

このガイドは、SUSE Multi-Linux Manager 4.3から5.1への移行のみを対象としています。

ホストオペレーティングシステムをSL Micro 6.1からSUSE Linux Enterprise Server 15 SP7に切り替えながら、既存のSUSE Multi-Linux Manager 5.1インスタンスを同じバージョンに移行する場合(またはその逆の場合)は、mgradm migrateコマンドでは処理されません。

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>を使用して、移行したサーバに各キーを追加します。

1.4. SSL証明書

SSL証明書は後の段階で必要となります。 自己署名生成CAおよび証明書を使用しない場合は、開始する前に以下があることを確認します。

  • 認証局(CA) SSLパブリック証明書。 CAチェーンを使用している場合は、すべての中間CAも利用できる必要があります。

  • SSLデータベース機密鍵。

  • SSLデータベース証明書。

すべてのファイルがPEM形式である必要があります。

SSLサーバ証明書のホスト名は、配備先マシンの完全修飾ホスト名と一致している必要があります。 ホスト名は、証明書のX509v3 Subject Alternative Nameセクションで設定できます。 環境で必要な場合は、複数のホスト名を一覧にすることもできます。 サポートされているキーの種類は、RSAEC (Elliptic Curve)です。

データベースSSL証明書には reportdbdb、およびレポートデータベースにアクセスするために使用されるSubject Alternative NameとしてのFQDNが必要です。

移行中に、サーバSSL証明書とCAチェーンはソースサーバからコピーされるため、データベース証明書のみが必要となります

2. 移行

2.1. SUSE Multi-Linux Manager 5.1サーバホストの準備

準備されたSL Micro 6.1またはSUSE Linux Enterprise Server 15 SP7システムにSUSE Multi-Linux Managerを事前にインストールしないでください。

移行プロセスは、サーバのインストールを自動的に実行するように設計されています。mgradm installを実行してからmgradm migrateを実行することはサポートされておらず、サポートされていないシステム状態を引き起こします。

以下のステップでは、ホストシステムの準備のみを行い、実際のSUSE Multi-Linux Manager 5.1サーバーのインストールは行いません。

移行ターゲットとして、SL Micro 6.1に基づくVMイメージを使用できます。 このようなシナリオでは、以下で説明されているようにホストシステムを準備できます。

ただし、最後に、最終ステップとしてmgradm install <FQDN>ではなく、mgradm migrate <FQDN>コマンドを実行します。

2.1.1. SL Micro 6.1ホストの準備

2.1.1.1. インストールメディアのダウンロード
プロシージャ: インストールメディアのダウンロード
  1. https://www.suse.com/download/sle-micro/でSL Micro 6.1のインストールメディアを見つけて、適切なメディアファイルをダウンロードします。

  2. インストール用のDVDまたはUSBフラッシュドライブ(ダウンロードした.isoイメージを含む)を準備します。

2.1.1.2. SL Micro 6.1のインストール
プロシージャ: SL Micro 6.1のインストール
  1. SLE Micro 6.1のインストールイメージを含むDVDまたはUSBフラッシュドライブ(USBディスクまたはキー)を挿入します。

  2. システムをブートまたは再起動します。

  3. 矢印キーを使用してインストールを選択します。

  4. キーボードと言語を調整します。

  5. チェックボックスをクリックしてライセンス契約に同意します。

  6. 次へをクリックして続行します。

  7. 登録方法を選択します。この例では、SUSE Customer Centerを使用してサーバを登録します。

    SUSE Multi-Linux Manager 5.1コンテナは拡張機能としてインストールされます。以下のリストから必要な特定の拡張機能に応じて、それぞれに追加のSUSE Customer Center登録コードが必要です。

    • SUSE Multi-Linux Manager 5.1サーバ

    • SUSE Multi-Linux Manager 5.1プロキシ

    • SUSE Multi-Linux Manager 5.1 Retail Branch Server

    SL Micro 6.1エンタイトルメントは、SUSE Multi-Linux Managerエンタイトルメント内に含まれているため、別途登録コードは必要ありません。

  8. SUSE Customer Centerの電子メールアドレスを入力します。

  9. SL Micro 6.1の登録コードを入力します。

  10. 次へをクリックして続行します。

  11. プロキシをインストールするにはSUSE Multi-Linux Manager 5.1プロキシ拡張機能、サーバをインストールするにはSUSE Multi-Linux Manager 5.1サーバ拡張機能のチェックボックスを選択します。

  12. 次へをクリックして続行します。

  13. SUSE Multi-Linux Manager 5.1拡張機能の登録コードを入力します。

  14. 次へをクリックして続行します。

  15. NTP設定ページで、次へをクリックします。

  16. Authentication for the System (システムの認証)ページで、rootユーザのパスワードを入力します。次へをクリックします。

  17. インストール設定ページで、インストールをクリックします。

これで、SL Micro 6.1と拡張機能としてのSUSE Multi-Linux Manager 5.1のインストールは完了です。マシン(仮想または物理)の準備の詳細については、SL Micro配備ガイドを参照してください。

2.1.1.3. オプション: コマンドラインからの登録

SL Micro 6.1のインストール中にSUSE Multi-Linux Manager 5.1を拡張機能として追加した場合は、このプロシージャはスキップして構いません。ただし、オプションで、登録を行なわずに次へ進むボタンを選択することにより、SL Micro 6.1のインストール中に登録をスキップできます。このセクションでは、SL Micro 6.1のインストール後に製品を登録するステップについて説明します。

次のステップでは、SUSE Multi-Linux Manager 5.1拡張機能をx86-64アーキテクチャに登録します。そのため、x86-64アーキテクチャの登録コードが必要になります。ARMまたはs390xアーキテクチャを登録する場合は、正しい登録コードを使用してください。

プロシージャ: コマンドラインからの登録
  1. 次のコマンドで利用可能な拡張機能を一覧表示します。

    transactional-update --quiet register --list-extensions
  2. 利用可能な拡張機能のリストから、インストールしたい拡張機能を選択します。

    1. サーバをインストールする場合は、次のコマンドで SUSE Multi-Linux Manager Server Extension 5.1 x86_64の登録コードを使用します。

      transactional-update register -p Multi-Linux-Manager-Server/5.1/x86_64 -r <reg_code>
    2. プロキシをインストールする場合は、次のコマンドでSUSE Multi-Linux Manager Proxy Extension 5.1 x86_64の登録コードを使用します。

    transactional-update register -p Multi-Linux-Manager-Proxy/5.1/x86_64 -r <reg_code>
  3. 再起動します。

2.1.1.4. システムの更新
プロシージャ: システムの更新
  1. rootとしてログインします。

  2. transactional-updateを実行します。

    transactional-update
  3. 再起動します。

SL Microはデフォルトで自己更新するように設計されており、更新を適用すると再起動します。ただし、SUSE Multi-Linux Manager環境ではこの動作は望ましくありません。サーバの自動更新を防ぐには、SUSE Multi-Linux Managerでブートストラッププロセス中にtransactional-updateのタイマを無効にします。

SL Microのデフォルトの動作を使用したい場合は、次のコマンドを実行してタイマを有効にします。

systemctl enable --now transactional-update.timer

2.1.2. SUSE Linux Enterprise Server 15 SP7ホストの準備

または、SUSE Linux Enterprise Server 15 SP7にSUSE Multi-Linux Managerを配備することもできます。

次のプロシージャでは、インストールプロセスの主なステップについて説明します。

2.1.2.1. SUSE Linux Enterprise ServerにSUSE Multi-Linux Manager拡張機能をインストールする
プロシージャ: SUSE Linux Enterprise ServerにSUSE Multi-Linux Manager拡張機能をインストールする
  1. https://www.suse.com/download/sles/でSUSE Linux Enterprise Server 15 SP7 .isoを見つけてダウンロードします。

  2. ホストオペレーティングシステム(SUSE Linux Enterprise Server 15 SP7)と拡張機能の両方の登録コードがあることを確認します。

  3. SUSE Linux Enterprise Server 15 SP7のインストールを開始します。

    1. Language, Keyboard and Product Selection(言語、キーボードおよび製品の選択)で、インストールする製品を選択します。

    2. ライセンス契約で契約を読み、[I Agree to the License Terms( ライセンス条項に同意します)にチェックを付けます。

  4. 登録方法を選択します。この例では、SUSEカスタマーセンターにサーバを登録します。

  5. SUSE Customer Centerの電子メールアドレスを入力します。

  6. SUSE Linux Enterprise Server 15 SP7の登録コードを入力します。

  7. 次へをクリックして続行します。

    SUSE Linux Enterprise Server 15 SP7には、有効なSUSE Linux Enterprise Serverサブスクリプションと対応する登録コードが必要であり、この画面で入力する必要があることに注意してください。以下でSUSE Multi-Linux Manager拡張機能の登録コードを入力する必要があります。

  8. 拡張とモジュールの選択で、以下にチェックを付けます。

    • サーバをインストールするにはSUSE Multi-Linux Managerサーバ拡張機能を選択し、プロキシをインストールするにはSUSE Multi-Linux Managerプロキシ拡張機能を選択します。

    • ベースシステムモジュール

    • Containersモジュール

  9. 次へをクリックして続行します。

  10. SUSE Multi-Linux Manager 5.1拡張機能の登録コードを入力します。

  11. 次へをクリックして続行します。

  12. インストールを完了します。

  13. インストールが完了したら、rootとして新しくインストールしたサーバにログインします。

  14. システムを更新します(オプション。インストール時にシステムが更新をダウンロードするように設定されていない場合)。

    zypper up
  15. 再起動します。

2.1.2.2. オプション: コマンドラインからの登録

SUSE Linux Enterprise Serverインストール時にSUSE Multi-Linux Manager 5.1を拡張機能として追加した場合、このプロシージャはスキップできます。

ただし、オプションで、登録を行なわずに次へ進むボタンを選択することにより、SUSE Linux Enterprise Serverのインストール中に登録をスキップできます。このセクションでは、SUSE Linux Enterprise Serverのインストール後に製品を登録するステップについて説明します。

次のステップでは、SUSE Multi-Linux Manager 5.1拡張機能をx86-64アーキテクチャに登録します。そのため、x86-64アーキテクチャの登録コードが必要になります。

ARMまたはs390xアーキテクチャを登録する場合は、正しい登録コードを使用してください。

プロシージャ: コマンドラインからの登録
  1. 次のコマンドで利用可能な拡張機能を一覧表示します。

    SUSEConnect --list-extensions
  2. 利用可能な拡張機能のリストから、インストールしたい拡張機能を選択します。

    サーバをインストールする場合は、SUSE Multi-Linux Manager Server Extension 5.1 x86_64の登録コードを使用します。SUSE Linux Enterprise 15 SP7の例では、次のコマンドを使用してください。

    +

    SUSEConnect -r <regcode>
    SUSEConnect -p sle-module-containers/15.7/x86_64
    SUSEConnect -p Multi-Linux-Manager-Server-SLE/5.1/x86_64 -r <regcode>
    • プロキシをインストールする場合は、次のコマンドでSUSE Multi-Linux Manager Proxy Extension 5.1 x86_64の登録コードを使用します。

      SUSEConnect -p Multi-Linux-Manager-Proxy-SLE/5.1/x86_64 -r <regcode>
2.1.2.3. podmanをインストールおよび有効にする
プロシージャ: podmanのインストール
  1. rootとしてログインし、製品パッケージをインストールします。

    • サーバ上:

      zypper in podman
      zypper in -t product SUSE-Multi-Linux-Manager-Server
    • プロキシ上:

      zypper in podman
      zypper in -t product SUSE-Multi-Linux-Manager-Proxy

      パッケージpodmanがインストールされていることを確認します。 また、サーバ上でmgradmおよびmgradm-bash-completion、またはプロキシ上でmgrpxyおよびmgrpxy-bash-completionもインストールされている必要があります。

  2. システムを再起動するか、次のコマンドを実行してPodmanサービスを起動します。

    systemctl enable --now podman.service

2.2. SSH接続の準備

このステップを使用すると、新しいSUSE Multi-Linux Manager 5.1サーバが既存の4.3サーバにパスワードを必要とせずにSSH経由で接続できるようになります。このステップには、SSHキーの生成と設定、SSHエージェントのセットアップ、および公開鍵の古いサーバへのコピーが含まれます。このセットアップは、手動による介入なしに移行プロセスを実行するために必要です。

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

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

    eval $(ssh-agent); ssh-add

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

  3. ssh-copy-idを使用して、SSH公開鍵をSUSE Multi-Linux 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 Multi-Linux ManagerサーバへのSSH接続を確立し、パスワードが不要であることを確認します。また、ホストの指紋に問題がないことも確認します。問題がある場合は、古い指紋を~/.ssh/known_hostsファイルから削除して、もう一度実行します。指紋はローカルの~/.ssh/known_hostsファイルに保存されます。

2.3. 移行の実行

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

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

セキュリティ強化されたSUSE Multi-Linux Managerサーバホストでは、/tmpフォルダからのファイル実行が制限される場合があります。このような場合は、回避策として、mgradmを実行する前に、TMPDIR環境変数を別の既存のパスにエクスポートします。

例:

export TMPDIR=/path/to/other/tmp

SUSE Multi-Linux Managerの更新では、この回避策が不要になるようにツールが変更されます。

SUSE Manager 4.3から移行する場合は、[生成するCAキーのパスワード]の入力を求められます。 SUSE Manager 4.3のインストールで使用されたのと同じCAパスワードを入力する必要があります。

間違ったパスワードを入力すると、データベース証明書の生成に失敗して、移行が中止され、次のエラーが表示されます。

Error: cannot configure db container: Cannot generate database certificate: CA validation failed!

移行プロセスを開始する前に、正しいCAパスワードが使用可能であることを確認します。

プロシージャ: 移行を実行する
  1. このステップはオプションです。ご使用のインフラストラクチャにカスタム永続ストレージが必要な場合は、mgr-storage-serverツールを使用します。mgr-storage-serverの詳細については、installation-and-upgrade:hardware-requirements.adoc#install-hardware-requirements-storageを参照してください。

  2. 次のコマンドを実行して、新しいSUSE Multi-Linux Manager 5.1サーバを移行および設定します。<oldserver.fqdn>は4.3サーバのFQDNに置き換えてください。

    移行プロセスを開始する前に、4.3サーバを必ずアップグレードして、利用可能なすべての更新を適用してください。 また、不要なチャンネルを削除すると、全体的な移行時間を短縮できます。

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

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

    最終複製以外のすべてに対して、パラメータ--prepareを追加し、古い4.3サーバ上のサービスが自動的に停止するのを防止します。

    失敗した移行を再実行すると、複数の大きなバックアップディレクトリが作成され、これらのディレクトリは蓄積され大量のスペースを消費します。これは、失敗した移行ごとに/var/lib/containers/storage/volumes内に新しいバックアップディレクトリが作成されるためです。

    これらのバックアップは移行ツールによって自動的に削除されません。 移行が失敗した場合は、次の試行用に十分なスペースを確保するため、古いバックアップディレクトリを手動で確認してクリーンアップする必要があります。

    このスペースの管理に失敗すると、次の移行の試行が失敗する可能性があります。

    移行とすべての検証が完了したら、var-pgsql-backupボリュームを削除できます。

    • --prepareステップは、最終移行が開始されていない場合に限り、複数回実行できます。

    • 最終移行が開始され、データベースアップグレード段階に達したら、データ破損につながる可能性があるため、--prepareコマンドを再度実行しないでください。

    mgradm migrate podman <oldserver.fqdn> --prepare
プロシージャ: 最終移行
  1. 4.3サーバ上のSUSE Managerサービスを停止します。

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

    systemctl stop postgresql
  3. SUSE Multi-Linux Manager 5.1サーバで最終移行を実行します。

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

2.3.1. 証明書の移行

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

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

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

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

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

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

クライアントにminionの最新バージョンがインストールされている場合、IPアドレスの調整は不要です。新しいバージョンではFQDNのみを使用してサーバに自動的に再接続できるためです。

3. クライアントツールのブランド変更

SUSE Multi-Linux Manager 5.1では、サポート対象のすべてのオペレーティングシステム向けに、ブランド変更されたクライアントツールセットが導入されています。この移行はシームレスに行われ、新しい製品同期を実行するユーザは、更新されたチャンネル名にのみ気づくはずです。

以前にSUSE Multi-Linux Manager 4.3または5.0に登録されていたクライアントが使用していたSUSE Manager Client Tools for XYZという名前のチャンネルは、バージョン5.1では利用できなくなり、5.1では更新を受け取らなくなります。

移行後もレガシチャンネルは既存のクライアントに割り当てられたままですが、対応するリポジトリは削除されています。

継続的な更新を確実に行うには、ユーザは以下の操作を実行する必要があります。

  • 関連製品の新しいSUSE Multi-Linux Manager Client Tools for XYZチャンネルをミラーリングし、適切なクライアントに割り当てる。

  • 古いSUSE Manager Client Tools for XYZチャンネルの割り当てを解除する。

これにより、古いクライアントツールに基づくCLMプロジェクトも適宜調整する必要があります。

ワークフロー例については、 Switch to new client tools channelsを参照してください。