[ English | русский | Deutsch | Indonesia | English (United Kingdom) ]

Восстановление вычислительного узла после сбоя

В следующей процедуре рассматривается отказ вычислительного узла при использовании общего хранилища.

Примечание

Если общее хранилище не используется, перед выполнением следующей процедуры можно скопировать данные из каталога /var/lib/nova/instances на отказавшем вычислительном узле ${FAILED_NODE} на другой узел ${RECEIVING_NODE}. Обратите внимание, что этот метод не поддерживается.

  1. Повторно запустите все инстансы на отказавшем узле.

  2. Вызовите командную строку MariaDB.

  3. Генерирует список UUID инстансов, размещенных на отказавшем узле:

    mysql> select uuid from instances where host = '${FAILED_NODE}' and deleted = 0;
    
  4. Определите инстансы на отказавшем узле для размещения на другом узле:

    mysql> update instances set host ='${RECEIVING_NODE}' where host = '${FAILED_NODE}' \
    and deleted = 0;
    
  5. Перезагрузите каждый инстанс на отказавшем узле, указанном в предыдущем запросе, чтобы перегенерировать XML-файлы:

    # nova reboot —hard $INSTANCE_UUID
    
  6. Найдите диски, чтобы проверить, что инстанс успешно загрузился и находится в режиме входа в систему:

    mysql> select nova.instances.uuid as instance_uuid, cinder.volumes.id \
    as voume_uuid, cinder.volumes.status, cinder.volumes.attach_status, \
    cinder.volumes.mountpoint, cinder.volumes,display_name from \
    cinder.volumes inner join nova.instances on cinder.volumes.instance_uuid=nova.instances.uuid \
    where nova.instances.host = '${FAILED_NODE}';
    
  7. Если строки найдены, отсоедините и снова присоедините диски, используя значения, указанные в предыдущем запросе:

    # nova volume-detach $INSTANCE_UUID $VOLUME_UUID && \
    # nova volume-attach $INSTANCE_UUID $VOLUME_UUID $VOLUME_MOUNTPOINT
    
  8. Пересоздайте или замените неисправный узел, как описано в Добавить вычислительный хост.