본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 CUCM(Cisco Unified Communications Manager)용 NTP(Network Time Protocol)에 대해 설명합니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
이 문서에서는 CUCM을 통한 NTP의 목적, NTP의 컨피그레이션, 문제 해결을 위해 수집할 데이터, 데이터 분석 예, 추가 연구를 위한 관련 리소스에 대해 설명합니다.
CUCM을 사용하는 NTP의 목적은 서버가 올바른 시간을 인식하도록 하기 위한 것입니다. VOIP(Voice Over Internet Protocol)는 시간 변화에 매우 민감하기 때문에 CUCM 서버의 시간이 중요합니다. CUCM 클러스터는 데이터베이스 복제 요구 사항 때문에 클러스터의 다른 서버에 가깝게 유지되는 시간 동기화를 유지해야 합니다.
마지막으로, 로그에 올바른 타임스탬프를 가져오려면 문제 해결에 소요되는 시간이 중요합니다.
CUCM에는 특정 NTP 서버가 필요합니다.
Windows NTP 서버는 CUCM에서 지원되지 않습니다. 그러나 Linux NTP 소스, Cisco IOS® NTP 소스, Nexus OS NTP 소스와 같은 다른 유형은 허용됩니다. 다른 Cisco 솔루션에서는 NTP 솔루션에 Windows Server를 활용할 수 있지만 CallManager, Cisco Unity, Instant Messaging and Presence와 같은 UC 솔루션은 사용할 수 없으며 Linux 기반 또는 Cisco IOS® 기반 NTP 솔루션이 필요합니다. 이는 Windows Time Services에서 SNTP를 사용하는 경우가 많기 때문입니다. Linux 시스템은 동기화하기 어렵습니다.
CUCM 게시자에는 CUCM 클러스터의 멤버가 아닌 NTP 소스가 필요하므로 CUCM 게시자는 NTP 서버와 시간을 동기화합니다. 이 거래소에서 CUCM 게시자는 NTP 클라이언트입니다.
CUCM 가입자는 CUCM 게시자와 시간을 동기화합니다. 이 교환에서 CUCM 게시자는 NTP 서버이며, 여기서 CUCM 가입자는 NTP 클라이언트입니다.
주의: Cisco IM&P(Instant Messaging & Presence) 서버도 CUCM 클러스터의 가입자로 간주되므로 CUCM의 NTP에도 의존합니다. 즉, IM&P 서버에서 NTP가 동기화되지 않은 경우 시스템에서 데이터베이스 복제 및 고가용성에 문제가 발생합니다.
CUCM을 설치하면 서버가 클러스터의 첫 번째 노드인지 확인하는 프롬프트가 표시됩니다.
서버가 클러스터의 첫 번째 노드가 아닌 경우 설치 마법사가 NTP 컨피그레이션 단계를 지나 이동합니다. 그러나 NTP 서버가 클러스터의 첫 번째 노드인 경우 해당 서버에 대한 프롬프트가 표시됩니다.
그림에 나와 있는 것처럼 CUCM 서버 내에서 NTP 서버에 액세스하고 이를 수정하는 데 사용되는 명령을 찾을 수 있습니다.
참고: 새 NTP 서버를 추가하려는 경우 CUCM 서버는 추가하기 전에 연결 가능성을 테스트하며, 실패할 경우 다음 오류가 표시됩니다.
NTP 문제를 해결할 때 NTP 문제가 있는 CUCM 서버에서 이러한 데이터를 수집해야 합니다.
예를 들어 CUCM 게시자 및 NTP의 다음 정보가 사용되었습니다.
CUCM 게시자
버전: 11.5(1) SU5
FQDN: cucm-115.home.lab
IP 주소는 192.X.X.X로 시작합니다.
NTP
Google NTP 서버에서
FQDN: time1.example.com.ntp
IP 주소는 216.X.X.X로 시작합니다.
포트 번호는 123입니다. NTP용 포트입니다. 텍스트 상자에 있는 명령의 출력에서 NTP 버전이 "NTPv4"에 표시된 4임을 확인할 수 있습니다. 또한 "time1.example.com"과 통신을 설정할 때 클라이언트 역할을 하는 게시자를 메모할 수도 있지만 cucm-sub1, cucm-sub2 및 cucm-sub3과 통신을 설정할 때 서버 역할을 합니다.
From the CLI of the publisher run the command "utils network capture port 123" Wait until you see traffic (this can take a little time, or it may be instant) then hit
ctrl+c. Look in the traffic to find where your publisher is communicating with its NTP
server and the NTP server is communication with the publisher (if the NTP server isn't
replying then it is an issue in the network or with the NTP server). The primary focus of
this output is the NTP version. In CUCM 9 and later NTP version 3 (NTPv3) can cause issues
and an NTP source using NTPv4 should be the NTP server for the publisher.
admin:utils network capture size all count 10000000 port 123 Executing command with options: size=128 count=1000 interface=eth0 src=dest= port=123 ip= 16:08:43.199710 IP cucm-sub3.home.lab.39417 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:08:43.199737 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.39417: NTPv4, Server, length 48 16:08:43.199823 IP cucm-sub3.home.lab.39417 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:08:43.199859 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.39417: NTPv4, Server, length 48 16:09:01.640980 IP cucm-115.home.lab.50141 > time1.example.com.ntp: NTPv4, Client, length 48 16:09:01.654675 IP time1.example.com.ntp > cucm-115.home.lab.50141: NTPv4, Server, length 48 16:09:01.654733 IP cucm-115.home.lab.50141 > time1.example.com.ntp: NTPv4, Client, length 48 16:09:01.667368 IP time1.example.com.ntp > cucm-115.home.lab.50141: NTPv4, Server, length 48 16:09:01.668612 IP cucm-115.home.lab.50141 > time1.example.com.ntp: NTPv4, Client, length 48 16:09:01.681366 IP time1.example.com.ntp > cucm-115.home.lab.50141: NTPv4, Server, length 48 16:09:01.681518 IP cucm-115.home.lab.50141 > time1.google.com.ntp: NTPv4, Client, length 48 16:09:01.694108 IP time1.google.com.ntp > cucm-115.home.lab.50141: NTPv4, Server, length 48 16:09:01.875016 IP cucm-115.home.lab.48422 > time1.google.com.ntp: NTPv4, Client, length 48 16:09:01.884476 IP cucm-sub3.home.lab.58072 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:01.884568 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.58072: NTPv4, Server, length 48 16:09:01.884954 IP cucm-sub3.home.lab.58072 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:01.884999 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.58072: NTPv4, Server, length 48 16:09:01.885381 IP cucm-sub3.home.lab.58072 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:01.885423 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.58072: NTPv4, Server, length 48 16:09:01.886147 IP cucm-sub3.home.lab.58072 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:01.886184 IP cucm-115.home.lab.ntp > cucm-sub3.home.lab.58072: NTPv4, Server, length 48 16:09:01.888555 IP time1.google.com.ntp > cucm-115.home.lab.48422: NTPv4, Server, length 48 16:09:01.888642 IP cucm-115.home.lab.48422 > time1.google.com.ntp: NTPv4, Client, length 48 16:09:01.900926 IP time1.google.com.ntp > cucm-115.home.lab.48422: NTPv4, Server, length 48 16:09:01.901017 IP cucm-115.home.lab.48422 > time1.google.com.ntp: NTPv4, Client, length 48 16:09:01.913497 IP time1.google.com.ntp > cucm-115.home.lab.48422: NTPv4, Server, length 48 16:09:01.913566 IP cucm-115.home.lab.48422 > time1.google.com.ntp: NTPv4, Client, length 48 16:09:01.926693 IP time1.google.com.ntp > cucm-115.home.lab.48422: NTPv4, Server, length 48 16:09:02.038981 IP cucm-sub2.home.lab.42078 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:02.039117 IP cucm-115.home.lab.ntp > cucm-sub2.home.lab.42078: NTPv4, Server, length 48 16:09:02.039281 IP cucm-sub2.home.lab.42078 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:02.039345 IP cucm-115.home.lab.ntp > cucm-sub2.home.lab.42078: NTPv4, Server, length 48 16:09:02.039434 IP cucm-sub2.home.lab.42078 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:02.039535 IP cucm-115.home.lab.ntp > cucm-sub2.home.lab.42078: NTPv4, Server, length 48 16:09:02.039607 IP cucm-sub2.home.lab.42078 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:02.039814 IP cucm-115.home.lab.ntp > cucm-sub2.home.lab.42078: NTPv4, Server, length 48 16:09:02.066544 IP cucm-sub1.home.lab.46400 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:02.066622 IP cucm-115.home.lab.ntp > cucm-sub1.home.lab.46400: NTPv4, Server, length 48 16:09:02.066751 IP cucm-sub1.home.lab.46400 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:02.066892 IP cucm-115.home.lab.ntp > cucm-sub1.home.lab.46400: NTPv4, Server, length 48 16:09:02.066968 IP cucm-sub1.home.lab.46400 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:02.067104 IP cucm-115.home.lab.ntp > cucm-sub1.home.lab.46400: NTPv4, Server, length 48 16:09:02.067155 IP cucm-sub1.home.lab.46400 > cucm-115.home.lab.ntp: NTPv4, Client, length 48 16:09:02.067189 IP cucm-115.home.lab.ntp > cucm-sub1.home.lab.46400: NTPv4, Server, length 48
패킷 캡처에서 NTP 문제를 해결하는 데 사용되는 필터는 udp.port == 123입니다. 이 필터를 사용하면 CUCM 게시자가 Google NTP 서버와의 통신을 설정했으며 CUCM 게시자가 CUCM 가입자와도 통신을 설정했음을 확인할 수 있습니다.
utils ntp 상태 출력
NOTE: All nodes will show the current time in UTC regardless of the time zone of the server
(listed in UTC time). This makes it easy to compare times on the different CUCM nodes.
NOTE: If there is a time difference of 15 minutes or more, it is expected that DB replication
will be broken
1) If the publisher is ahead by 15 minutes, this can result in the pub send data to the
sub and the sub would have a delay to process the data because it has not yet reached the time
in the timestamp of the packets from the publisher (this is expected behavior in this type of situation)
2) If the subscriber is ahead by 15 minutes, this would result in the subscriber drop
the data from the publisher because the subscriber sees it as old data (15 minutes old)
admin:utils ntp status ntpd (pid 28435) is running... remote refid st t when poll reach delay offset jitter ============================================================================== 203.0.113.0 .GOOG. 1 u 44 64 3 11.724 -0.021 0.064 unsynchronised polling server every 8 s Current time in UTC is : Fri Sep 6 20:54:50 UTC 2019 Current time in America/New_York is : Fri Sep 6 16:54:50 EDT 2019 admin:
이전 출력을 자세히 설명하므로 다음 정보를 읽어 보십시오.
The very first column contains the "tally code" character. Short overview: * the source you are synchronized to (syspeer) # source selected, distance exceeds maximum value o the PPS(Pulse Per Second) source if your ntpd (ppspeer, only if you have a PPS capable system and refclock) + candidate, i.e. it is considered a good source - outlyer, i.e. quality is not good enough x falseticker, i.e. this one is considered to distribute bad time blank: source discarded, failed sanity See the Select field of the Peer status word on the NTP Event Messages and
Status Words page for more information on the tally codes. remote
the hostname or IP of the remote machine. refid
the identification of the time source to which the remote machines is synced.
May be (for example) a radio clock or another ntp server) st
the stratum of the remote machine. 16 is "unsynchronized". 0 is the best
value, that could be (for example) a radio clock or the ntp servers private
caesium clock (see http://www.eecis.udel.edu/~mills/ntp/html/index.html#intro
for more information about ntp in general). t
types available: l = local (such as a GPS, WWVB) u = unicast (most common) m = multicast b = broadcast - = netaddr when
how many seconds since the last poll of the remote machine. poll
the polling interval in seconds. reach
an 8-bit left-rotating register. Any 1 bit means that a "time packet" was
received. The right most bit indicate the status of the last connection
with the NTP server. It is Octal number. Use calculator in progammer
interface to translate from OCT to BIN: For example 377 translates to
11111111. Each 1 means a successful connection to the NTP server. If you
just start a NTP service, and it connects successfully with its server, this
number will change as follows (if connectivity is good): 00000001 = 001 00000011 = 003 00000111 = 007 00001111 = 017 00011111 = 037 00111111 = 077 01111111 = 177 11111111 = 377 delay
the time delay (in milliseconds) to communicate with the remote. offset
the offset (in milliseconds) between our time and that of the remote. jitter
the observed jitter (in milliseconds) of time with the remote.
유틸리티 진단 테스트 출력
admin:utils diagnose test Log file: platform/log/diag1.log Starting diagnostic test(s) =========================== test - disk_space : Passed (available: 6463 MB, used: 12681 MB) skip - disk_files : This module must be run directly and off hours test - service_manager : Passed test - tomcat : Passed test - tomcat_deadlocks : Passed test - tomcat_keystore : Passed test - tomcat_connectors : Passed test - tomcat_threads : Passed test - tomcat_memory : Passed test - tomcat_sessions : Passed skip - tomcat_heapdump : This module must be run directly and off hours test - validate_network : Passed test - raid : Passed test - system_info : Passed (Collected system information in diagnostic log) test - ntp_reachability : Passed test - ntp_clock_drift : Passed test - ntp_stratum : Passed skip - sdl_fragmentation : This module must be run directly and off hours skip - sdi_fragmentation : This module must be run directly and off hours Diagnostics Completed The final output will be in Log file: platform/log/diag1.log Please use 'file view activelog platform/log/diag1.log' command to see the output admin:
유틸리티 진단 테스트 출력에서 NTP가 실패하면 다음과 유사한 내용이 표시됩니다.
admin:utils diagnose test Log file: platform/log/diag1.log Starting diagnostic test(s) =========================== test - disk_space : Passed (available: 6463 MB, used: 12681 MB) skip - disk_files : This module must be run directly and off hours test - service_manager : Passed test - tomcat : Passed test - tomcat_deadlocks : Passed test - tomcat_keystore : Passed test - tomcat_connectors : Passed test - tomcat_threads : Passed test - tomcat_memory : Passed test - tomcat_sessions : Passed skip - tomcat_heapdump : This module must be run directly and off hours test - validate_network : Passed test - raid : Passed test - system_info : Passed (Collected system information in diagnostic log) test - ntp_reachability : Warning The NTP service is restarting, it can take about 5 minutes. test - ntp_clock_drift : Warning The local clock is not synchronised. None of the designated NTP servers are reachable/functioning or legitimate. test - ntp_stratum : Warning The local clock is not synchronised. None of the designated NTP servers are reachable/functioning or legitimate. skip - sdl_fragmentation : This module must be run directly and off hours
설치 시 NTP가 정상인지 확인합니다. 다음 명령을 실행합니다.
cdrtime > getCurrTime()이 있는 장치에서 pkid,name,dbinfo('utc_to_datetime', cdrtime)를 CDRTIME으로 sql을 실행합니다.
이 명령은 현재 시간과 cdrtime(테이블을 수정했을 때)을 비교합니다. 설치/업그레이드에서 잘못된 NTP를 사용한 다음 NTP를 수정한 경우 변경 사항이 발생할 때마다 데이터베이스가 동기화되지 않습니다. 이 문제는 일반적인 NTP 명령(예: utils ntp 상태)을 실행할 때 표시되지 않습니다. 잘못된 NTP 소스에서 좋은 NTP 소스로 이동했기 때문입니다.
나쁜 NTP에서 좋은 NTP로 옮긴 것이 좋습니다. 그러나 좋은 NTP 소스로 옮기면 설치/업그레이드 중에 생성된 테이블이 수정되지 않습니다.
이 명령을 실행할 때 필요한 출력은 다음과 같습니다.
admin:run sql select pkid,name,dbinfo('utc_to_datetime', cdrtime) as CDRTIME from device where cdrtime > getCurrTime() pkid name cdrtime ==== ==== ======= admin:
다음 출력과 유사한 출력이 있는 경우 설치/업그레이드에 사용된 NTP가 사용되지 않았으며 데이터베이스 복제에 영향을 주는 문제가 발생했음을 나타냅니다.
admin:run sql select pkid,name,dbinfo('utc_to_datetime', cdrtime) as CDRTIME from device where cdrtime > getCurrTime() pkid name cdrtime ============================= ===== ===================== bf80dd31-9911-43ce-81fd-a99ec0333fb5 MTP_2 2016-09-11 14:38:14.0 4c38fc05-760d-4afb-96e8-69333c195e74 CFB_2 2016-09-11 14:38:14.0 90878c80-e213-4c7e-82b9-6c780aac72f3 ANN_2 2016-09-11 14:38:14.0 08b5bff4-da94-4dfb-88af-ea9ffa96872c MOH_2 2016-09-11 14:38:14.0 93320e4d-1b73-4099-9a7c-c4cddfadb5d9 MTP_3 2016-09-11 14:38:14.0 a6850d42-5f0a-49ce-9fa3-80d45b800e23 CFB_3 2016-09-11 14:38:14.0 9963c9cb-58b0-4191-93e1-8676584f6461 ANN_3 2016-09-11 14:38:14.0 def79fb7-c801-4fb3-85fb-4e94310bf0bd MOH_3 2016-09-11 14:38:14.0 4cd64584-089b-4331-9291-79774330cbc 2 MTP_4 2016-09-11 14:38:14.0 27b18882-db83-4d14-8bce-d3f8dc439610 CFB_4 2016-09-11 14:38:14.0 a40da882-e04f-4649-b2eb-2f79d1289e81 ANN_4 2016-09-11 14:38:14.0 36575ff4-cdea-4945-87e7-638cc555463e MOH_4 2016-09-11 14:38:14.0
1) VM 하드웨어 고려 사항 없이 ESXi 호스트를 업그레이드할 경우 NTP 문제가 발생할 수 있습니다.
2) ESXi 버전이 가상화 매트릭스를 준수하는지 확인합니다.
3) ESXi 버전 및 하드웨어 버전이 호환되는지 확인
개정 | 게시 날짜 | 의견 |
---|---|---|
3.0 |
18-Oct-2022 |
잠재적 PII 및 검색 엔진 최적화가 업데이트되었습니다. |
2.0 |
15-Mar-2022 |
문법 업데이트. |
1.0 |
20-May-2020 |
최초 릴리스 |