付録A Red Hat Virtualization Manager をオフラインでインストールするためのローカルリポジトリーの設定

コンテンツ配信ネットワークに直接接続できないシステムに Red Hat Virtualization Manager をインストールするには、インターネットアクセスのあるシステムに必要なパッケージをダウンロードしてから、オフラインの Manager マシンと共有可能なリポジトリーを作成します。リポジトリーをホストするシステムは、パッケージのインストール先となるクライアントシステムと同じネットワークに接続されている必要があります。

前提条件

  • コンテンツ配信ネットワークへアクセスできるシステムにインストールされた Red Hat Enterprise Linux 8 Server。このシステムは、必要なすべてのパッケージをダウンロードし、それらのパッケージをオフラインのシステムに配布します。
  • 十分なディスクの空き容量。この手順では、多数のパッケージをダウンロードするため、ディスクの空き容量は最大 50 GB 必要になります。

まずは、オンラインシステムで Red Hat Virtualization Manager のリポジトリーを有効にします。

Red Hat Virtualization Manager リポジトリーの有効化

ログインして、Red Hat Subscription Manager でオンラインのマシンを登録し、Red Hat Virtualization Manager のサブスクリプションをアタッチして Manager のリポジトリーを有効にする必要があります。

手順

  1. コンテンツ配信ネットワークにシステムを登録します。プロンプトが表示されたら、カスタマーポータルのユーザー名とパスワードを入力します。

    # subscription-manager register
    注記

    IPv6 ネットワークを使用している場合は、IPv6 移行メカニズムを使用して、コンテンツ配信ネットワークおよびサブスクリプションマネージャーにアクセスします。

  2. Red Hat Virtualization Manager のサブスクリプションプールを見つけ、プール ID を記録します。

    # subscription-manager list --available
  3. 上記のプール ID を使用して、サブスクリプションをシステムにアタッチします。

    # subscription-manager attach --pool=pool_id
    注記

    現在アタッチされているサブスクリプションを表示するには、以下のコマンドを実行します。

    # subscription-manager list --consumed

    有効なリポジトリーをすべて一覧表示するには、以下のコマンドを実行します。

    # dnf repolist
  4. リポジトリーを設定します。

    # subscription-manager repos \
        --disable='*' \
        --enable=rhel-8-for-x86_64-baseos-eus-rpms \
        --enable=rhel-8-for-x86_64-appstream-eus-rpms \
        --enable=rhv-4.4-manager-for-rhel-8-x86_64-rpms \
        --enable=fast-datapath-for-rhel-8-x86_64-rpms \
        --enable=jb-eap-7.4-for-rhel-8-x86_64-rpms \
        --enable=openstack-16.2-cinderlib-for-rhel-8-x86_64-rpms \
        --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms \
        --enable=rhel-8-for-x86_64-appstream-tus-rpms \
        --enable=rhel-8-for-x86_64-baseos-tus-rpms
  5. RHEL のバージョンを 8.6 に設定します。

    # subscription-manager release --set=8.6
  6. pki-deps モジュールを有効にします。

    # dnf module -y enable pki-deps
  7. postgresql モジュールのバージョン 12 を有効にします。

    # dnf module -y enable postgresql:12
  8. nodejs モジュールのバージョン 14 を有効にします。

    # dnf module -y enable nodejs:14
  9. インストール済みパッケージを同期して、利用可能な最新バージョンに更新します。

    # dnf distro-sync --nobest

関連情報

モジュールおよびモジュールストリームの詳細は、ユーザー空間コンポーネントのインストール、管理、および削除 の以下のセクションを参照してください。

オフラインリポジトリーの設定

  1. インターネットに接続されていないサーバーは、ファイル転送プロトコル (FTP) を使用して他のシステムのソフトウェアリポジトリーにアクセスすることができます。FTP リポジトリーを作成するには、目的の Manager マシンに vsftpd をインストールして設定します。

    1. vsftpd パッケージをインストールします。

      # dnf install vsftpd
    2. 匿名ユーザーの ftp アクセスを有効にして、目的の Manager マシンから rpm ファイルにアクセスできるようにし、セキュリティー保護のために ftp サーバーでの書き込みを無効にします。/etc/vsftpd/vsftpd.conf ファイルを編集し、以下のように anonymous_enable および write_enable の値を変更します。

      anonymous_enable=YES
      write_enable=NO
    3. vsftpd サービスを起動し、サービスがブート時に起動されることを確認します。

      # systemctl start vsftpd.service
      # systemctl enable vsftpd.service
    4. ファイアウォールルールを作成して FTP サービスを有効にし、firewalld サービスを再度読み込んで変更を適用します。

      # firewall-cmd --permanent --add-service=ftp
      # firewall-cmd --reload
    5. Red Hat Enterprise Linux 8 は、デフォルトで SELinux を適用するため、SELinux が FTP アクセスを許可するように設定します。

      # setsebool -P allow_ftpd_full_access=1
    6. ダウンロードしたパッケージが利用できる /var/ftp/pub/ ディレクトリー内にサブディレクトリーを作成します。

      # mkdir /var/ftp/pub/rhvrepo
  2. 設定した全ソフトウェアリポジトリーから rhvrepo ディレクトリーにパッケージをダウンロードします。これには、システムにアタッチしたコンテンツ配信ネットワークの全サブスクリプションプール用リポジトリーとローカルで設定したあらゆるリポジトリーが含まれます。

    # reposync -p /var/ftp/pub/rhvrepo --download-metadata

    このコマンドにより、多数のパッケージとそのメタデータがダウンロードされるため、完了するまで時間かかります。

  3. リポジトリーファイルを作成し、目的の Manager マシンの /etc/yum.repos.d/ ディレクトリーにコピーします。

    設定ファイルは、手動またはスクリプトを使用して作成することができます。リポジトリーをホストしているマシンで、以下のスクリプトを実行します。baseurlADDRESS は、リポジトリーをホストしているマシンの IP アドレスまたは FQDN に置き換えます。

    #!/bin/sh
    
    REPOFILE="/etc/yum.repos.d/rhev.repo"
    echo -e " " > $REPOFILE
    
    for DIR in $(find /var/ftp/pub/rhvrepo -maxdepth 1 -mindepth 1 -type d);
    do
        echo -e "[$(basename $DIR)]"	>> $REPOFILE
        echo -e "name=$(basename $DIR)" >> $REPOFILE
        echo -e "baseurl=ftp://__ADDRESS__/pub/rhvrepo/`basename $DIR`" >> $REPOFILE
        echo -e "enabled=1" >> $REPOFILE
        echo -e "gpgcheck=0" >> $REPOFILE
        echo -e "\n" >> $REPOFILE
    done

Manager の設定 に戻ります。パッケージは、コンテンツ配信ネットワークからではなく、ローカルリポジトリーからインストールされます。

トラブルシューティング

reposync を実行すると、以下のエラーメッセージが表示される
No available modular metadata for modular package "package_name_from_module" it cannot be installed on the system
解決方法
reposync がすべてのパッケージを正しくダウンロードできるように、yum-utils-4.0.8-3.el8.noarch 以降がインストールされていることを確認してください。詳細は、Create a local repo with Red Hat Enterprise Linux 8 を参照してください。