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

Техническая поддержка

Чтобы помочь нашим специалистам быстрее решить вашу проблему, предлагаем просмотреть описанные ниже шаги:

Web

В случае ошибки задачи в Web-интерфейсе перейдите в журнал задач, выберите нужную задачу и сделайте скрин ошибки. Если в ошибке вы видите сообщение Некоторые дочерние задачи были завершены с ошибкой., то значит, что это мультизадача и надо выбрать дочернюю задачу внизу окна мультизадачи и сделать дополнительно скрин ошибки. Наиболее полезной информацией является поле Ответ от узлов, где указаны id узлов и их ответ. От части узлов в рамках задачи может придти положительный ответ, а от других нет, тогда эта задача перейдет в статус PARTIAL.

В случае ошибки в Web-интерфейсе Internal Server Error перейдите в CLI контроллера и скопируйте результат вывода команд log controller-web и log controller-async (часть c сообщением об ошибке).

CLI

Скопируйте ошибку в СLI или сделайте скрин вывода ошибки вместе с введённой командой. Скопируйте результат вывода команды log cli.

Выгрузка событий

При наличии доступа к Web-интерфейсу SpaceVM создайте архив во вкладке Журнал-События по кнопке Действия - Выгрузить события с наиболее подходящим фильтром.

image

Фильтрация журналов

Чем точнее будут использованы условия фильтров при создании архива, тем быстрее служба технической поддержки сможет разобраться и отреагировать.

SpaceVM Bugzilla

Для удобства можно создать баг в SpaceVM Bugzilla или посмотреть там известные баги.

Регистрация пользователя в системе Bugzilla

Для регистрации в системе отслеживания ошибок необходимо перейти по ссылке https://bugzilla.spacevm.ru/. В стартовом окне системы отслеживания ошибок выбираем доступный язык интерфейса EN | RU-RU, по умолчанию EN. Для регистрации ошибки необходимо перейти в «Open a New Account\Зарегистрировать нового пользователя». В окне «Create a new Space Bugzilla account\Регистрация пользователя Space Bugzilla» в поле «Email address\Адрес электронной почты» указываем почту, на которую будут приходить уведомления.

Нажимаем на кнопку «Send\Зарегистрироваться». На почту будет отправлено электронное письмо с подтверждением, содержащее ссылку для продолжения создания учетной записи. Срок действия ссылки истечет, если учетная запись не будет создана в течение 3 дней. Необходимо перейти по ссылке. В открытом окне «Create a new user account for ‘e-mail’\Создания учетной записи для ‘e-mail’» заполняем поля: «Real Name\Полное имя», «Type your password\Введите пароль» и «Confirm your password\Повторите ввод пароля». Нажимаем на кнопку «Create\Создать». Окно создания учетной записи будет закрыто с уведомлением об успешном выполнении.

Создание "Bug\Ошибка"

Переходим по ссылке https://bugzilla.spacevm.ru/. Нажимаем «Log In\Войти» и указываем логин и пароль. После аутентификации переходим «Search\Найти» и просматриваем уже созданные кейсы перед создание нового, чтобы избежать создание дублей. Если подобных кейсов нет, то переходим «File a Bug\Зарегистрировать ошибку». В окне «First, you must pick a product on which to enter a bug\Прежде всего выберите продукт, к которому относится ошибка» будут доступны пространства: SpaceVM и Space VDI.

Выбираем пространство, например, Space VM. Указываем компонент «Component\Компонент» в зависимости от ошибки\пожелания\вопроса. Указываем версию «Version\Версия», «Severity\Серьезность», «Hardware\Платформа», «OS\ОС», «Тип тикета» и «Summary\Аннотация». В поле «Description\Описание» описываем ошибку\пожелание\вопрос. Если необходимо приложить скриншоты, то нажимаем на кнопку «Add an attachment\Добавить приложение». Дальше нажимаем на «Submit Bug\Зарегистрировать ошибку». Появляется уведомление «Bug\Ошибка» создана.

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

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

  • Если узел пингуется, то зайти с контроллера на узел 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: 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.

Диагностика при ошибках 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 и принимает только запросы с верным сертификатом.

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

Действия при ошибках сервиса статистики

  • Возможна ситуация ошибки хранилища статистики prometheus. Быстрым способом решения проблемы является очистка хранилища, перенастройка и перезапуск сервиса. Ниже показана последовательность из 3 действий:

    1. system statistics clear (очистка БД prometheus. Необходимо выполнить в случае ошибки БД, делает rm -rf /var/log/prometheus/metrics2/*.)

    2. system statistics reload (перенастройка конфигурации экспортеров prometheus согласно БД контроллера.)

    3. service restart prometheus (перезагрузка сервиса prometheus.)

  • Также рекомендуется проверить состояние сервиса статистики (services status prometheus) и ошибки сервиса в syslog (ошибки, связанные с prometheus). На контроллере можно проверить работу сервиса статистики, перейдя в браузере по адресу http://{controller_ip}:9090/. Список подключенных экспортеров узлов с их статусами к контроллеру можно увидеть по адресу http://{controller_ip}:9090/classic/targets. На узле можно проверить работу сервисов сбора статистики узла и ВМ, перейдя в браузере по адресам http://{node_ip}:9100/ (статистика узла) и http://{node_ip}:9177/ (статистика ВМ).

  • Можно включить grafana в CLI контроллера командой grafana start и перейти в браузере по адресу http://{controller_ip}:3000/ (admin/admin).

Действия при ошибках установки

  • Процесс установки в целом состоит из 2 частей: до и после первой перезагрузки.

  • До первой перезагрузки идёт базовая установка пакетов: как Space пакетов, так и зависимостей. Генерируется сервис, который запустит после 1 перезагрузки скрипт подготовки системы к работе.

  • После 1 перезагрузки запускается этот скрипт. Он циклично (до 10 раз) проверяет системы к готовности и поэтапно донастраивает её, пока не решит, что всё готово. Процесс подготовки можно отслеживать командой CLI log first-boot.

  • В конце скрипта подготовки запускается скрипт инициализации сети: создаются коммутаторы default и blackhole, внутренний интерфейс mgmt, адрес, выданный физическому интерфейсу в первой части установки снимается и назначается на mgmt, mgmt подключается к default, первый физический интерфейс в состоянии UP тоже подключается к default. Процесс инициализации сети можно отслеживать командой CLI log net-init.

  • Если установка не завершается, то стоит посмотреть вывод команд CLI log first-boot, log net-init, log first-tests.

  • Если установка не завершается, то можно повторно запустить скрипт подготовки системы к работе командой CLI system init.

Пример (система автонастройки началась и не завершилась. Возможно, сервер был перезагружен в процессе подготовки или были какие-то причины, не дающие завершиться процессу).

image

  • Если видно по log first-boot что процесс не завершился, то стоит запустить команду system autotest и посмотреть, будут ли там ошибки.

  • Если не инициализировалась сеть, то можно после завершения установки снова проинициализировать её командой CLI net-init.

  • Если в выводе команды ip a нет mgmt и default, то можно после завершения установки снова проинициализировать сеть командой CLI net-init.

Действия при ошибках первой части установки

image

После возникновения ошибки

  • Проверьте дату и время на хосте (должны быть актуальные).

  • Перейдите в виртуальную консоль 4 (Ctrl-Alt-4 на виртуальной IPMI-клавиатуре или физической, если установка с физического терминала). Там сделайте скрин экрана и создайте баг в https://bugzilla.spacevm.ru/ или отправьте скрин в ЛК.

Необходимо получить лог инсталлятора. Это можно сделать одним из двух способов -- через USB (Flash, IPMI) накопитель или по сети (ssh).

Вариант с USB-накопителем

Перейдите в виртуальную консоль 2 (Ctrl-Alt-2 на виртуальной IPMI-клавиатуре или физической, если установка с физического терминала). Там создайте каталог с произвольным именем, например, /usb. подключите к серверу USB-накопитель, отформатированный в fat32 или ext3/ext4 и примонтируйте его в этот каталог. После этого скопируйте на USB-накопитель каталог /var/log/syslog с сервера и создайте баг в https://bugzilla.spacevm.ru/ или отправьте информацию в ЛК.

Для монтирования флэш-накопителя и переноса журналов на него необходимо:

  • Определить букву устройства флэш-накопителя при помощи команды blkid либо посмотреть в 4-ой консоли полученную флешкой букву при её подключении. Также нужно обратить внимание, находится ли файловая система на флэш-накопителе в разделе или прямо на устройстве (если есть раздел, а устройство имеет букву, наприме, sdc, то раздел будет sdc1).
  • Создать в удобном месте каталог для монтирования, например, ~/usb: mkdir ~/usb.
  • Примонтировать раздел (если он есть) или сам флэш-накопитель в этот каталог: mount /dev/sdc1 ~/usb или mount /dev/sdc ~/usb.
  • Если всё правильно, то теперь можно проверить место на флэш-накопителе командой df -h.
  • Скопировать всё из /var/log: cp -r /var/log/* ~/usb.
  • Отмонтировать флешку: umount ~/usb.

Вариант с копированием по сети

Доступен в случае наличия сетевой связности на момент ошибки или при возможности поднять нужный сетевой интерфейс и вручную назначить ему адрес и при необходимости шлюз:

  • Перейти в виртуальную консоль 2.
  • Проверить наличие сетевого адреса: ip a.
  • Если адрес не назначен, неверно выбран интерфейс или требуется ручная настройка сети, то следует воспользоваться утилитой ip (описание с примерами: https://losst.pro/nastrojka-seti-v-linux).
  • Проверить доступность узла назначения: ping <destination_ip>.
  • Установить клиент SSH: udpkg -i /cdrom/pool/main/o/openssh/openssh-client-udeb_8.3p1-1_amd64.udeb (номер версии openssh-client-udeb может отличаться. Работает автодополнение при помощи клавиши Tab).
  • Скопировать содержимого каталога /var/log на сервер назначения: scp /var/log/* <dst_host_user>@<dst_host_address>:<dir_on_dst_host>.

Замечание на случай задания VLAN в начале установки

Так как заданные для интерфейса управления параметры VLAN применяются только после перезагрузки сервера по окончании установки, то при необходимости задания VLAN для копирования лога инсталлятора по сети это следует сделать вручную, предварительно загрузив модуль 8021q: modprobe 8021q; ip link add link <iface> name <iface.tag> type vlan id <tag>.

Проверка целостности установочного медиа (флэш-накопителя, например)

  • Загрузиться в режиме Space Live.
  • Дождаться приглашения командной строки.
  • Увидеть, где примонтировано загрузочное устройство (команда mount, например /run/live/medium).
  • Перейти в этот каталог (cd /run/live/medium).
  • Запустить команду md5sum -c md5sum.txt.
  • Так как накопительной статистики по ошибкам здесь нет, то можно скрыть вывод по файлам без ошибок: md5sum -c md5sum.txt | grep -v ': OK'.