Ошибки связи
Диагностика при потере связи контроллера с узлами
-
Проверить, пингуется ли узел с контроллера по адресу интерфейса управления.
-
Если узел пингуется, зайти 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 верным сертификатом. -
Если на контроллере по какой-то причине отсутствует нужный сертификат для конкретного узла, то можно скопировать его с узла на контроллер (или удалить на узле, тогда запросы будут идти нешифрованными).