15장. 실시간 컴퓨팅 구성

클라우드 관리자는 대기 시간이 짧은 정책을 준수하고 실시간 처리를 수행하기 위해 컴퓨팅 노드에 인스턴스가 필요할 수 있습니다. 실시간 컴퓨팅 노드에는 실시간 지원 커널, 특정 가상화 모듈 및 최적화된 배포 매개 변수가 포함되어 실시간 처리 요구 사항을 지원하고 대기 시간을 최소화합니다.

실시간 계산을 활성화하는 프로세스에는 다음이 포함됩니다.

  • 컴퓨팅 노드의 BIOS 설정 구성
  • 실시간 커널 및 실시간 KVM(RT-KVM) 커널 모듈로 실시간 이미지 빌드
  • ComputeRealTime 역할을 컴퓨팅 노드에 할당

NFV 워크로드에 대한 실시간 Compute 배포의 사용 사례 예제는 example를 참조하십시오. 네트워크 기능 가상화 계획 및 구성 가이드의 OVS-DPDK 구성 ODL 및 VXLAN 터널링 섹션.

참고

실시간 컴퓨팅 노드는 Red Hat Enterprise Linux 버전 7.5 이상에서만 지원됩니다.

15.1. 실시간 컴퓨팅 노드 준비

오버클라우드에 실시간 계산을 배포하려면 먼저 Red Hat Enterprise Linux Real-Time KVM(RT-KVM)을 활성화하고 실시간 오버클라우드 이미지를 지원하도록 BIOS를 구성해야 합니다.

사전 요구 사항

절차

  1. 실시간 오버클라우드 이미지를 빌드하려면 RT-KVM에 대해 rhel-8-for-x86_64-nfv-rpms 리포지토리를 활성화해야 합니다. 리포지토리에서 설치할 패키지를 확인하려면 다음 명령을 입력합니다.

    $ dnf repo-pkgs rhel-8-for-x86_64-nfv-rpms list
    Loaded plugins: product-id, search-disabled-repos, subscription-manager
    Available Packages
    kernel-rt.x86_64                   4.18.0-80.7.1.rt9.153.el8_0               rhel-8-for-x86_64-nfv-rpms
    kernel-rt-debug.x86_64             4.18.0-80.7.1.rt9.153.el8_0               rhel-8-for-x86_64-nfv-rpms
    kernel-rt-debug-devel.x86_64       4.18.0-80.7.1.rt9.153.el8_0               rhel-8-for-x86_64-nfv-rpms
    kernel-rt-debug-kvm.x86_64         4.18.0-80.7.1.rt9.153.el8_0               rhel-8-for-x86_64-nfv-rpms
    kernel-rt-devel.x86_64             4.18.0-80.7.1.rt9.153.el8_0               rhel-8-for-x86_64-nfv-rpms
    kernel-rt-doc.noarch               4.18.0-80.7.1.rt9.153.el8_0               rhel-8-for-x86_64-nfv-rpms
    kernel-rt-kvm.x86_64               4.18.0-80.7.1.rt9.153.el8_0               rhel-8-for-x86_64-nfv-rpms
    [ output omitted…]
  2. 실시간 컴퓨팅 노드의 오버클라우드 이미지를 빌드하려면 언더클라우드에 libguestfs-tools 패키지를 설치하여 virt-customize 툴을 가져옵니다.

    (undercloud)$ sudo dnf install libguestfs-tools
    중요

    언더클라우드에 libguestfs-tools 패키지를 설치하는 경우 iscsid.socket 을 비활성화하여 언더클라우드의 tripleo_iscsid 서비스와 포트 충돌을 방지합니다.

    $ sudo systemctl disable --now iscsid.socket
  3. 이미지를 추출합니다.

    (undercloud)$ tar -xf /usr/share/rhosp-director-images/overcloud-full.tar
    (undercloud)$ tar -xf /usr/share/rhosp-director-images/ironic-python-agent.tar
  4. 기본 이미지를 복사합니다.

    (undercloud)$ cp overcloud-full.qcow2 overcloud-realtime-compute.qcow2
  5. 이미지를 등록하고 필요한 서브스크립션을 구성합니다.

    (undercloud)$ virt-customize -a overcloud-realtime-compute.qcow2 --run-command 'subscription-manager register --username=<username> --password=<password>'
    [  0.0] Examining the guest ...
    [ 10.0] Setting a random seed
    [ 10.0] Running: subscription-manager register --username=<username> --password=<password>
    [ 24.0] Finishing off

    사용자 이름암호 값을 Red Hat 고객 계정 세부 정보로 바꿉니다.

    실시간 오버클라우드 이미지 빌드에 대한 일반적인 정보는 기술 자료 문서 virt-customize로 Red Hat Enterprise Linux OpenStack Platform Overcloud 이미지 수정을 참조하십시오.

  6. Red Hat OpenStack Platform for Real Time 서브스크립션의 SKU를 찾아보십시오. SKU는 동일한 계정 및 인증 정보를 사용하여 이미 Red Hat Subscription Manager에 등록된 시스템에 있을 수 있습니다.

    $ sudo subscription-manager list
  7. Red Hat OpenStack Platform for Real Time 서브스크립션을 이미지에 연결합니다.

    (undercloud)$  virt-customize -a overcloud-realtime-compute.qcow2 --run-command 'subscription-manager attach --pool [subscription-pool]'
  8. 이미지에 rt 를 구성하는 스크립트를 생성합니다.

    (undercloud)$ cat rt.sh
      #!/bin/bash
    
      set -eux
    
      subscription-manager repos --enable=[REPO_ID]
      dnf -v -y --setopt=protected_packages= erase kernel.$(uname -m)
      dnf -v -y install kernel-rt kernel-rt-kvm tuned-profiles-nfv-host
    
      # END OF SCRIPT
  9. 스크립트를 실행하여 실시간 이미지를 구성합니다.

    (undercloud)$ virt-customize -a overcloud-realtime-compute.qcow2 -v --run rt.sh 2>&1 | tee virt-customize.log
  10. SELinux 레이블을 다시 지정합니다.

    (undercloud)$ virt-customize -a overcloud-realtime-compute.qcow2 --selinux-relabel
  11. vmlinuzinitrd 추출. 예를 들면 다음과 같습니다.

    (undercloud)$ mkdir image
    (undercloud)$ guestmount -a overcloud-realtime-compute.qcow2 -i --ro image
    (undercloud)$ cp image/boot/vmlinuz-4.18.0-80.7.1.rt9.153.el8_0.x86_64 ./overcloud-realtime-compute.vmlinuz
    (undercloud)$ cp image/boot/initramfs-4.18.0-80.7.1.rt9.153.el8_0.x86_64.img ./overcloud-realtime-compute.initrd
    (undercloud)$ guestunmount image
    참고

    vmlinuzinitramfs 파일 이름의 소프트웨어 버전은 커널 버전에 따라 다릅니다.

  12. 이미지를 업로드합니다.

    (undercloud)$ openstack overcloud image upload \
     --update-existing --os-image-name
     overcloud-realtime-compute.qcow2

    이제 선택 컴퓨팅 노드에 대해 ComputeRealTime 구성 가능 역할과 함께 사용할 수 있는 실시간 이미지가 있습니다.

  13. 실시간 컴퓨팅 노드의 대기 시간을 줄이려면 컴퓨팅 노드에서 BIOS 설정을 수정해야 합니다. 컴퓨팅 노드 BIOS 설정에서 다음 구성 요소에 대한 모든 옵션을 비활성화해야 합니다.

    • 전원 관리
    • 하이퍼-스레딩
    • CPU 절전 상태
    • 논리 프로세서

      이러한 설정에 대한 설명 및 비활성화에 미치는 영향은 BIOS 매개 변수 설정을 참조하십시오. BIOS 설정을 변경하는 방법에 대한 자세한 내용은 하드웨어 제조업체 설명서를 참조하십시오.