8.10. libvirt를 사용한 가상 머신 타이머 관리
게스트 가상 머신을 정확하게 유지하는 것은 가상화 플랫폼의 핵심 과제입니다. 다른 하이퍼바이저는 다양한 방법으로 유지하는 시간을 처리하려고 합니다. libvirt는 도메인 XML의 <clock> 및 <timer> 요소를 사용하여 시간 관리를 위해 하이퍼바이저 독립 구성 설정을 제공합니다. domain XML은 virsh edit 명령을 사용하여 편집할 수 있습니다. 자세한 내용은 14.6절. “게스트 가상 머신의 구성 파일 편집” 를 참조하십시오.
<clock>
요소는 게스트 가상 시스템 시계가 호스트 물리적 시스템 클럭과 어떻게 동기화되는지 결정하는 데 사용됩니다. clock 요소에는 다음과 같은 속성이 있습니다.
오프셋
은 게스트 가상 머신 클럭이 호스트 실제 머신 클럭에서 오프셋되는 방식을 결정합니다. offset 속성에는 다음과 같은 가능한 값이 있습니다.표 8.1. 특성 값 오프셋 값 설명 utc 부팅 시 게스트 가상 머신 클럭이 UTC에 동기화됩니다. 현지 시간 게스트 가상 머신 클럭은 부팅될 때 호스트 물리적 시스템의 구성된 시간대(있는 경우)에 동기화됩니다. timezone 게스트 가상 머신 클럭은 timezone
특성으로 지정된 지정된 시간대에 동기화됩니다.변수 게스트 가상 머신 클럭은 UTC의 임의의 오프셋에 동기화됩니다. UTC를 기준으로 하는 delta는 조정
특성을 사용하여 초 단위로 지정됩니다. 게스트 가상 머신은 시간 경과에 따라 RTC(Real Time Clock)를 자유롭게 조정할 수 있으며 다음 재부팅 시에도 적용됩니다. 이는utc
모드와 달리, 각 재부팅 시 RTC 조정이 손실됩니다.참고값 utc 는 기본적으로 가상 머신에서 클럭 오프셋으로 설정됩니다. 그러나 게스트 가상 머신 클럭이 localtime 값으로 실행되는 경우 게스트 가상 머신 클럭을 호스트 물리적 시스템 클럭과 동기화하려면 클럭 오프셋을 다른 값으로 변경해야 합니다.timezone
속성은 게스트 가상 시스템 클럭에 사용되는 시간대를 결정합니다.조정
속성은 게스트 가상 머신 클럭 동기화를 위해 delta를 제공합니다. UTC를 기준으로 하는 시간(초)입니다.
예 8.1. 항상 UTC와 동기화
<clock offset="utc" />
예 8.2. 항상 호스트 실제 시스템 시간대와 동기화
<clock offset="localtime" />
예 8.3. 임의의 시간대에 동기화
<clock offset="timezone" timezone="Europe/Paris" />
예 8.4. UTC + 임의의 오프셋과 동기화
<clock offset="variable" adjustment="123456" />
8.10.1. 클럭을 위한 타이머 하위 요소
시계 요소에는 0개 이상의 타이머 요소가 자식으로 있을 수 있습니다. timer 요소는 게스트 가상 머신 클럭 동기화에 사용되는 시간 소스를 지정합니다. timer 요소에는 다음과 같은 속성이 있습니다.
이름만
필요하며 다른 모든 속성은 선택 사항입니다.
name
속성은 사용할 시간 소스의 유형을 지시하며 다음 중 하나일 수 있습니다.
값 | 설명 |
---|---|
pit | Custom Interval timer - 주기적인 인터럽트가 있는 타이머입니다. |
rtc | 실시간 시계 - 주기적인 인터럽트를 사용하여 지속적으로 실행되는 타이머입니다. |
tsc | Time Stamp counter - 재설정 이후의 틱 수를 계산하고, 인터럽트가 없습니다. |
kvmclock | KVM 클럭 - KVM 게스트 가상 머신에 권장되는 클럭 소스입니다. KVM pvclock 또는 kvm-clock을 사용하면 게스트 가상 머신이 호스트 물리적 시스템의 월 시계 시간을 읽을 수 있습니다. |