Перейти к содержанию

Ошибки связи

Диагностика при потере связи контроллера с узлами

  • Проверить, пингуется ли узел с контроллера по адресу интерфейса управления.

  • Если узел пингуется, зайти c контроллера через node ssh [management_ip] и проверить статус сервиса супервизора узла через services list.

  • Если сервис супервизора узла активен, посмотреть его журналы через log node. Супервизор циклически проверяет статус связи с контроллером и логирует о неудачных попытках. Если узел не может подключиться к контроллеру, хотя пингует его, возможно, стоит рестартовать супервизор контроллера через services restart controller-engine.

  • Удостоверьтесь через node config, что поля node_id, controller_ip, controller_id актуальные.

  • Если сервис супервизора узла неактивен, запустить его через services start node-engine.

  • Если узел не пингуется, то можно через Web-интерфейс контроллера проверить статус электропитания узла через IPMI. При необходимости включить или перезагрузить.

  • Если узел не пингуется, то через IPMI сервера проверить состояние линка физического интерфейса, используемого для управления. Интерфейс можно посмотреть через net show ports -v, у нужного интерфейса будет строка used by: veil-default. Если он в DOWN, то поднять его через net conf ports set-up -i [имя интерфейса].

Диагностика при потере связи по ssh контроллера с узлами

  • На контроллере в /var/lib/ecp-veil/.users/veil-controller/.ssh/ лежат файлы приватного ключаid_rsa и публичного ключа id_rsa.pub (генерируются у каждого контроллера свой при установке и проверяются при каждом обновлении), которые используются для взаимодействия контроллер - узел.

  • При добавлении узла к контроллеру публичный ключ контроллера копируется в /root/.ssh/authorized_keys и в /var/lib/ecp-veil/.users/veil-node/.ssh/authorized_keys.

  • Для взаимодействия узел-узел ключ не используется. Для некоторых задач между узлами, например, живая миграция, каждый раз генерируется временный ssh ключ, который удаляется после завершения задачи.

  • В случае ошибки доступа контроллера к узлу (например, при ошибке Permission Denied во время загрузки образа на пул данных этого узла) можно сходить на этот узел по ssh и скопировать содержимое файла /var/lib/ecp-veil/.users/veil-controller/.ssh/id_rsa.pub в /var/lib/ecp-veil/.users/veil-node/.ssh/authorized_keys.

  • Передобавить ssh ключи контроллера на узел можно через команду CLI node repair_ssh (с версии 5.0.5).

Диагностика при ошибках grpc

  • На контроллере в каталоге /var/lib/ecp-veil/controller/local_data/ лежат файлы grpc сертификатов {node_id}.crt для каждого узла, которые используются для взаимодействия контроллер - узел.

  • При добавлении узла к контроллеру генерируется grpc сертификат и копируется в /var/lib/ecp-veil/node/local_data/node.crt и в /var/lib/ecp-veil/node/local_data/node.key.

  • Соответственно, контроллер при grpc запросе ищет у себя в каталоге /var/lib/ecp-veil/controller/local_data/ файл с id узла, читает его и с содержимым делает запрос. Сервис node-engine на узле при старте ищет в /var/lib/ecp-veil/node/local_data/ файл node.key и принимает только запросы c верным сертификатом.

  • Если на контроллере по какой-то причине отсутствует нужный сертификат для конкретного узла, то можно скопировать его с узла на контроллер (или удалить на узле, тогда запросы будут идти нешифрованными).

Back to top