9.2. virtctl 명령


virtctl 클라이언트는 OpenShift Virtualization 리소스를 관리하는 명령줄 유틸리티입니다.

참고

VM(가상 머신) 명령은 달리 지정하지 않는 한 가상 머신 인스턴스에도 적용됩니다.

9.2.1. virtctl information 명령

virtctl information 명령을 사용하여 virtctl 클라이언트에 대한 정보를 봅니다.

표 9.1. 정보 명령
명령설명

virtctl version

virtctl 클라이언트 및 서버 버전을 확인합니다.

virtctl help

virtctl 명령 목록을 확인합니다.

virtctl <command> -h|--help

특정 명령의 옵션 목록을 확인합니다.

virtctl options

virtctl 명령의 글로벌 명령 옵션 목록을 확인합니다.

9.2.2. VM 정보 명령

virtctl 을 사용하여 VM 및 VMI에 대한 정보를 볼 수 있습니다.

표 9.2. VM 정보 명령
명령설명

virtctl fslist <vm_name>

게스트 시스템에서 사용 가능한 파일 시스템을 확인합니다.

virtctl guestosinfo <vm_name>

게스트 머신의 운영 체제에 대한 정보를 봅니다.

virtctl userlist <vm_name>

게스트 머신에서 로그인한 사용자를 확인합니다.

9.2.3. VM 관리 명령

virtctl VM(가상 머신) 관리 명령을 사용하여 VM 및 VMI를 관리하고 마이그레이션합니다.

표 9.3. VM 관리 명령
명령설명

virtctl create -name <vm_name>

VirtualMachine 매니페스트를 생성합니다.

virtctl start <vm_name>

VM을 시작합니다.

virtctl start --paused <vm_name>

일시 중지된 상태에서 VM을 시작합니다. 이 옵션을 사용하면 VNC 콘솔에서 부팅 프로세스를 중단할 수 있습니다.

virtctl stop <vm_name>

VM을 중지합니다.

virtctl stop <vm_name> --grace-period 0 --force

VM을 강제 중지합니다. 이 옵션을 사용하면 데이터 불일치 또는 데이터 손실이 발생할 수 있습니다.

virtctl pause vm <vm_name>

VM 일시 중지. 머신 상태는 메모리에 유지됩니다.

virtctl unpause vm <vm_name>

VM 일시 중지를 해제합니다.

virtctl migrate <vm_name>

VM을 마이그레이션합니다.

virtctl restart <vm_name>

VM을 다시 시작합니다.

9.2.4. VM 연결 명령

virtctl 연결 명령을 사용하여 포트를 노출하고 VM 및 VMI에 연결합니다.

표 9.4. VM 연결 명령
명령설명

virtctl console <vm_name>

VM의 직렬 콘솔에 연결합니다.

virtctl expose <vm_name>

VM의 지정된 포트를 전달하고 서비스를 노드의 지정된 포트에 노출하는 서비스를 생성합니다.

virtctl scp -i <ssh_key> <file_name> <user_name>@<vm_name>

시스템에서 VM으로 파일을 복사합니다. 이 명령은 SSH 키 쌍의 개인 키를 사용합니다. VM은 공개 키를 사용하여 구성해야 합니다.

virtctl scp -i <ssh_key> <user_name@<vm_name>:<file_name> .

VM에서 시스템으로 파일을 복사합니다. 이 명령은 SSH 키 쌍의 개인 키를 사용합니다. VM은 공개 키를 사용하여 구성해야 합니다.

virtctl ssh -i <ssh_key> <user_name>@<vm_name>

VM을 사용하여 SSH 연결을 엽니다. 이 명령은 SSH 키 쌍의 개인 키를 사용합니다. VM은 공개 키를 사용하여 구성해야 합니다.

virtctl vnc --kubeconfig=$KUBECONFIG <vm_name>

VM의 VNC 콘솔에 연결합니다.

VNC를 통해 VM의 그래픽 콘솔에 액세스하려면 로컬 시스템의 원격 뷰어가 필요합니다.

virtctl vnc --kubeconfig=$KUBECONFIG --proxy-only=true <vm_name>

포트 번호를 표시하고 VNC 연결을 통해 뷰어를 사용하여 VM에 수동으로 연결합니다.

virtctl vnc --kubeconfig=$KUBECONFIG --port=<port-number> <vm_name>

해당 포트를 사용할 수 있는 경우 지정된 포트에서 프록시를 실행할 포트 번호를 지정합니다.

포트 번호를 지정하지 않으면 프록시는 임의의 포트에서 실행됩니다.

9.2.5. VM 내보내기 명령

virtctl vmexport 명령을 사용하여 VM, VM 스냅샷 또는 PVC(영구 볼륨 클레임)에서 내보낸 볼륨을 생성, 다운로드 또는 삭제합니다.

표 9.5. VM 내보내기 명령
명령설명

virtctl vmexport create <vmexport_name> --vm|snapshot|pvc=<object_name>

VirtualMachineExport CR(사용자 정의 리소스)을 생성하여 VM, VM 스냅샷 또는 PVC에서 볼륨을 내보냅니다.

  • --VM: VM의 PVC를 내보냅니다.
  • --snapshot: VirtualMachineSnapshot CR에 포함된 PVC를 내보냅니다.
  • --PVC: PVC를 내보냅니다.
  • 선택 사항: --ttl=1h 는 라이브 시간을 지정합니다. 기본 기간은 2 시간입니다.

virtctl vmexport delete <vmexport_name>

VirtualMachineExport CR을 수동으로 삭제합니다.

virtctl vmexport 다운로드 <vmexport_name> --output=<output_file> --volume=<volume_name>

VirtualMachineExport CR에 정의된 볼륨을 다운로드합니다.

  • --output 은 파일 형식을 지정합니다. 예: disk.img.gz.
  • --volume 은 다운로드할 볼륨을 지정합니다. 하나의 볼륨만 사용할 수 있는 경우 이 플래그는 선택 사항입니다.

선택 사항:

  • --keep-vme 는 다운로드 후 VirtualMachineExport CR을 유지합니다. 기본 동작은 다운로드 후 VirtualMachineExport CR을 삭제하는 것입니다.
  • --insecure 는 비보안 HTTP 연결을 활성화합니다.

virtctl vmexport 다운로드 <vmexport_name> --<vm|snapshot|pvc>=<object_name> --output=<output_file> --volume=<volume_name>

VirtualMachineExport CR을 생성한 다음 CR에 정의된 볼륨을 다운로드합니다.

9.2.6. VM 메모리 덤프 명령

virtctl memory-dump 명령을 사용하여 PVC에 VM 메모리 덤프를 출력할 수 있습니다. 기존 PVC를 지정하거나 --create-claim 플래그를 사용하여 새 PVC를 생성할 수 있습니다.

사전 요구 사항

  • PVC 볼륨 모드는 FileSystem 여야 합니다.
  • PVC는 메모리 덤프를 포함할 수 있을 만큼 커야 합니다.

    PVC 크기를 계산하는 공식은 (VMMemorySize + 100Mi) * FileSystemOverhead 입니다. 여기서 100Mi 는 메모리 덤프 오버헤드입니다.

  • 다음 명령을 실행하여 HyperConverged 사용자 정의 리소스에서 핫플러그 기능 게이트를 활성화해야 합니다.

    $ oc patch hco kubevirt-hyperconverged -n openshift-cnv \
      --type json -p '[{"op": "add", "path": "/spec/featureGates", \
      "value": "HotplugVolumes"}]'

메모리 덤프 다운로드

메모리 덤프를 다운로드하려면 virtctl vmexport download 명령을 사용해야 합니다.

$ virtctl vmexport download <vmexport_name> --vm\|pvc=<object_name> \
  --volume=<volume_name> --output=<output_file>
표 9.6. VM 메모리 덤프 명령
명령설명

virtctl memory-dump get <vm_name> --claim-name=<pvc_name>

PVC에 VM의 메모리 덤프를 저장합니다. 메모리 덤프 상태는 VirtualMachine 리소스의 status 섹션에 표시됩니다.

선택 사항:

  • --create-claim 은 적절한 크기로 새 PVC를 생성합니다. 이 플래그에는 다음 옵션이 있습니다.

    • --storage-class=<storage_class& gt; : PVC의 스토리지 클래스를 지정합니다.
    • --access-mode=<access_mode&gt; : ReadWriteOnce 또는 ReadWriteMany 를 지정합니다.

virtctl memory-dump get <vm_name>

동일한 PVC를 사용하여 virtctl memory-dump 명령을 재실행합니다.

이 명령은 이전 메모리 덤프를 덮어씁니다.

virtctl memory-dump remove <vm_name>

메모리 덤프를 제거합니다.

대상 PVC를 변경하려면 메모리 덤프를 수동으로 제거해야 합니다.

이 명령은 VM과 PVC 간의 연결을 제거하여 메모리 덤프가 VirtualMachine 리소스의 status 섹션에 표시되지 않도록 합니다. PVC는 영향을 받지 않습니다.

9.2.7. 핫플러그 및 핫 플러그 해제 명령

virtctl 을 사용하여 실행 중인 VM 및 VMI에서 리소스를 추가하거나 제거합니다.

표 9.7. 핫플러그 및 핫 플러그 해제 명령
명령설명

virtctl addvolume <vm_name> --volume-name=<datavolume_or_PVC> [--persist] [--serial=<label>]

데이터 볼륨 또는 PVC(영구 볼륨 클레임)를 핫플러그합니다.

선택 사항:

  • --persist 는 VM에 가상 디스크를 영구적으로 마운트합니다. 이 플래그는 VMI에는 적용되지 않습니다.
  • --serial=<label& gt;은 VM에 레이블을 추가합니다. 라벨을 지정하지 않으면 default 레이블은 데이터 볼륨 또는 PVC 이름입니다.

virtctl removevolume <vm_name> --volume-name=<virtual_disk>

가상 디스크 핫 플러그를 해제합니다.

9.2.8. 이미지 업로드 명령

virtctl image-upload 명령을 사용하여 VM 이미지를 데이터 볼륨에 업로드합니다.

표 9.8. 이미지 업로드 명령
명령설명

virtctl image-upload dv <datavolume_name> --image-path=</path/to/image> --no-create

VM 이미지를 이미 존재하는 데이터 볼륨에 업로드합니다.

virtctl image-upload dv <datavolume_name> --size=<datavolume_size> --image-path=</path/to/image>

VM 이미지를 지정된 요청된 크기의 새 데이터 볼륨에 업로드합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.