가상 머신에서 가상 머신을 일시 중지하고 시스템을 다시 시작하지 않고 인터넷 연결을 끊었습니다. 재부팅하지 않고 절전 모드에서 시스템을 부팅하면 시스템 시계가 중단된 부분부터 계속 작동하여 정확한 시간을 표시하지 못합니다. 이 상황에서는 어떻게 해야 합니까?
- 1시간 동안의 나의 시간 데이터앞으로VM을 일시 중지했습니다(호스트에 대해서도 라이브임).
% chronyc sourcestats
---------------------
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
131.153.171.22 6 4 139 -46792.738 67288.219 -326ms 890ms
108.175.15.67 6 3 140 -44764.793 61909.766 -188ms 961ms
gopher.fart.website 6 3 140 -49022.652 84747.266 -217ms 1224ms
edge-iad.txryan.com 6 3 139 -45642.164 67798.562 -230ms 1032ms
% chronyc tracking
------------------
Reference ID : 8399AB16 (131.153.171.22)
Stratum : 3
Ref time (UTC) : Mon Dec 25 09:55:11 2023
System time : 0.000000000 seconds slow of NTP time
Last offset : -5.681410313 seconds
RMS offset : 1.796643019 seconds
Frequency : 5.307 ppm fast
Residual freq : -46792.738 ppm
Skew : 8.997 ppm
Root delay : 0.147369087 seconds
Root dispersion : 0.769112766 seconds
Update interval : 7.0 seconds
Leap status : Normal
% date
-----------------
Mon Dec 25 12:55:18 PM +03 2023
% hwclock
-----------------
2023-12-25 12:55:13.078474+03:00
- 인터넷 연결을 끊은 후 잠시 기다렸다가 가상 머신을 켰을 때 시계가 정확한 시간을 표시하지 않았습니다. 또한 이 출력을 받으면 실제 마스터 날짜가 표시됩니다.(2023년 12월 25일 월요일 오후 1:28:58)
(어쨌든 네트워크 연결을 끊고 시스템을 다시 부팅하면 호스트 시간과 동기화되어 부팅되지 않습니다.)
% chronyc sourcestats
---------------------
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
131.153.171.22 6 4 139 -46792.738 67288.219 -5592ms 890ms
108.175.15.67 6 3 140 -44764.793 61909.766 -5226ms 961ms
gopher.fart.website 6 3 140 -49022.652 84747.266 -5734ms 1224ms
edge-iad.txryan.com 6 3 139 -45642.164 67798.562 -5367ms 1032ms
% chronyc tracking
------------------
Reference ID : 8399AB16 (131.153.171.22)
Stratum : 3
Ref time (UTC) : Mon Dec 25 09:55:11 2023
System time : 0.000000000 seconds fast of NTP time
Last offset : -5.681410313 seconds
RMS offset : 1.796643019 seconds
Frequency : 5.307 ppm fast
Residual freq : -46792.738 ppm
Skew : 8.997 ppm
Root delay : 0.147369087 seconds
Root dispersion : 6.036798477 seconds
Update interval : 7.0 seconds
Leap status : Normal
% date
-----------------
Mon Dec 25 12:57:11 PM +03 2023
% hwclock
-----------------
2023-12-25 12:57:05.629692+03:00
- 인터넷에 접속한 후
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
131.153.171.22 6 4 343 -5616574 341926 -1958s 15.7s
108.175.15.67 6 4 343 -5631052 251508 -1960s 12.1s
gopher.fart.website 6 4 343 -5618134 301975 -1963s 14.2s
edge-iad.txryan.com 6 4 343 -5635317 275298 -1964s 13.2s
Reference ID : 8399AB16 (131.153.171.22)
Stratum : 3
Ref time (UTC) : Mon Dec 25 09:55:11 2023
System time : 0.000000001 seconds fast of NTP time
Last offset : -5.681410313 seconds
RMS offset : 1.796643019 seconds
Frequency : 5.307 ppm fast
Residual freq : -46792.738 ppm
Skew : 8.997 ppm
Root delay : 0.147369087 seconds
Root dispersion : 16.738962173 seconds
Update interval : 7.0 seconds
Leap status : Normal
Mon Dec 25 01:01:00 PM +03 2023
2023-12-25 13:01:00.293480+03:00
또한 Chrony를 통해 시스템 시간이 얼마나 자주 새로 고쳐지나요? 시스템은 언제 켜지거나 인터넷에 연결될 때마다 켜지나요? 어떻게 설정하나요?
답변1
요약: VM 게스트 시계가 시간을 유지하는 데 적합하지 않아 안타깝습니다. 사용을 중단하세요.
게스트 운영 체제에는 시간을 유지하는 두 가지 방법이 있습니다.
- 인터넷
- 호스트 운영 체제
잘못된 방법: 인터넷 클라이언트
가상 머신 게스트할 수 있다server1b.meinberg.de 및 기타 인터넷 서버용 NTP 클라이언트입니다. 이렇게 하지 마십시오.
가상 머신이 오랫동안 일시 중지되어 게스트가 다시 시작될 때마다 외부 서버가 빠르게 미래로 시간 왜곡되는 것처럼 보입니다. 너가지다편향 수정을 "10% 더 빠르게 실행"하는 대신 복구 시 "단계" 수정을 수행합니다. 일반적으로 시작 스크립트는 유사한 명령을 사용 하거나 일부 NTP 서버에서 시계 단계를 hwclock -s --utc
요청하여 이를 수행합니다.ntpdate
만성 문서섹션 3.4makestep 1 -1
이는 종종 몇 분 또는 몇 시간 동안 정지되는 비정상적인 상황에 처한 고객에게 필요하다는 점을 지적하십시오 .
좋은 방법: 호스트 OS 시계
게스트가 시간을 알고 싶다면 실행 중인 호스트의 시간을 물어봐야 합니다.
호스트 운영 체제에는 적절한 시계가 있을 것으로 추정되며, 네트워크를 사용할 수 있을 때 때때로 인터넷 NTP 서버에서 {오프셋, 주파수} 추정이 이루어질 수 있습니다.
가상 기기제안그건
종종 규율되지 않은 지역 시계라고 불리는 지역 시계를 시간 소스로 사용하지 않는 것이 중요합니다.
하이퍼바이저에 대해 알려주지 않았기 때문에 조정해야 할 손잡이가 무엇인지 명확하지 않습니다. 벤저민 브라이언(Benjamin Bryan)의 글을 읽어보실 수도 있습니다. 경험.
편집하다
Chrony(또는 다른 NTP 데몬)가 {오프셋, 주파수}를 측정하려고 합니다. 예를 들어, 4초 더 느리지만 1% 더 빠르게 실행할 수 있습니다. 몇 가지 관찰을 한 후에 이를 추정하고 수정할 수 있습니다.
이제 손님이 30분 동안 잠시 멈춰 있다고 가정해 보겠습니다. 우리를가능한"1804초 느리지만 여전히 1% 빠릅니다"라고 보고하는 기능. 그러나 총 오프셋은 주파수 오류 측정을 방해합니다. 데몬이 실제로 알아야 할 모든 것은 t_0에서 t_1까지 "4초 뒤, 1% 빠름"과 일치하는 여러 NTP 응답을 들었다가 t_2까지 우리는 죽었고(일시 중지) t_3 이후의 관찰은 " 1804초 뒤쳐지고, 1% 빨라진다". 이 시점에서 우리는 확실히 1804초씩 단계적으로 이동해야 합니다.
OP는 chronyd가 syslog가 아니며 "일시 중지" 및 "재개" 이벤트에 대해 알고 있음을 매우 명확하게 밝혔습니다. 따라서 로컬 불규칙 시계는 시간 기반으로 사용하기에 적합하지 않습니다.
또는 동기화를 위해 한 시간 동안 인터넷 NTP 응답을 수신하는 경우 30분 동안 일시 중지하고 인터넷 연결을 끊고 복원된 게스트가 현재 시간을 알 것으로 기대하며 해당 정보는 본질적으로 마스터의 시계에 전달됩니다. . OP는 호스트 시계가 hwclock
UDP 포트 123을 통해 액세스되지 않기 때문에 게스트가 29분 또는 31분 일시 중지 간격을 구별할 수 있다는 증거를 제공하지 않습니다.
복구 후 시간을 알고 싶다면 하이퍼바이저 + 게스트 구성에서 수정해야 하는 구성 세부 정보입니다.
ATM, 복원하는 동안 손님이 시간을 확실하게 알 수 있는 유일한 방법은 인터넷 연결을 유지하고 복원 스크립트가 chronyd를 다시 시작하여 점진적인 업데이트를 장려하는 것인 것 같습니다. (그런데 iburst
구성의 초기 버스트가 완벽하게 일치합니다.)