13.2. 명령줄 인터페이스를 사용하여 가상 머신 스냅샷 생성


VM(가상 머신)의 상태를 스냅샷에 저장하려면 virsh snapshot-create-as 명령을 사용하면 됩니다.

사전 요구 사항

  • 호스트가 RHEL 9.4 이상을 사용하고 있습니다.
  • VM은 파일 기반 스토리지를 사용합니다. 이 경우 있는지 확인하려면 다음 명령을 사용하고 disk 장치의 경우 disk typefile로 표시하십시오.

    # virsh dumpxml <vm-name> | grep "disk type"
        <disk type='file' device='disk'>
        <disk type='file' device='cdrom'>
  • 실행 중인 VM의 메모리가 포함된 VM 스냅샷을 생성하려면 VM의 메모리를 저장하기에 충분한 디스크 공간이 있어야 합니다.

    • VM의 메모리를 저장하기 위한 최소 권장 공간은 VM의 할당된 RAM과 동일합니다. 예를 들어 32GB RAM이 있는 VM의 메모리를 저장하려면 최대 32GB의 디스크 공간이 필요합니다.
    • VM이 I/O 로드가 많은 경우 상당한 추가 디스크 공간이 필요할 수 있습니다.
    • VM에 VFIO 패스스루 장치를 할당한 경우 추가 디스크 공간이 필요할 수 있습니다.
    • VM을 일시 중지하지 않고 스냅샷을 생성하는 경우 추가 디스크 공간이 필요할 수 있습니다.

      주의

      Red Hat은 워크로드가 매우 크거나 VFIO 패스스루 장치를 사용하는 실행 중인 VM의 메모리를 저장하지 않는 것이 좋습니다. 이러한 VM의 메모리를 저장하면 호스트 디스크를 채우고 시스템의 성능이 저하될 수 있습니다. 대신 이러한 VM에 대한 메모리 없이 스냅샷을 생성하는 것이 좋습니다.

      또한 일부 VFIO 장치가 메모리로 스냅샷을 생성할 수 있는 것은 아닙니다. 현재 메모리로 스냅샷을 생성하면 연결된 VFIO 장치가 마이그레이션 기능이 활성화된 Mellanox VF인 경우에만 올바르게 작동합니다.

프로세스

  • 필수 매개 변수를 사용하여 VM 스냅샷을 생성하려면 virsh snapshot-create-as 명령을 사용합니다.

    # virsh snapshot-create-as <vm-name> <snapshot-name> <optional-description> <additional-parameters>
    • 종료 VM의 스냅샷을 생성하려면 --disk-only 매개변수를 사용합니다. 예를 들어 다음 명령은 shut-down Testguest1 VM의 현재 disk-state에서 Snapshot1 을 생성합니다.

      # virsh snapshot-create-as Testguest1 Snapshot1 --disk-only
      Domain snapshot Snapshot1 created.
    • 실행 중인 VM의 disk-state를 저장하는 스냅샷을 만들려면 --disk-only --quiesce 매개변수를 사용합니다. 예를 들어 다음 명령은 설명 clean system install 을 사용하여 실행 중인 Testguest2 VM의 현재 디스크 상태에서 Snapshot2 를 생성합니다.

      # virsh snapshot-create-as Testguest2 Snapshot2 "clean system install" --disk-only --quiesce
      Domain snapshot Snapshot2 created.
    • 실행 중인 VM을 일시 중지하고 디스크 상태 및 메모리를 저장하는 스냅샷을 생성하려면 --memspec 매개변수를 사용합니다. 예를 들어 다음 명령은 Testguest3 VM을 일시 중지하고 VM의 현재 디스크 및 메모리 상태에서 Snapshot3 을 생성합니다. VM 메모리는 /var/lib/libvirt/images/saved_memory.img 파일에 저장됩니다. 스냅샷이 완료되면 VM이 작업을 자동으로 다시 시작합니다.

      # virsh snapshot-create-as Testguest3 Snapshot3 --memspec /var/lib/libvirt/images/saved_memory.img
      Domain snapshot Snapshot3 created.

      스냅샷 프로세스 중에 VM을 일시 중지하면 다운 타임이 발생하지만 특히 로드가 많은 VM의 경우 실행 중인 VM의 실시간 스냅샷을 생성하는 것보다 더 안정적으로 작동할 수 있습니다.

    • 실행 중인 VM과 라이브 메모리의 disk-state를 저장하는 스냅샷을 생성하려면 --live --memspec 매개변수를 사용합니다. 예를 들어 다음 명령은 실행 중인 Testguest4 VM의 현재 디스크 및 메모리 상태에서 Snapshot4 를 생성하고 메모리 상태를 /var/lib/libvirt/images/saved_memory2.img 파일에 저장합니다.

      # virsh snapshot-create-as Testguest4 Snapshot4 --live --memspec /var/lib/libvirt/images/saved_memory2.img
      Domain snapshot Snapshot4 created.
주의

VM의 메모리를 스냅샷에 저장하면 실행 중인 프로세스의 상태가 VM의 게스트 운영 체제에 저장됩니다. 그러나 이러한 스냅샷으로 되돌리면 네트워크 연결 손실 또는 동기화되지 않은 시스템 시간 등 다양한 요인으로 인해 프로세스가 실패할 수 있습니다.

검증

  1. 지정된 VM과 연결된 스냅샷을 나열합니다.

    # virsh snapshot-list <Testguest1>
    
     Name                    Creation Time               State
    --------------------------------------------------------------
    Snapshot1               2024-01-30 18:34:58 +0100   shutoff
  2. 스냅샷이 external 로 생성되었는지 확인합니다.

    # virsh snapshot-dumpxml <Testguest1> <Snapshot1> | grep external
    
      <disk name='vda' snapshot='external' type='file'>

    이 명령의 출력에 snapshot='external' 이 포함된 경우 스냅샷은 외부이므로 Red Hat에서 완전히 지원합니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.