부록 A. 오프라인 Red Hat Virtualization Manager 설치를 위한 로컬 리포지토리 구성

Content Delivery Network에 직접 연결되지 않은 시스템에 Red Hat Virtualization Manager를 설치하려면 인터넷 액세스가 가능한 시스템에서 필요한 패키지를 다운로드한 다음 오프라인 관리자 시스템과 공유할 수 있는 리포지토리를 생성합니다. 리포지토리를 호스팅하는 시스템은 패키지를 설치할 클라이언트 시스템과 동일한 네트워크에 연결되어 있어야 합니다.

사전 요구 사항

  • Content Delivery Network에 액세스할 수 있는 시스템에 설치된 Red Hat Enterprise Linux 8 Server. 이 시스템은 필요한 모든 패키지를 다운로드하여 오프라인 시스템에 배포합니다.
  • 많은 양의 사용 가능한 디스크 공간. 이 절차에서는 많은 수의 패키지를 다운로드하고 최대 50GB의 사용 가능한 디스크 공간이 필요합니다.

먼저 온라인 시스템에서 Red Hat Virtualization Manager 리포지토리를 활성화합니다.

Red Hat Virtualization Manager 리포지토리 활성화

Red Hat Subscription Manager에 온라인 머신에 로그인하여 등록하고, Red Hat Virtualization Manager 서브스크립션을 연결하며, Manager 리포지토리를 활성화해야 합니다.

절차

  1. 메시지가 표시되면 시스템을 Content Delivery Network에 등록하고 고객 포털 사용자 이름 및 암호를 입력합니다.

    # 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
  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. 익명 사용자가 의도한 Manager 시스템에서 rpm 파일에 액세스하고 보안을 유지하려면 ftp 서버에서 쓰기를 비활성화하도록 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를 적용하므로 FTP 액세스를 허용하도록 SELinux를 구성합니다.

      # setsebool -P allow_ftpd_full_access=1
    6. /var/ftp/pub/ 디렉토리 내부에 다운로드된 패키지를 사용할 수 있는 하위 디렉토리를 만듭니다.

      # mkdir /var/ftp/pub/rhvrepo
  2. 구성된 모든 소프트웨어 리포지토리에서 rhvrepo 디렉터리로 패키지를 다운로드합니다. 여기에는 시스템에 연결된 모든 Content Delivery Network 서브스크립션 풀과 로컬에서 구성된 모든 리포지토리에 대한 리포지토리가 포함됩니다.

    # 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 구성으로 돌아갑니다. 패키지는 Content Delivery Network가 아니라 로컬 리포지토리에서 설치됩니다.

문제 해결

reposync를 실행하면 다음 오류 메시지가 표시됩니다.
시스템에 설치할 수 없는 모듈형 패키지 "package_name_from_module"에 사용 가능한 모듈식 메타데이터가 없습니다
해결책
yum-utils-4.0.8-3.el8.noarch 이상이 설치되어 있어 모든 패키지를 올바르게 다운로드합니다. 자세한 내용은 Red Hat Enterprise Linux 8을 사용하여 로컬 리포지토리 생성 을 참조하십시오.