Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.2. libvirt를 사용하여 QEMU 게스트 에이전트 사용

QEMU 게스트 에이전트를 설치하면 다양한 libvirt 명령이 더 강력해집니다. 게스트 에이전트는 다음 virsh 명령을 향상시킵니다.
  • virsh shutdown --mode=agent - QEMU 게스트 에이전트와 함께 사용되는 virsh shutdown --mode=acpi 이므로 virsh shutdown --mode=acpi 보다 안정성이 높습니다. 에이전트가 존재하지 않는 경우 libvirt는 ACPI 종료 이벤트를 삽입해야 하지만 일부 게스트는 해당 이벤트를 무시하므로 종료하지 않습니다.
    virsh reboot 에 대해 동일한 구문으로 사용할 수 있습니다.
  • virsh snapshot-create --quiesce - 스냅샷이 생성되기 전에 게스트가 I/O를 stable 상태로 플러싱할 수 있으므로 fsck를 수행하거나 부분 데이터베이스 트랜잭션을 손실하지 않고도 스냅샷을 사용할 수 있습니다. 게스트 에이전트에서는 게스트의 작동을 통해 높은 수준의 디스크 콘텐츠 안정성을 확보할 수 있습니다.
  • virsh domfsfreezevirsh domfsthaw - 게스트 파일 시스템을 분리합니다.
  • virsh domfstrim - 게스트에서 파일 시스템을 트리밍합니다.
  • virsh domtime - 게스트의 클럭을 설정하거나 쿼리합니다.
  • virsh setvcpus --guest - 게스트에서 CPU를 오프라인으로 전환합니다.
  • virsh domifaddr --source 에이전트 - 게스트 에이전트를 통해 게스트 운영 체제의 IP 주소를 조회합니다.
  • virsh domfsinfo - 실행 중인 게스트 내에 마운트된 파일 시스템 목록을 표시합니다.
  • virsh set-user-password - 게스트에서 사용자 계정의 암호를 설정합니다.

11.2.1. 게스트 디스크 백업 생성

libvirtqemu-guest-agent 와 통신하여 게스트 가상 시스템 파일 시스템의 스냅샷이 내부적으로 일관성을 유지하고 필요에 따라 사용할 준비가 되었는지 확인할 수 있습니다. 게스트 시스템 관리자는 애플리케이션별 freeze/thaw 후크 스크립트를 작성하고 설치할 수 있습니다. 파일 시스템을 해제하기 전에 qemu-guest-agent 는 기본 후크 스크립트( qemu-guest-agent 패키지에 포함되어 있음)를 호출합니다. 해제 프로세스는 모든 게스트 가상 머신 애플리케이션을 일시적으로 비활성화합니다.
스냅샷 프로세스는 다음 단계로 구성됩니다.
  • 파일 시스템 애플리케이션/데이터베이스가 가상 디스크에 작업 버퍼를 플러시하고 클라이언트 연결 수락 중지
  • 애플리케이션에서 데이터 파일을 일관된 상태로 가져옵니다.
  • 기본 후크 스크립트 반환
  • QEMU-guest-agent 는 파일 시스템을 정지하고 관리 스택에서 스냅샷을 만듭니다.
  • 스냅샷이 확인됨
  • 파일 시스템 기능 재개
이 기능은 다음과 같은 순서로 수행됩니다.
게스트 파일 시스템의 스냅샷을 생성하려면 virsh snapshot-create --quiesce --disk-only 명령(이론적으로 virsh snapshot-create-create-as guest_name --quiesce --disk-only )을 실행합니다. 20.39.2절. “현재 게스트 가상 머신의 스냅샷 생성”에 자세히 설명되어 있습니다.
참고
애플리케이션별 후크 스크립트에는 스크립트가 데이터베이스와 통신하기 위해 소켓에 연결해야 하는 경우와 같이 올바르게 실행되기 위해 다양한 SELinux 권한이 필요할 수 있습니다. 일반적으로 이러한 목적으로 로컬 SELinux 정책을 개발하고 설치해야 합니다. 파일 시스템 노드에 액세스하면 /etc/qemu-ga/fsfreeze-hook.d/ 에서 레이블이 지정된 표 행에서 표 11.1. “QEMU 게스트 에이전트 패키지 콘텐츠” 에 나열된 restorecon -FvvR 명령을 실행하면 됩니다.
qemu-guest-agent 바이너리 RPM에는 다음 파일이 포함되어 있습니다.

표 11.1. QEMU 게스트 에이전트 패키지 콘텐츠

파일 이름 설명
/usr/lib/systemd/system/qemu-guest-agent.service QEMU 게스트 에이전트의 서비스 제어 스크립트(시작/중지)입니다.
/etc/sysconfig/qemu-ga /usr/lib/systemd/system/qemu-guest-agent.service 제어 스크립트에서 읽어오는 QEMU 게스트 에이전트의 구성 파일입니다. 설정은 쉘 스크립트 주석이 있는 파일에 설명되어 있습니다.
/usr/bin/qemu-ga QEMU 게스트 에이전트 바이너리 파일.
/etc/qemu-ga 후크 스크립트용 루트 디렉터리입니다.
/etc/qemu-ga/fsfreeze-hook 기본 후크 스크립트입니다. 여기에 어떤 수정도 필요하지 않습니다.
/etc/qemu-ga/fsfreeze-hook.d 개별 애플리케이션별 후크 스크립트의 디렉터리입니다. 게스트 시스템 관리자는 후크 스크립트를 이 디렉터리에 수동으로 복사하여 해당 디렉터리에 적합한 파일 모드 비트를 확인한 다음 이 디렉터리에서 restorecon -FvvR 을 실행해야 합니다.
/usr/share/qemu-kvm/qemu-ga/ 샘플 스크립트가 있는 디렉터리(예: 전용) 여기에 포함된 스크립트는 실행되지 않습니다.
기본 후크 스크립트 /etc/qemu-ga/fsfreeze-hook 는 애플리케이션별 스크립트의 표준 출력 및 오류 메시지, /var/log/qemu-ga/fsfreeze-hook.log.log를 기록합니다. 자세한 내용은 libvirt 업스트림 웹 사이트를 참조하십시오.