ECS: xDoctor: RAP081: Код симптому: 2048: Різниця в часі системи перевищує поріг ERROR
Summary: xDoctor виявив проблему з фоновою службою Network Time Protocol (NTP).
Symptoms
Усі вузли в стійці ECS повинні мати запущений демон NTP, а налаштовані NTP-сервери повинні мати можливість синхронізувати час. Якщо ні, це може призвести до проблем із прийомом даних інтерфейсу.
| Симптом |
Повідомлення |
|---|---|
| Різниця в системному часі перевищує поріг ERROR |
Повідомлення = Різниця в системному часі вище порогу |
Cause
Перераховані вище симптоми залишаються ПОПЕРЕДЖЕННЯМ, якщо воно не виникає протягом 24 годин.
Через 24 години, якщо це не зникне, тяжкість буде збільшена до ПОМИЛКИ, і буде повідомлено про RAP081.
Resolution
Різниця в часі вузла через дрейфовий файл NTP, який оновлюється щогодини службою ntpd на вузлах. Ця проблема може виникнути, коли на вузлі раніше виникала проблема з мережею. Після повторного приєднання до мережі створюється неправильний файл дрейфу, що призводить до різниці в часі між вузлами.
Коли вузол знову приєднався до мережі після проблеми, він може тимчасово створити файл дрейфу, щоб відповідати часу NTP на сервері NTP. Це має бути тимчасово, але якщо ntpd не може видалити файл, ми можемо видалити файли дрифту та перезапустити службу для його відновлення.
Верифікація:
Перевірте, чи всі сервери NTP можуть пінгувати.
1. Підтвердьте, чи ввімкнено відповідність.
Команда:
# 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
}
Очікуваний результат відповідає вимогам. Якщо ми бачимо NON_COMPLIANT, то ми повинні з'ясувати, чому.
3. Запустіть сценарій перевірки відповідності на кожному вузлі, щоб виявити будь-які невідповідні вузли, що може призвести до того, що перевірка ECS покаже невідповідність.
Запустіть сценарій відповідності на всіх вузлах, вузли з «вузлами NTP не синхронізовані», можуть мати проблему з файлом дрейфу 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 не синхронізовані", перейдіть до розділу "Вузли не синхронізовані" нижче.
Резолюція:
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. Повторне застосування файлу ntp.drift вузла неправильного зміщення після перезапуску служби ntpd може призвести до цієї проблеми:
# 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 дорівнюють нулю, перевірте, чи є дрейф дати в 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
Різниця між вузлами вказує на те, що необхідний дрейф NTP з перезапуском служби ntpd. Перевірте стан служби 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
Дрейф НТП повинен бути вирішений:
# 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 runing' (NTPD_NOT_RUNNING), дивіться статтю
знань: ECS: xDoctor: RAP081: Код симптому: 2048: Фонова служба NTP не працює
Щодо симптому 'Всі NTP-сервери НЕ підходять для синхронізації' (NTP_NOT_SUITABLE_ERROR), дивіться статтю знань:
ECS: xDoctor: RAP081: Код симптому: 2048: Всі NTP-сервери НЕ підходять для синхронізації.
Про симптом «Усі сервери NTP налаштовують зміщення, що перевищує поріг помилки» (NTP_ERROR_OFFSET_ERROR), дивіться статтю знань:
ECS: xDoctor: RAP081: Код симптому: 2048: Усі NTP-сервери налаштовують зміщення, що перевищує поріг помилки.