호스트 종료시 KVM이 자동으로 게스트를 일시 중단하거나 종료 할 수 있습니까?


16

우리는 CentOS 5.5 KVM 호스트를 가지고 있으며, 다양한 버전의 CentOS 및 가능하면 다른 OS로 게스트를 실행합니다.

(a) 호스트 종료시 (a) 모든 게스트에게 자동으로 ACPI 종료를 보내거나 (b) 모든 게스트를 디스크로 일시 중지 할 수 있기를 원합니다.

이들 중 하나를 수행하기위한 표준 방법이 있습니까, 아니면 롤-로즈 상황입니까? 감사!

답변:


5

예.

virsh shutdown명령 (또는 같이 libvirt를 사용 "종료"의 다른 구현은 virt-manager) 완전히 종료하는 게스트 OS를 지시합니다. 매뉴얼 페이지에서 :

   shutdown domain-id

   Gracefully shuts down a domain.  This coordinates with the domain
   OS to perform graceful shutdown, so there is no guarantee that it
   will succeed, and may take a variable length of time depending on
   what services must be shutdown in the domain.

   The exact behavior of a domain when it shuts down is set by the
   on_shutdown parameter in the domain’s XML definition.

KVM을 사용하면 ACPI system_powerdown 이벤트를 보내야합니다.

Fedora 및 RHEL 6에서는 libvirt-guests시스템 종료시 모든 게스트를 일시 중지하도록 구성된 init 스크립트가 기본 제공됩니다. 그러나 특히 마술은 아니므로 거의 수정하지 않고 이것을 CentOS 5에 복사 할 수 있습니다.


좋은 아이디어입니다. Fedora 머신이 있습니다. CentOS5로 백 포트 할 것입니다. 감사.
Andrew Clegg

doco에서 on_shutdown을 볼 수 없습니다 : libvirt.org/formatdomain.html#elements 라이프 사이클
Thiago Figueiro

흠. 예, 코드에서 의심스럽게 누락되었습니다 . 무엇 libvirt-guests스크립트가 실제로 하는 일은 실행됩니다 virsh managedsave. (UML 드라이버 만 system_powerdown을 지원하는 것 같습니다.) 감사합니다! 답변을 업데이트하고 설명서에 버그를 신고합니다.
mattdm


0

내가 아는 한 CentOS에 대한 표준 스크립트는 없습니다. 종료하는 데 시간이 오래 걸리는 게스트를 처리해야하므로 코드를 작성할 수 있지만 약간 위험합니다. 시간 초과 후 데이터를 삭제하면 데이터가 손상 될 수 있으며 데이터를 기다리면 종료가 중단 될 수 있습니다.

대신 재부팅하기 전에 게스트를 수동으로 종료하는 것이 좋습니다. 잠시 동안 종료 및 재부팅을 대체하는 스크립트가있었습니다. 이 스크립트는 실행중인 게스트 (가상 머신 목록에 간단한 lc)가 있는지 경고하고 실행중인 게스트가있는 경우 명령을 차단했습니다.


-2

KVM 게스트는 단지 사용자 공간 프로세스입니다. 프로세스 모니터링이 필요합니다. 가장 일반적인 것은 libvirt 인 것 같습니다 (RedHat에 의해 개발되었으므로 CentOS에서 사용할 수 있어야합니다).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.