6.5. virt-who 구성


중요

환경 변수를 사용하고 sysconfig 파일을 사용하여 virt-who를 구성하는 것은 더 이상 사용되지 않습니다. 다음 주요 릴리스에서 해당 사용은 무시됩니다.

지원되는 virt-who 구성은 각 가상화 플랫폼에 따라 다릅니다.

  • Red Hat 제품의 virt-who를 구성하려면 Red Hat 하이퍼바이저에 virt-who 설치 및 구성 을 참조하십시오.
  • VMware vCenter에 대한 virt-who를 구성하려면 VMware vCenter에 연결하도록 virt-who 구성 을 참조하십시오.
  • Microsoft Hyper-V용 virt-who를 구성하려면 Microsoft-Hyper -V에 연결하도록 virt-who 구성 을 참조하십시오.
  • OpenShift Virtualization용 virt-who를 구성하려면 OpenShift Virtualization에 연결하도록 virt-who 구성 을 참조하십시오.

6.5.1. Red Hat 하이퍼바이저에 virt-who 설치 및 구성

다음 절차에 따라 KVM(Red Hat Enterprise Linux Virtualization)(KVM), Red Hat Virtualization 또는 Red Hat OpenStack Platform의 각 하이퍼바이저에 virt-who를 설치하고 구성합니다.

사전 요구 사항

  • 하이퍼바이저를 Red Hat 서브스크립션 관리에 등록합니다.
  • RHVH(Red Hat Virtualization Host)를 사용하는 경우 최소 virt-who 버전을 사용할 수 있도록 최신 버전으로 업데이트합니다. virt-who는 기본적으로 RHVH에서 사용할 수 있지만 rhel-7-server-rhvh-4-rpms 리포지토리에서 개별적으로 업데이트할 수 없습니다.

프로세스

  1. 하이퍼바이저에 virt-who를 설치합니다.

    # yum install virt-who
  2. 선택 사항: /etc/virt-who.conf 파일을 편집하여 글로벌 설정을 변경하거나 추가합니다. virt-who가 로컬로 설치되므로 이러한 설정은 이 하이퍼바이저에만 적용됩니다.

    • virt-who가 하이퍼바이저를 쿼리하는 빈도를 지정하도록 VIRT Cryostat_INTERVAL 의 값을 변경합니다. 가상 머신에 최대 7일 동안 임시 서브스크립션이 부여되므로 빈번한 쿼리가 필요하지 않으므로 환경 크기에 맞는 간격을 선택할 수 있습니다. 하루에 한 번 (1440)은 대부분의 환경에 적합합니다.
    • virt-who 통신에 HTTP 프록시를 사용하려면 프록시를 지정하는 행을 추가합니다.

      http_proxy=https://proxy.example.com:443
    • 이 서버의 virt-who 통신에 HTTP 프록시를 사용하지 않으려면 다음 행을 추가합니다.

      NO_PROXY=*
      참고

      NO_PROXY=*/etc/sysconfig/virt-who 에서만 사용할 수 있습니다.

      NO_PROXY/etc/virt-who.conf 의 유효한 구성이 아닙니다.

  3. 템플릿 구성 파일을 새 개별 구성 파일에 복사합니다.

    # cp /etc/virt-who.d/template.conf /etc/virt-who.d/local.conf
  4. 방금 생성한 구성 파일을 편집하여 예제 값을 구성과 관련된 값으로 변경합니다.

    [local] 1
    type=libvirt 2
    owner=1234567 3
    hypervisor_id=hostname 4
    1
    이 구성 파일은 virt-who의 이 인스턴스에서 관리하는 유일한 구성 파일이므로 이름은 고유할 필요가 없습니다.
    2
    이 virt-who 연결이 Red Hat 하이퍼바이저에 연결되도록 지정합니다.
    3
    하이퍼바이저가 속한 조직입니다. 하이퍼바이저에서 subscription-manager orgs 를 실행하여 조직을 찾을 수 있습니다.
    4
    하이퍼바이저를 식별하는 방법을 지정합니다. 호스트 이름을 사용하여 서브스크립션 관리에 의미 있는 호스트 이름을 제공합니다. 또는 하이퍼바이저의 이름이 변경된 경우 uuid 를 사용하여 중복을 방지할 수 있습니다. 개별 하이퍼바이저에는 hwuuid 를 사용하지 마십시오.
  5. virt-who 서비스를 시작하고 활성화합니다.

    # systemctl enable --now virt-who

각 하이퍼바이저에 대해 이 단계를 반복합니다.

6.5.2. VMware vCenter에 연결하도록 virt-who 구성

VMware vCenter Server에 연결하도록 virt-who를 구성하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • vCenter Server에 읽기 전용 virt-who 사용자를 생성합니다. virt-who 사용자는 vCenter Data Center의 모든 오브젝트에 대한 읽기 전용 액세스 권한이 필요합니다.
  • Red Hat Enterprise Linux 서버에서 virt-who 호스트를 준비합니다.

프로세스

  1. virt-who 호스트에서 virt-who-password 유틸리티를 사용하여 virt-who 사용자의 암호를 암호화합니다.

    # virt-who-password

    메시지가 표시되면 virt-who 사용자의 암호를 입력한 다음 암호화된 암호 형식을 기록합니다.

  2. 템플릿 구성 파일을 새 개별 구성 파일에 복사합니다.

    # cp /etc/virt-who.d/template.conf /etc/virt-who.d/vcenter1.conf

    문제 해결 시 구성 파일을 쉽게 식별할 수 있도록 VMware vCenter 호스트 이름을 새 파일의 이름으로 사용합니다. 이 예에서 호스트 이름은 vcenter1 입니다.

  3. 방금 생성한 구성 파일을 편집하여 구성과 관련된 예제 값을 변경합니다.

    [vcenter1] 1
    type=esx 2
    server=vcenter1.example.com 3
    username=virt_who_user 4
    encrypted_password=bd257f93d@482B76e6390cc54aec1a4d 5
    owner=1234567 6
    hypervisor_id=hostname 7
    filter_hosts=esx1.example.com, esx2.example.com 8
    1
    이름은 개별 구성 파일에 대해 고유해야 합니다. vCenter Server 호스트 이름을 사용하여 각 하이퍼바이저의 구성 파일을 쉽게 식별할 수 있습니다.
    2
    이 virt-who 연결이 VMware vCenter Server에 연결되도록 지정합니다.
    3
    vCenter 서버의 FQDN입니다.
    4
    vCenter Server의 virt-who 사용자 이름입니다.
    5
    virt-who 사용자의 암호화된 암호입니다.
    6
    하이퍼바이저가 속한 조직입니다. 하이퍼바이저에서 subscription-manager orgs 를 실행하여 조직을 찾을 수 있습니다.
    7
    하이퍼바이저를 식별하는 방법을 지정합니다. 호스트 이름을 사용하여 서브스크립션 관리에 의미 있는 호스트 이름을 제공합니다. 또는 uuid 또는 hwuuid 를 사용하여 하이퍼바이저의 이름이 변경된 경우 중복을 방지할 수 있습니다.
    8
    일부 하이퍼바이저에서 Red Hat Enterprise Linux 가상 머신을 실행하지 않는 경우 해당 하이퍼바이저를 virt-who에 보고할 필요가 없습니다. 다음 옵션 중 하나를 사용하여 하이퍼바이저를 필터링할 수 있습니다. 와일드카드 및 정규식이 지원됩니다. 이름에 특수 문자가 포함된 경우 따옴표로 묶습니다.
    • filter_hosts 또는 exclude_hosts: 지정된 hypervisor_id 에 따라 쉼표로 구분된 하이퍼바이저 목록을 제공합니다. 예를 들어 하이퍼바이저가 호스트 이름으로 식별되는 경우 호스트 이름으로 포함되거나 제외되어야 합니다.
    • filter_host_parents 또는 exclude_host_parents: 쉼표로 구분된 클러스터 목록을 제공합니다. 필터링된 클러스터의 하이퍼바이저는 virt-who에 의해 보고됩니다. 제외된 클러스터의 하이퍼바이저는 virt-who에 의해 보고되지 않습니다.
  4. virt-who 서비스를 다시 시작하십시오.

    # systemctl restart virt-who

각 vCenter Server에 대해 이 단계를 반복합니다.

6.5.3. Microsoft Hyper-V에 연결하도록 virt-who 구성

Microsoft Hyper-V 하이퍼바이저에 연결하도록 virt-who를 구성하려면 다음 절차를 사용하십시오.

사전 요구 사항

  • Red Hat Enterprise Linux 9 이상.
  • Red Hat Enterprise Linux 서버에서 virt-who 호스트를 준비합니다.
  • 하이퍼바이저의 기본 인증 모드를 활성화합니다.
  • 하이퍼바이저에서 원격 관리를 활성화합니다.
  • 하이퍼바이저에 읽기 전용 virt-who 사용자를 생성합니다.

프로세스

  1. virt-who 호스트에서 virt-who-password 유틸리티를 사용하여 하이퍼바이저의 virt-whoho 사용자의 암호를 암호화합니다.

    # virt-who-password

    메시지가 표시되면 virt-who 사용자의 암호를 입력한 다음 암호화된 암호 형식을 기록합니다.

  2. 템플릿 구성 파일을 새 개별 구성 파일에 복사합니다.

    # cp /etc/virt-who.d/template.conf /etc/virt-who.d/hyperv1.conf

    문제 해결 시 구성 파일을 쉽게 식별할 수 있도록 하이퍼바이저의 호스트 이름을 새 파일의 이름으로 사용합니다. 이 예에서 호스트 이름은 hyperv1 입니다.

  3. 방금 생성한 구성 파일을 편집하여 구성과 관련된 예제 값을 변경합니다.

    [hyperv1] 1
    type=hyperv 2
    server=hyperv1.example.com 3
    username=virt_who_user 4
    encrypted_password=bd257f93d@482B76e6390cc54aec1a4d 5
    owner=1234567 6
    hypervisor_id=hostname 7
    1
    이름은 개별 구성 파일에 대해 고유해야 합니다. 하이퍼바이저의 호스트 이름을 사용하여 각 하이퍼바이저의 구성 파일을 쉽게 식별할 수 있습니다.
    2
    이 virt-who 연결이 Microsoft Hyper-V 하이퍼바이저에 연결되도록 지정합니다.
    3
    Hyper-V 하이퍼바이저의 FQDN입니다.
    4
    하이퍼바이저의 virt-who 사용자 이름입니다.
    5
    virt-who 사용자의 암호화된 암호입니다.
    6
    하이퍼바이저가 속한 조직입니다. 하이퍼바이저에서 subscription-manager orgs 를 실행하여 조직을 찾을 수 있습니다.
    7
    하이퍼바이저를 식별하는 방법을 지정합니다. 호스트 이름을 사용하여 서브스크립션 관리에 의미 있는 호스트 이름을 제공합니다. 또는 하이퍼바이저의 이름이 변경된 경우 uuid 를 사용하여 중복을 방지할 수 있습니다. 개별 하이퍼바이저에는 hwuuid 를 사용하지 마십시오.
  4. virt-who 서비스를 다시 시작하십시오.

    # systemctl restart virt-who

각 하이퍼바이저에 대해 이 단계를 반복합니다.

6.5.4. OpenShift Virtualization에 연결하도록 virt-who 구성

지원되는 플랫폼

virt-who에서 OpenShift Virtualization 지원 상태:

  • virt-who-0.28.x-1.el7 (RHEL 7.9)
  • virt-who-0.29.x-1.el8 (RHEL 8.3)

프로세스

  1. 구독하려는 클러스터에서 virt-who라는 프로젝트 및 서비스 계정을 생성합니다.

    $ oc new-project virt-who
    $ oc create serviceaccount virt-who
  2. 클러스터 역할을 생성하여 노드 및 가상 머신 인스턴스를 나열합니다.

    $ oc create clusterrole lsnodes --verb=list --resource=nodes
    $ oc create clusterrole lsvmis --verb=list --resource=vmis
  3. 클러스터 역할 바인딩을 생성합니다.

    $ oc adm policy add-cluster-role-to-user lsnodes system:serviceaccount:virt-who:virt-who
    $ oc adm policy add-cluster-role-to-user lsvmis system:serviceaccount:virt-who:virt-who
  4. virt-who 시스템 계정에 실행 중인 모든 VM을 나열할 수 있는 권한이 있는지 확인합니다.

    $ oc get vmis -A --as=system:serviceaccount:virt-who:virt-who
  5. OpenShift Virtualization 자체에서 실행되는 VM일 수 있는 호스트에 virt-who를 설치합니다.

    [virtwho-host]$ yum install virt-who
  6. 서브스크립션 호스트에서 소유자 번호를 찾습니다.

    $ subscription-manager orgs
  7. 템플릿 구성 파일을 새 개별 구성 파일에 복사합니다. 문제 해결 시 구성 파일을 쉽게 식별할 수 있도록 클러스터 API의 호스트 이름을 사용합니다. 이 예에서 호스트 이름은 openshift-cluster-1 입니다.

    [virtwho-host]# cp /etc/virt-who.d/template.conf /etc/virt-who.d/openshift-cluster-1.conf
    [cnv]
    type=kubevirt
    kubeconfig=/root/.kube/config
    hypervisor_id=hostname
    owner=<owner_number>
  8. virt-who 서비스 계정의 토큰을 가져옵니다.

    # oc serviceaccounts get-token virt-who
  9. /usr/bin/oc 을 사용할 수 없는 경우 /usr/bin/oc 을 설치하고 토큰을 사용하여 로그인하고 유효한 kubeconfig 파일을 생성합니다. url을 포함하여 클러스터 API를 지정해야 합니다. 예를 들면 다음과 같습니다.

    [virtwho-host]# oc login https://api.testcluster-1.example.org:6443 --token=<token>
    1. kubeconfig 파일에서 OpenShift Virtualization 인증서 인증 (CA) 인증서를 사용하려면 클러스터에서 추출하여 virt-who를 컨트롤러 데몬으로 실행하는 시스템의 파일에 저장합니다.

      oc get secret -n openshift-kube-apiserver-operator loadbalancer-serving-signer -o jsonpath='{.data.tls\.crt}' | base64 -d > $cluster-ca.pem
    2. 추출된 CA 인증서를 포함하도록 kubeconfig 파일을 변경합니다. 예를 들면 다음과 같습니다.

      [virtwho-host]$ cat /root/.kube/config
      apiVersion: v1
      clusters:
      - cluster:
          server: https://api.testcluster.example.org:6443
          certificate-authority: /root/testcluster-ca.pem
        name: api-testcluster-example-org:6443
      contexts:
      - context:
          cluster: api-test-cluster-example-org:6443
          namespace: default
  10. 서비스를 시작하기 전에 구성을 수동으로 테스트할 수 있습니다.

    [virtwho-host]# virt-who --print
참고

jq 프로그램이 설치되어 있으면 출력을 더 쉽게 읽을 수 있습니다. # virt-who --print | jq

  1. virt-who 서비스를 활성화합니다.

    [virtwho-host]# systemctl enable virt-who
  2. virt-who 서비스를 다시 시작하여 새 구성을 사용합니다.

    [virtwho-host]# systemctl restart virt-who

virt-who 로그는 /var/log/rhsm/rhsm.log 에서 사용할 수 있습니다. 이 파일에서 구성 또는 연결 오류를 볼 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.