Red Hat Training

A Red Hat training course is available for Red Hat Satellite

第2章 Satellite Server のクローン

Satellite Server のアップグレード時に、アップグレード中にデータが損失されないように、オプションで Satellite のクローンを作成することができます。アップグレードが完了したら、Satellite Server の以前のバージョンの使用を停止できます。

以下の手順を使用して、Satellite インスタンスのクローンを作成し、環境を保存してアップグレードの準備を整えます。

Satellite クローンツールは、Capsule Server から Red Hat Enterprise Linux 7 への移行をサポートしません。代わりに、既存の Capsule Server のバックアップを作成し、Red Hat Enterprise Linux 7 に Capsule Server を復元してから再設定します。

用語

次の用語を理解するようにしてください。

ソースサーバー: クローンするサーバー

ターゲットサーバー: ファイルをコピーし、ソースサーバーのクローンを作成する先の新規サーバー

2.1. クローン作成プロセスの概要

  1. ソースサーバーをバックアップします。
  2. ソースサーバーからターゲットサーバーにクローンを作成します。
  3. ソースサーバーの電源を切断します。
  4. 新規ホスト名とターゲットサーバーの IP アドレスが一致するように、ターゲットサーバー上のネットワーク設定を更新します。
  5. コンテンツホストと Capsule で goferd を再起動して、接続を更新します。
  6. 新規ターゲットサーバーをテストします。

2.2. 前提条件

Satellite Server のクローンを作成するには、以下のリソースが用意されていることを確認します。

  • ターゲットサーバーとして使用する Red Hat Enterprise Linux 7 サーバーの最小インストール。Red Hat Enterprise Linux 7 ソフトウェアグループやサードパーティーのアプリはインストールしないでください。また、『オンラインネットワークからの Satellite Server のインストール』「インストールのために環境を準備」に記載されている仕様すべてに準拠していることを確認してください。
  • katello-backup スクリプトを使用して作成した Satellite バージョン 6.1、6.2 または 6.3 のバックアップ。バックアップは、Pulp データありでも、なしでも使用できます。
  • ターゲットサーバーの Satellite のサブスクリプション

クローンを開始する前に、以下の条件を満たしていることを確認してください。

  • ターゲットサーバーが分離ネットワーク上にあること。これにより、Capsule Server とホスト間で必要のない通信を回避できます。
  • ソースサーバーからのバックアップファイルすべてを格納できるだけの容量があるターゲットサーバー

2.3. Pulp データの考慮事項

Pulp データを含めずに、Satellite Server のクローンを作成できます。ただし、クローンした環境を機能させるためには、Pulp データが必要です。ターゲットサーバーに、Pulp データがない場合には、Satellite は完全に機能しません。

Pulp データをターゲットサーバーに転送するには、2 つのオプションがあります。

  • Pulp データを含むバックアップを使用したクローン作成
  • Pulp データなしのバックアップを使用してクローンを作成し、ソースサーバーから手動で /var/lib/pulp をコピーします。

pulp_data.tar ファイルが 500 GB 以上の場合や、pulp_data.tar ファイルが 100 GB 以上で、NFS など、速度の遅いストレージシステムを使用している場合には、展開時にメモリーエラーが発生する可能性があるので、バックアップに pulp_data.tar を含めないようにしてください。ソースサーバーからターゲットサーバーに pulp_data.tar ファイルをコピーするようにしてください。

Pulp データなしでバックアップする方法

「Satellite Server のクローン」の手順の内容に従います。ただし、Pulp データが含まれるクローンを作成する手順を、以下の手順に置き換えてください。

  1. MongoDB と PostgreSQL の両データベースをアクティブにし、Pulp データは除外してバックアップを実行します。

    # katello-service stop
    # katello-service start --only mongod,postgresql
    # katello-backup --skip-pulp-content /var/backup --assumeyes
  2. Satellite Service をすべて停止および無効にします。

    # katello-service stop
    # for i in $(katello-service list| awk '{print $1}'|grep service); \
    do systemctl disable $i ;done
  3. Pulp データをターゲットサーバーにコピーします。

    # rsync --archive --partial --progress --compress \
    /var/lib/pulp target_server.example.com:/var/lib/pulp

「ターゲットサーバーのクローン作成」に進みます。

2.4. Satellite Server のクローン

以下の手順を使用して、Satellite Server のクローンを作成します。この手順の一部として大量のデータをコピーして転送する必要があるので、完了までにかなり時間がかかる可能性がある点に注意してください。

2.4.1. クローン作成のためのソースサーバーの準備

ソースサーバーで、以下の手順を実行します。

  1. Satellite サブスクリプションのプール ID を確認します。

    # subscription-manager list --consumed \
    --matches 'Red Hat Satellite'|grep "Pool ID:"|awk '{print $3}'
  2. Red Hat Satellite のサブスクリプションを削除します。

    # subscription-manager remove --serial=$(subscription-manager list \
    --consumed \
    --matches 'Red Hat Satellite'|grep "Serial:"|awk '{print $2}')
  3. Pulp データのサイズを判断します。

    # du -sh /var/lib/pulp/
  4. Pulp データが 500 GB 未満の場合は、MongoDB と PostgreSQL のデータベースをアクティブにし、Pulp データを含めてバックアップを実行します。Pulp データが 500 GB 以上の場合には、以下の手順は省略して、続行する前に 「Pulp データの考慮事項」 の手順を実行してください。

    # katello-service stop
    # katello-service start --only mongod,postgresql
    # katello-backup /var/backup --assumeyes
  5. Satellite サービスをすべて停止および無効にします。

    # katello-service stop
    # for i in $(katello-service list| awk '{print $1}'|grep service); \
    do systemctl disable $i ;done

「ターゲットサーバーのクローン作成」に進みます。

2.4.2. ターゲットサーバーのクローン作成

サーバーのクローンを作成するには、ターゲットサーバーで以下の手順を実行してください。

  1. satellite-clone ツールはデフォルトで、'/backup/' をバックアップフォルダーとして使用します。別のフォルダーにコピーする場合には、/etc/satellite-clone/satellite-clone-vars.yml ファイルの backup_dir 変数を更新してください。
  2. /backup フォルダーにバックアップファイルを配置します。共有ストレージをマウントするか、candlepin.dumpconfig_files.tar.gzforeman.dump のファイルと、mongo_dump フォルダーをコピーすることができます。
  3. ソースサーバーの電源を切断します。
  4. 以下のコマンドを入力してカスタマーポータルに登録して、サブスクリプションのアタッチし、必要なサブスクリプションだけを有効化します。

    # subscription-manager register your_customer_portal_credentials
    # subscription-manager attach --pool=pool_ID
    # subscription-manager repos --disable=*
    # subscription-manager repos \
    --enable=rhel-7-server-rpms \
    --enable=rhel-server-rhscl-7-rpms \
    --enable=rhel-7-server-satellite-maintenance-6-rpms \
    --enable=rhel-7-server-satellite-6.3-rpms
  5. satellite-clone パッケージをインストールします。

    # yum install satellite-clone

    satellite-clone ツールをインストールした後に、独自のデプロイメントに合わせて /etc/satellite-clone/satellite-clone-vars.yml ファイルで設定を調節します。

  6. satellite-clone ツールを実行します。

    # satellite-clone
  7. DHCP、DNS、TFTP、およびリモート実行サービスを再設定します。ソースの Satellite Server と競合しないように、クローンプロセスにより、ターゲットの Satellite Server でこのサービスが無効になります。
  8. Satellite web UI で DHCP、DNS、TFTP を再設定し、有効にします。詳細は『オンラインネットワークからの Satellite Server のインストール』「Satellite Server での DNS、DHCP および TFTP の設定」を参照してください。
  9. リモート実行を有効にします。

    # satellite-installer --scenario satellite \
    --enable-foreman-plugin-remote-execution \
    --enable-foreman-proxy-plugin-remote-execution-ssh
  10. ユーザー名 admin とパスワード changeme で、Satellite Web UI にログインします。 すぐに、管理者パスワードを変更して認証情報のセキュリティーを確保します。
  11. 正しい組織が選択されていることを確認します。
  12. コンテンツ > サブスクリプション に移動して、マニフェストの管理をクリックします。
  13. 更新 ボタンをクリックして 終了 をクリックし、サブスクリプションの一覧に戻ります。
  14. 利用可能なサブスクリプションが正しいことを確認します。
  15. /usr/share/satellite-clone/logs/reassociate_capsules.txt ファイルの説明に従い、Capsules とライフサイクル環境の間の関係を復元します。
  16. ターゲットサーバーの IP アドレスと新規ホスト名が一致するように、DNS など、ネットワーク設定を更新します。satellite-clone ツールにより、ホスト名をソースサーバーのホスト名に変更します。ホスト名を別のものに変更する場合には、satellite-change-hostname ツールを使用してください。詳細は、『Red Hat Satellite の管理』「Satellite または Capsule Server の名前変更」を参照してください。
  17. ソースサーバーが virt-who デーモンを使用する場合は、ターゲットサーバーにインストールして設定します。ソースサーバーのディレクトリーにある virt-who 設定ファイルをすべて、ターゲットサーバーにある同じディレクトリーに移動します。詳細情報は、『仮想インスタンスガイド』「Virt-who インストールと設定の概要」を参照してください。
  18. 登録したすべてのコンテンツホストと Capsule で、goferd を再起動します。

    systemctl restart goferd

以下の章を使用してアップグレードを行った後に、安全にソースサーバーの使用を停止することができます。