검색

6.7. virt-who 문제 해결 방법

download PDF

virt-who 상태 확인

virt-who 서비스의 상태를 확인합니다.

# systemctl status virt-who.service

디버그 로깅

virt-who가 기본적으로 모든 활동을 로깅하는 /var/log/rhsm/rhsm.log 파일을 확인합니다.

자세한 로깅은 /etc/virt-who.conf 파일에서 디버깅 옵션을 활성화합니다.

[global]
debug=True

변경 사항을 적용하려면 virt-who 서비스를 다시 시작하십시오.

기본 문제가 해결되면 /etc/virt-who.conf 파일을 수정하여 디버깅을 비활성화한 다음 virt-who 서비스를 다시 시작합니다.

설정 옵션 테스트

필요에 따라 변경을 수행하고 결과를 테스트하십시오. virt-who는 구성 파일, 인증 정보 및 가상화 플랫폼에 대한 연결을 테스트하는 데 도움이 되는 세 가지 옵션을 제공합니다.

  • virt-who --one-shot 명령은 구성 파일을 읽고 가상 머신 목록을 검색하여 서브스크립션 관리 시스템으로 보낸 다음 즉시 종료합니다.
  • virt-who --print 명령은 구성 파일을 읽고 가상 머신 목록을 출력하지만 서브스크립션 관리 시스템으로 보내지는 않습니다.
  • RHEL 9 Beta부터 virt-who --status 명령은 구성 파일을 읽고 소스 및 대상 시스템 모두에 대한 연결 상태에 대한 요약을 출력합니다.

    • --json 옵션과 함께 virt-who --status 명령은 각 구성에 대해 JSON 형식으로 추가 연결 데이터를 제공합니다.

virt-who --one-shotvirt-who --print 명령의 예상 출력은 하이퍼바이저와 해당 가상 머신의 목록이며 JSON 형식으로 되어 있습니다. 다음은 VMware vSphere 인스턴스에서 추출한 것입니다. 모든 하이퍼바이저의 출력은 동일한 구조를 따릅니다.

{
    "guestId": "422f24ed-71f1-8ddf-de53-86da7900df12",
    "state": 5,
    "attributes": {
        "active": 0,
        "virtWhoType": "esx",
        "hypervisorType": "vmware"
    }
},

virt-who --status 명령에 대한 예상 출력은 virt-who의 각 구성의 연결 상태에 대한 일반 텍스트 요약입니다.

+-------------------------------------------+
           Configuration Status
+-------------------------------------------+
Configuration Name: esx_config1
Source Status: success
Destination Status: success

Configuration Name: hyperv-55
Source Status: failure
Destination Status: failure

--json 옵션과 함께 virt-who --status 명령에 대한 예상 출력은 마지막 성공적인 실행을 포함하여 JSON 형식으로 각 구성에 대한 추가 정보를 제공합니다. 이 출력에는 각 구성의 성공 또는 실패 상태에 대한 세부 정보도 포함됩니다.

  • 상태 보고서에 구성 성공이 표시되면 JSON 출력에 마지막 성공적인 실행 주기 동안 virt-who가 보고한 하이퍼바이저 및 게스트 수가 포함됩니다.
  • 상태 보고서에 구성 실패가 표시되면 JSON 출력에 연결된 오류 메시지가 포함됩니다.
"configurations": [
    {
        "name":"esx-conf1",
        "source":{
            "connection":"https://esx_system.example.com",
            "status":"success",
            "last_successful_retrieve":"2020-02-28 07:25:25 UTC",
            "hypervisors":20,
            "guests":37
        },
        "destination":{
            "connection":"candlepin.example.com",
            "status":"success",
            "last_successful_send":"2020-02-28 07:25:27 UTC",
            "last_successful_send_job_status":"FINISHED"
        }
    },
    {
        "name":"hyperv-55",
        "source":{
            "connection":"windows10-3.company.com",
            "status":"failure",
            "message":"Unable to connect to server: invalid credentials",
            "last_successful_retrieve":null
        },
        "destination":{
            "connection":"candlepin.company.com",
            "status":"failure",
            "message":"ConnectionRefusedError: [Errno 111] Connection refused",
            "last_successful_send":null,
            "last_successful_send_job_status":null
        }
    }
]
}

virt-who --status 명령은 --debug--config 옵션과 함께 사용하여 구성 파일에 대한 추가 정보를 제공할 수도 있습니다.

여러 virt-who 구성 파일을 사용할 때 문제 식별

한 서버에 여러 개의 virt-who 구성 파일이 있는 경우 각 파일이 이동한 후 테스트하면서 한 번에 하나의 파일을 다른 디렉터리로 이동합니다. 문제가 더 이상 발생하지 않으면 원인은 가장 최근에 이동된 파일과 연결됩니다. 문제를 해결한 후 virt-who 구성 파일을 원래 위치로 반환합니다.

또는 --config 옵션을 사용하여 해당 위치를 지정하여 개별 파일을 이동한 후 테스트할 수 있습니다. 예를 들면 다음과 같습니다.

# virt-who --debug --one-shot --config /tmp/conf_name.conf

RHEL 9 베타부터 --debug--config 옵션과 함께 virt-who --status 를 입력하여 디렉터리에서 다른 파일을 제거하지 않고 구성 파일을 확인할 수 있습니다. 예를 들면 다음과 같습니다.

#virt-who --debug --status --config /tmp/conf_name.conf

--json 옵션으로 명령을 입력하여 JSON 형식의 각 구성에 대한 자세한 정보를 볼 수도 있습니다. 예를 들면 다음과 같습니다.

#virt-who --debug --status --json --config /tmp/conf_name.conf

중복 하이퍼바이저 확인

중복 하이퍼바이저는 서브스크립션 및 인타이틀먼트 오류가 발생할 수 있습니다. 다음 명령을 입력하여 중복 하이퍼바이저를 확인합니다.

# systemctl stop virt-who
# virt-who -op >/tmp/virt-who.json
# systemctl start virt-who
# cat /tmp/virt-who.json | json_reformat | grep name | sort | uniq -c | sort -nr | head -n10
  3    "name": "localhost"
  1    "name": "rhel1.example.com"
  1    "name": "rhel2.example.com"
  1    "name": "rhel3.example.com"
  1    "name": "rhel4.example.com"
  1    "name": "rhvh1.example.com"
  1    "name": "rhvh2.example.com"
  1    "name": "rhvh3.example.com"
  1    "name": "rhvh4.example.com"
  1    "name": "rhvh5.example.com"

이 예에서 세 개의 하이퍼바이저는 동일한 FQDN(localhost)을 가지며 고유한 FQDN을 사용하도록 수정해야 합니다.

중복 가상 머신 식별

다음 명령을 입력하여 중복 가상 머신을 확인합니다.

# systemctl stop virt-who
# virt-who -op >/tmp/virt-who.json
# systemctl start virt-who
# cat /tmp/virt-who.json | json_reformat | grep "guestId" | sort | uniq -c | sort -nr | head -n10

하이퍼바이저 수 확인

다음 명령을 입력하여 현재 보고하는 하이퍼바이저 virt-who 수를 확인합니다.

# systemctl stop virt-who
# virt-who -op >/tmp/virt-who.json
# systemctl start virt-who
# cat /tmp/virt-who.json | json_reformat | grep name | sort | uniq -c | wc -l

RHEL 9 베타부터 다음 명령을 입력하여 마지막 성공적인 실행 주기 동안 virt-who가 보고한 하이퍼바이저 수를 확인합니다.

# virt-who --status --json

가상 머신 수 확인

다음 명령을 입력하여 virt-who 현재 보고하는 가상 머신의 수를 확인합니다.

# systemctl stop virt-who
# virt-who -op >/tmp/virt-who.json
# systemctl start virt-who
# cat /tmp/virt-who.json | json_reformat | grep "guestId" | sort | uniq -c | wc -l

RHEL 9 베타부터 마지막 성공적인 실행 주기 동안 virt-who가 보고한 게스트 수를 확인하려면 다음 명령을 입력합니다.

# virt-who --status --json
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.