ECS: xDoctor: RAP081: 증상 코드: 2048: ERROR 임계값을 초과하는 시스템 시간 차이
Summary: xDoctor가 NTP(Network Time Protocol) 데몬 문제를 감지했습니다.
Symptoms
ECS 랙의 모든 노드에는 NTP 데몬이 실행 중이어야 하며 구성된 NTP 서버는 시간을 동기화할 수 있어야 합니다. 그렇지 않으면 프런트엔드 데이터 수집에 문제가 발생할 수 있습니다.
| 증상 |
메시지 |
|---|---|
| ERROR 임계값을 초과하는 시스템 시간 차이 |
메시지 = ERROR 임계값 |
Cause
위의 증상은 24시간 이내에 발생하지 않으면 경고로 유지됩니다.
24시간 후에도 이 상태가 지속되면 심각도가 ERROR로 증가하고 RAP081이 보고됩니다.
Resolution
노드의 ntpd 서비스에 의해 매시간 업데이트되는 NTP 드리프트 파일로 인한 노드 시간 차이입니다. 이 문제는 이전에 노드에서 네트워크 문제가 발생한 경우 발생할 수 있습니다. 다시 연결된 후 네트워크에서 잘못된 드리프트 파일을 생성하여 노드 간에 시간 차이가 발생합니다.
문제 발생 후 노드가 네트워크에 다시 연결되면 NTP 서버의 NTP 시간과 일치하도록 드리프트 파일이 일시적으로 생성될 수 있습니다. 이것은 일시적입니다만, ntpd 하지만 파일을 제거할 수 없는 경우는, 드리프트 파일을 삭제해, 서비스를 재시작해 복구할 수 있습니다.
확인:
모든 NTP 서버가 ping을 수행할 수 있는지 확인합니다.
1. Compliance가 활성화되어 있는지 확인합니다.
명령:
# domulti 'cat /opt/emc/caspian/fabric/agent/conf/agent_customize.conf | grep compliance_enabled'
admin@node1:~> domulti 'cat /opt/emc/caspian/fabric/agent/conf/agent_customize.conf | grep compliance_enabled' 192.168.219.1 ======================================== compliance_enabled = true 192.168.219.2 ======================================== compliance_enabled = true 192.168.219.3 ======================================== compliance_enabled = true 192.168.219.4 ======================================== compliance_enabled = true
2. ECS에서 클러스터가 규정을 준수하는지 확인하십시오.
# viprexec -i "/opt/emc/caspian/fabric/cli/bin/fcli lifecycle cluster.compliance"
admin@node1:~> viprexec -i "/opt/emc/caspian/fabric/cli/bin/fcli lifecycle cluster.compliance"
Output from host : 192.168.219.1
{
"compliance": "NON_COMPLIANT",
"status": "OK",
"etag": 22527
}
Output from host : 192.168.219.2
{
"compliance": "NON_COMPLIANT",
"status": "OK",
"etag": 22527
}
Output from host : 192.168.219.3
{
"compliance": "NON_COMPLIANT",
"status": "OK",
"etag": 22527
}
Output from host : 192.168.219.4
{
"compliance": "NON_COMPLIANT",
"status": "OK",
"etag": 22527
}
예상 출력은 COMPLIANT입니다. NON_COMPLIANT 보이면 그 이유를 조사해야 합니다.
3. 각 노드에서 규정 준수 검사 스크립트를 실행하여 비준수 노드를 식별하면 ECS 검사에서 규정 미준수 여부가 표시될 수 있습니다.
모든 노드에서 규정 준수 스크립트를 실행합니다. "NTP peers out of sync"가 있는 노드는 일부 노드에서 NTP 드리프트 파일 문제가 발생할 수 있습니다. "규정 준수 확인 중..." 이라는 출력실패 출력이 없는 노드는 문제가 발견되지 않은 채 검사를 통과했음을 의미합니다.
# domulti /opt/emc/caspian/fabric/agent/conf/compliance_check.sh
admin@node1:~> domulti /opt/emc/caspian/fabric/agent/conf/compliance_check.sh
192.168.219.1
========================================
Checking compliance...
NTP peers out of sync
192.168.219.2
========================================
Checking compliance...
192.168.219.3
========================================
Checking compliance...
NTP peers out of sync
192.168.219.4
========================================
Checking compliance...
NTP peers out of sync
"NTP peers out of sync"라는 출력이 있는 경우 아래의 "peers out of sync" 섹션으로 이동합니다.
해상도:
1. NTP 오프셋이 10(+/-)을 초과하여 규정 준수 알림이 발생할 수 있는지 확인하십시오.
# viprexec -i "ntpq -nc peers"
admin@node1:~> viprexec -i "ntpq -nc peers" Output from host : 169.254.1.1 remote refid st t when poll reach delay offset jitter ============================================================================== *10.xxx.xxx.16 .GPSs. 1 u 31 64 377 0.103 -367.66 44.909 +10.xxx.xxx.33 .GPSs. 1 u 32 64 377 0.097 -368.68 44.341 +10.xxx.xxx.35 .GPSs. 1 u 16 64 377 0.107 -338.96 69.736 Output from host : 169.254.1.2 remote refid st t when poll reach delay offset jitter ============================================================================== +10.xxx.xxx.16 .GPSs. 1 u 26 64 377 0.089 8.566 0.746 *10.xxx.xxx.33 .GPSs. 1 u 26 64 377 0.100 8.585 0.739 +10.xxx.xxx.35 .GPSs. 1 u 23 64 377 0.104 8.888 0.592 Output from host : 169.254.1.3 remote refid st t when poll reach delay offset jitter ============================================================================== *10.xxx.xxx.16 .GPSs. 1 u 31 64 377 0.101 -354.40 52.444 +10.xxx.xxx.33 .GPSs. 1 u 29 64 377 0.101 -338.84 63.750 +10.xxx.xxx.35 .GPSs. 1 u 39 64 377 0.106 -387.28 44.286 Output from host : 169.254.1.4 remote refid st t when poll reach delay offset jitter ============================================================================== *10.xxx.xxx.16 .GPSs. 1 u 26 64 377 0.084 72.675 9.200 +10.xxx.xxx.33 .GPSs. 1 u 37 64 377 0.107 65.047 14.913 +10.xxx.xxx.35 .GPSs. 1 u 33 64 377 0.103 87.374 13.435 Output from host : 169.254.1.5 remote refid st t when poll reach delay offset jitter ============================================================================== *10.xxx.xxx.16 .GPSs. 1 u 27 64 377 0.094 352.741 54.056 +10.xxx.xxx.33 .GPSs. 1 u 26 64 377 0.103 413.893 43.770 +10.xxx.xxx.35 .GPSs. 1 u 33 64 377 0.101 334.493 69.059 Output from host : 169.254.1.6 remote refid st t when poll reach delay offset jitter ============================================================================== +10.xxx.xxx.16 .GPSs. 1 u 27 64 377 0.101 -428.51 54.955 +10.xxx.xxx.33 .GPSs. 1 u 26 64 377 0.097 -326.21 91.208 *10.xxx.xxx.35 .GPSs. 1 u 32 64 377 0.098 -349.00 70.110
ntpd 서비스인 viprexec -i "ntpq -nc peers"를 다시 시작하면 오프셋이 잠시 동안 10 미만이었다가 다시 100 이상으로 증가합니다.
2. ntpd 서비스를 재시작한 후 노드의 ntp.drift 파일에 잘못된 오프셋을 다시 적용하면 다음과 같은 문제가 발생할 수 있습니다.
# viprexec -i "cat /var/lib/ntp/drift/ntp.drift"
admin@node1:~> viprexec -i "cat /var/lib/ntp/drift/ntp.drift" Output from host : 169.254.1.1 500.000 Output from host : 169.254.1.2 -14.212 Output from host : 169.254.1.3 500.000 Output from host : 169.254.1.4 -102.474 Output from host : 169.254.1.5 -500.000 Output from host : 169.254.1.6 500.000
이 오프셋 크기의 NTP 드리프트 파일은 일시적인 네트워크 문제로 인해 자동으로 생성될 수 있습니다. NTP 서비스에 대한 연결을 재설정하는 노드가 올바른 시간에 벗어난 것을 발견하고 파일을 생성하여 자체적으로 수정합니다. 잠시 후 드리프트 파일은 필요하지 않으며 제거될 수 있습니다. 따라서 다음을 수행해야 합니다.
참고: ntpd.service는 영향을 미치지 않는 서비스입니다.
명령:
# viprexec -i "systemctl stop ntpd" # viprexec -i "cat /var/lib/ntp/drift/ntp.drift # viprexec -i "rm -f /var/lib/ntp/drift/ntp.drift" # viprexec -i "ntpd -gq" # viprexec -i "systemctl start ntpd" # viprexec -i "ntpq -p"
규정 준수 검사 스크립트 다시 실행: viprexec -i "/opt/emc/caspian/fabric/agent/conf/compliance_check.sh"
NTP 드리프트 파일이 0이면 NTP에 날짜 드리프트가 있는지 확인하고 ntpd 서비스를 재시작합니다.
# viprexec "date +%s" 2>&1 | grep "^15"
admin@node1:~> viprexec "date +%s" 2>&1 | grep "^15" 1554470147 1554470111 1554470096 1554470142 1554470144 1554470109 1554470124 1554470140
노드 간의 차이는 ntpd 서비스 재시작과 함께 NTP 드리프트가 필요함을 나타냅니다. ntpd 서비스 상태를 확인한 후 서비스를 재시작합니다. (상태가 실행 중이더라도 재시작을 진행합니다.) 참고: ntpd.service는 영향을 미치지 않는 서비스입니다.
# viprexec systemctl status ntpd.service | grep Active:
admin@node1:~> viprexec systemctl status ntpd.service | grep Active: Active: active (running) since Tue 2019-08-06 02:49:06 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago Active: active (running) since Wed 2019-08-07 20:13:27 UTC; 58min ago Active: active (running) since Tue 2019-08-06 02:49:06 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago Active: active (running) since Tue 2019-08-06 02:49:07 UTC; 1 day 18h ago
# viprexec -i "systemctl restart ntpd.service"
admin@node1:~> viprexec systemctl restart ntpd.service Output from host : 192.168.219.1 Output from host : 192.168.219.2 Output from host : 192.168.219.3 Output from host : 192.168.219.4 Output from host : 192.168.219.5 Output from host : 192.168.219.6 Output from host : 192.168.219.7 Output from host : 192.168.219.8
NTP 드리프트를 해결해야 합니다.
# viprexec -i "date +%s" 2>&1 | grep "^15"
admin@node1:~> viprexec -i "date +%s" 2>&1 | grep "^15" 1585746672 1585746672 1585746672 1585746672 1585746672 1585746672 1585746672 1585746672
문제가 지속되거나 위의 문제와 일치하지 않는 경우 ECS 기술 지원 부서에 문의하십시오.
Additional Information
위의 해결 방법으로 문제가 해결되지 않으면 고객의 네트워크 팀에 문의하여 NTP 문제를 해결해야 합니다.
'NTP daemon not running'(NTPD_NOT_RUNNING) 증상은 다음 기술 자료 문서를 참조하십시오.
ECS: xDoctor: RAP081: 증상 코드: 2048: NTP 데몬이 실행되지
않음증상 'All NTP servers are NOT suitable for synchronization'(NTP_NOT_SUITABLE_ERROR)은 기술 자료 문서
ECS: xDoctor: RAP081: 증상 코드: 2048: 모든 NTP 서버가 동기화에 적합한 것은 아닙니다.
'All NTP servers adjust an offset higher than the error threshold'(NTP_ERROR_OFFSET_ERROR) 증상은 기술 자료 문서
ECS: xDoctor: RAP081: 증상 코드: 2048: 모든 NTP 서버는 오류 임계값보다 높은 오프셋을 조정합니다.