6.15.3. KVM 가상 머신 타이밍 관리
pvclock 은 이를 지원하는 KVM 게스트에 대한 안정적인 타이밍 소스를 제공합니다.
- 시계가 세션을 무효화하고 네트워크에 영향을 미치는 실제 시간과 동기화되지 않을 수 있습니다.
- 클럭이 느린 가상 머신은 마이그레이션에 문제가 있을 수 있습니다.
서비스를 활성화하고 기본 시작 순서에 추가합니다.
- For Red Hat Enterprise Linux 6
# service ntpd start # chkconfig ntpd on - For Red Hat Enterprise Linux 7
# systemctl start ntpd.service # systemctl enable ntpd.service
사용하면 모든 경우에 클럭 불일치가 미치는 영향을 최소화해야 합니다.
CPU에 고정 시간 스페어가 있는지 확인
constant_tsc 플래그가 있는 경우 CPU에 고정 시간 StampECDHE이 있습니다. CPU에 constant_tsc 플래그가 있는지 확인하려면 다음 명령을 실행합니다.
$ cat /proc/cpuinfo | grep constant_tsc
constant_tsc bit가 있습니다. 출력이 없는 경우 아래 지침을 따릅니다.
일정한 시간 Stamp를 사용하지 않는 호스트 구성
일정한 타임스탬프 카운터가 없는 시스템에는 추가 구성이 필요합니다. 전원 관리 기능은 정확한 시간 유지를 방해하며 KVM을 통해 시간을 정확하게 유지하려면 가상 머신을 비활성화해야 합니다.
constant_tsc bit가 없는 경우 모든 전원 관리 기능(BZ#513138)을 비활성화합니다. 각 시스템에는 시간을 유지하기 위해 사용하는 여러 타이머가 있습니다. TSC는 호스트에서 안정적이지 않으며, 이로 인해 cpufreq 변경, 딥 C 상태 또는 더 빠른 TSC가 있는 호스트로의 마이그레이션으로 인해 발생하는 경우가 있습니다. 깊은 C 수면 상태는 TSC를 중지할 수 있습니다. 딥 C 상태를 사용하는 커널이 호스트의 grub.conf 파일의 커널 부팅 옵션에 "processor.max_cstate=1"을 추가합니다.
term Red Hat Enterprise Linux Server (2.6.18-159.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-159.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet processor.max_cstate=1
/etc/sysconfig/cpuspeed 구성 파일을 편집하고 MIN_SPEED 및 MAX_SPEED 변수를 사용 가능한 가장 높은 빈도로 변경하여 cpufreq ( constant_tsc없이 호스트에서만 필요)를 비활성화합니다. 유효한 제한은 /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies 파일에서 확인할 수 있습니다.
호스트가 동기화되지 않을 때 engine-config 툴을 사용하여 경고를 수신합니다.
engine-config 도구를 사용하여 호스트가 동기화되지 않을 때 경고를 구성할 수 있습니다.
EnableHostTimeDrift 및 HostTimeDriftInSec 의 두 가지입니다. 기본값이 false인 EnableHostTimeDrift 은 호스트 시간 드리프트에 대한 경고 알림을 수신하도록 활성화할 수 있습니다. HostTimeDriftInSec 매개변수는 경고가 전송되기 전에 허용되는 최대 드리프트를 설정하는 데 사용됩니다.
Red Hat Enterprise Linux 가상 머신에서 반가상화 클럭 사용
특정 Red Hat Enterprise Linux 가상 머신의 경우 추가 커널 매개 변수가 필요합니다. 이러한 매개변수는 가상 시스템의 /boot/grub/grub.conf 파일에 있는 /kernel 행의 끝에 추가하여 설정할 수 있습니다.
/boot/grub/ 디렉터리에 새로운 grub.conf.kvm 파일이 생성됩니다. 이 파일에는 추가 커널 매개변수가 포함된 커널 부팅 행이 포함되어 있으며 KVM 가상 머신에서 커널이 고려될 수 있고 클럭이 상당한 드리프트가 발생하지 않도록 합니다. fix_clock_drift.sh 를 슈퍼 유저로 실행한 후, 스크립트가 grub.conf.kvm 파일을 생성한 후 시스템 관리자가 수동으로 백업해야 하는 경우 새로운 grub.conf.kvm 파일을 수동으로 검사해야 추가 부팅 줄 매개 변수를 제외하고 grub.conf.kvm 파일을 수동으로 검사해야 합니다. grub.conf.kvm 파일의 이름이 grub.conf 여야 하며 가상 머신을 재부팅해야 합니다.