검색

14.3. CLI를 사용하여 가상 머신에 연결된 장치 관리

download PDF

VM(가상 머신)의 기능을 수정하려면 CLI(명령줄 인터페이스)를 사용하여 VM에 연결된 장치를 관리할 수 있습니다.

14.3.1. 가상 머신에 장치 연결

새 가상 장치를 연결하여 VM(가상 머신)에 특정 기능을 추가할 수 있습니다.

다음 절차에서는 CLI(명령줄 인터페이스)를 사용하여 가상 장치를 생성하고 VM(가상 머신)에 연결합니다. 일부 장치는 RHEL 웹 콘솔을 사용하여 VM에 연결할 수도 있습니다.

예를 들어 새 가상 디스크 장치를 연결하여 VM의 스토리지 용량을 늘릴 수 있습니다. 이를 메모리 핫 플러그 라고도 합니다.

주의

RHEL 9에서는 메모리 핫 언플러그라고도 하는 VM에서 메모리 장치를 제거하는 것은 지원되지 않으며 Red Hat은 사용하지 않는 것이 좋습니다.

사전 요구 사항

  • VM에 연결하려는 장치에 필요한 옵션을 가져옵니다. 특정 장치에 사용 가능한 옵션을 보려면 virt-xml --device=? 명령을 사용합니다. 예를 들면 다음과 같습니다.

    # virt-xml --network=?
    --network options:
    [...]
    address.unit
    boot_order
    clearxml
    driver_name
    [...]

프로세스

  1. 장치를 VM에 연결하려면 장치 정의 및 필요한 옵션을 포함하여 virt-xml --add-device 명령을 사용합니다.

    • 예를 들어 다음 명령은 /var/lib/libvirt/images/ 디렉터리에 20GB newdisk qcow2 디스크 이미지를 생성하여 가상 디스크로 다음 VM 시작 시 실행 중인 testguest VM에 연결합니다.

      # virt-xml testguest --add-device --disk /var/lib/libvirt/images/newdisk.qcow2,format=qcow2,size=20
      Domain 'testguest' defined successfully.
      Changes will take effect after the domain is fully powered off.
    • 다음은 호스트의 버스 002에서 장치 004로 연결된 USB 플래시 드라이브를 VM이 실행되는 동안 testguest2 VM에 연결합니다.

      # virt-xml testguest2 --add-device --update --hostdev 002.004
      Device hotplug successful.
      Domain 'testguest2' defined successfully.

      USB 정의를 위한 버스 장치 조합은 lsusb 명령을 사용하여 얻을 수 있습니다.

검증

장치가 추가되었는지 확인하려면 다음 중 하나를 수행합니다.

  • virsh dumpxml 명령을 사용하여 장치의 XML 정의가 VM의 XML 구성의 < devices > 섹션에 추가되었는지 확인합니다.

    예를 들어 다음 출력은 testguest VM의 구성을 보여주고 002.004 USB 플래시 디스크 장치가 추가되었는지 확인합니다.

    # virsh dumpxml testguest
    [...]
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x4146'/>
        <product id='0x902e'/>
        <address bus='2' device='4'/>
      </source>
      <alias name='hostdev0'/>
      <address type='usb' bus='0' port='3'/>
    </hostdev>
    [...]
  • VM을 실행하고 장치가 있고 제대로 작동하는지 테스트합니다.

추가 리소스

  • man virt-xml 명령

14.3.2. 가상 머신에 연결된 장치 수정

연결된 가상 장치의 구성을 편집하여 VM(가상 머신)의 기능을 변경할 수 있습니다. 예를 들어 VM의 성능을 최적화하려면 호스트의 CPU와 더 잘 일치하도록 가상 CPU 모델을 변경할 수 있습니다.

다음 절차에서는 CLI(명령줄 인터페이스)를 사용하여 가상 장치를 수정하는 일반적인 지침을 제공합니다. 디스크 및 NIC와 같은 VM에 연결된 일부 장치는 RHEL 9 웹 콘솔을 사용하여 수정할 수도 있습니다.

사전 요구 사항

  • VM에 연결하려는 장치에 필요한 옵션을 가져옵니다. 특정 장치에 사용 가능한 옵션을 보려면 virt-xml --device=? 명령을 사용합니다. 예를 들면 다음과 같습니다.
# virt-xml --network=?
--network options:
[...]
address.unit
boot_order
clearxml
driver_name
[...]
  • 선택 사항: virsh dumpxml vm-name 을 사용하여 VM의 XML 구성을 백업하고 출력을 파일로 전송합니다. 예를 들어 다음은 testguest1 VM의 구성을 testguest1.xml 파일로 백업합니다.
# virsh dumpxml testguest1 > testguest1.xml
# cat testguest1.xml
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>testguest1</name>
  <uuid>ede29304-fe0c-4ca4-abcd-d246481acd18</uuid>
  [...]
</domain>

프로세스

  1. 장치 정의 및 필수 옵션을 포함하여 virt-xml --edit 명령을 사용합니다.

    예를 들어, 다음에서는 shut-off testguest VM의 < cpu > 구성을 지우고 host-model 으로 설정합니다.

    # virt-xml testguest --edit --cpu host-model,clearxml=yes
    Domain 'testguest' defined successfully.

검증

장치가 수정되었는지 확인하려면 다음 중 하나를 수행합니다.

  • VM을 실행하고 장치가 있는지 확인하고 수정 사항을 반영합니다.
  • virsh dumpxml 명령을 사용하여 장치의 XML 정의가 VM의 XML 구성에서 수정되었는지 확인합니다.

    예를 들어 다음 출력은 testguest VM의 구성을 보여주고 CPU 모드가 host-model 로 구성되어 있는지 확인합니다.

    # virsh dumpxml testguest
    [...]
    <cpu mode='host-model' check='partial'>
      <model fallback='allow'/>
    </cpu>
    [...]

문제 해결

  • 장치를 수정하면 VM을 부팅할 수 없게 되는 경우 virsh define 유틸리티를 사용하여 이전에 백업한 XML 구성 파일을 다시 로드하여 XML 구성을 복원합니다.

    # virsh define testguest.xml
참고

VM의 XML 구성을 약간 변경하려면 virsh edit 명령(예: virsh edit testguest )을 사용할 수 있습니다. 그러나 VM이 부팅되지 않도록 할 수 있는 방식으로 구성이 손상될 가능성이 높기 때문에 보다 광범위한 변경에는 이 방법을 사용하지 마십시오.

추가 리소스

  • man virt-xml 명령

14.3.3. 가상 머신에서 장치 제거

가상 장치를 제거하여 VM(가상 머신)의 기능을 변경할 수 있습니다. 예를 들어 더 이상 필요하지 않은 경우 VM 중 하나에서 가상 디스크 장치를 제거할 수 있습니다.

다음 절차에서는 CLI(명령줄 인터페이스)를 사용하여 VM(가상 머신)에서 가상 장치를 제거하는 방법을 보여줍니다. 디스크 또는 NIC와 같은 일부 장치는 RHEL 9 웹 콘솔을 사용하여 VM에서 제거할 수도 있습니다.

사전 요구 사항

  • 선택 사항: virsh dumpxml vm-name 을 사용하여 VM의 XML 구성을 백업하고 출력을 파일로 전송합니다. 예를 들어 다음은 testguest1 VM의 구성을 testguest1.xml 파일로 백업합니다.
# virsh dumpxml testguest1 > testguest1.xml
# cat testguest1.xml
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>testguest1</name>
  <uuid>ede29304-fe0c-4ca4-abcd-d246481acd18</uuid>
  [...]
</domain>

프로세스

  1. 장치 정의를 포함하여 virt-xml --remove-device 명령을 사용합니다. 예를 들면 다음과 같습니다.

    • 다음은 종료 후 실행 중인 testguest VM에서 vdb 로 표시된 스토리지 장치를 제거합니다.

      # virt-xml testguest --remove-device --disk target=vdb
      Domain 'testguest' defined successfully.
      Changes will take effect after the domain is fully powered off.
    • 다음은 실행 중인 testguest2 VM에서 USB 플래시 드라이브 장치를 즉시 제거합니다.

      # virt-xml testguest2 --remove-device --update --hostdev type=usb
      Device hotunplug successful.
      Domain 'testguest2' defined successfully.

문제 해결

  • 장치를 제거하면 VM을 부팅할 수 없게 되는 경우 virsh define 유틸리티를 사용하여 이전에 백업한 XML 구성 파일을 다시 로드하여 XML 구성을 복원합니다.

    # virsh define testguest.xml

추가 리소스

  • man virt-xml 명령
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.