Вопрос или проблема
Я не очень хорошо разбираюсь в OpenStack.
У меня две проблемы в моей среде OpenStack с двумя контроллерами.
- Когда я проверяю состояние, больше хостов не работает (хотя они включены и работают, и виртуальные машины на них тоже):
$ openstack compute service list --service nova-compute
+--------------------------------------+--------------+------------+-----------+----------+-------+----------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At |
+--------------------------------------+--------------+------------+-----------+----------+-------+----------------------------+
| 1b85d869-8cf3-42e9-86eb-************ | nova-compute | compute01 | nova | enabled | down | 2025-03-03T12:20:14.000000 |
| f784d63b-cfb7-4425-af85-************ | nova-compute | compute02 | nova | enabled | down | 2025-03-03T12:20:54.000000 |
| 3d051f6f-84cb-4e4b-9e64-************ | nova-compute | compute03 | nova | enabled | down | 2023-05-07T04:03:10.000000 |
| 0e3b5f5a-591b-4a63-b21a-************ | nova-compute | compute04 | nova | enabled | down | 2025-03-04T10:37:46.000000 |
| e10a28e8-f359-4a00-a5db-************ | nova-compute | compute05 | nova | enabled | down | 2025-02-28T14:25:03.000000 |
| 67386517-0485-43ee-83b3-************ | nova-compute | compute08 | nova | enabled | up | 2025-03-07T14:06:24.000000 |
| 2b19451c-e9af-4b23-aeff-************ | nova-compute | compute09 | nova | disabled | down | 2021-11-19T03:55:34.000000 |
| 0a0ba906-e96d-4ac3-9a65-************ | nova-compute | compute06 | nova | enabled | down | 2025-02-28T12:14:33.000000 |
| 07a27e91-f8ce-4a58-8c0a-************ | nova-compute | compute10 | nova | enabled | down | 2025-03-03T10:51:21.000000 |
| 3cc2b99c-f68f-4565-a422-************ | nova-compute | compute07 | nova | enabled | up | 2025-03-07T14:06:15.000000 |
| 861011c4-09e5-4812-b26f-************ | nova-compute | compute11 | nova | enabled | up | 2025-03-07T14:06:17.000000 |
| 75c32a27-8dfc-4236-b7d9-************ | nova-compute | compute12 | nova | enabled | up | 2025-03-07T14:06:21.000000 |
| 0e37eaad-3285-4e56-a1d6-************ | nova-compute | compute25 | rack1 | enabled | up | 2025-03-07T14:06:20.000000 |
| 6fcfb08f-3f38-4d82-9bb8-************ | nova-compute | compute26 | rack1 | enabled | up | 2025-03-07T14:06:23.000000 |
| 8d680d2a-3c1f-443a-a43f-************ | nova-compute | compute29 | rack1 | disabled | down | 2021-11-16T13:45:56.000000 |
| 6b95b193-e66e-47f3-9e28-************ | nova-compute | compute30 | rack1 | enabled | up | 2025-03-07T14:06:16.000000 |
| 2f921cc2-2e54-4263-b1e6-************ | nova-compute | compute31 | rack1 | enabled | up | 2025-03-07T14:06:20.000000 |
| e38b9ba2-01a0-46f8-a314-************ | nova-compute | compute32 | rack1 | enabled | up | 2025-03-07T14:06:17.000000 |
| 1c3162cb-3c56-4678-89d2-************ | nova-compute | compute33 | rack1 | enabled | up | 2025-03-07T14:06:15.000000 |
| 31e351fa-0012-4ca1-95ed-************ | nova-compute | compute24 | rack1 | enabled | up | 2025-03-07T14:06:16.000000 |
| 32e0b6ca-0c57-4d18-863c-************ | nova-compute | compute27 | rack1 | enabled | up | 2025-03-07T14:06:17.000000 |
| 887fc96c-8bc8-4f05-bada-************ | nova-compute | compute13 | AZ1 | enabled | up | 2025-03-07T14:06:15.000000 |
| 648a6a1d-2f09-4b5a-ac99-************ | nova-compute | compute14 | AZ1 | enabled | up | 2025-03-07T14:06:22.000000 |
| 3da7c060-0f65-4e2e-9ef0-************ | nova-compute | compute16 | AZ1 | enabled | up | 2025-03-07T14:06:17.000000 |
| a15b9200-0b80-477c-b98e-************ | nova-compute | compute17 | AZ1 | enabled | up | 2025-03-07T14:06:23.000000 |
| ef2066f6-6523-4781-86a3-************ | nova-compute | compute18 | AZ1 | enabled | up | 2025-03-07T14:06:23.000000 |
| cb38112a-9234-48da-9115-************ | nova-compute | compute19 | AZ1 | enabled | up | 2025-03-07T14:06:22.000000 |
| a13e86d5-114a-4145-a4d5-************ | nova-compute | compute20 | AZ1 | enabled | up | 2025-03-07T14:06:19.000000 |
| 91001b0f-7ce4-43d8-98fc-************ | nova-compute | compute21 | AZ1 | enabled | up | 2025-03-07T14:06:19.000000 |
| d62cecbb-d556-456d-b363-************ | nova-compute | compute22 | AZ1 | enabled | up | 2025-03-07T14:06:16.000000 |
| a5efa587-5a69-4d3b-b3b3-************ | nova-compute | compute23 | AZ1 | enabled | up | 2025-03-07T14:06:22.000000 |
| a820cfff-ffca-4b33-8921-************ | nova-compute | compute34 | AZ1 | enabled | up | 2025-03-07T14:06:15.000000 |
| 3c86c385-97c0-40e0-a139-************ | nova-compute | compute36b | AZ-PP | enabled | up | 2025-03-07T14:06:13.000000 |
| ca3f1243-d84d-4871-a476-************ | nova-compute | compute37b | AZ-PP | enabled | up | 2025-03-07T14:06:17.000000 |
| 5fd36263-d095-4d1c-b92d-************ | nova-compute | compute35b | AZ-PP | enabled | up | 2025-03-07T14:06:22.000000 |
| d2ae6fcb-abc0-4500-9e64-************ | nova-compute | compute39b | AZ-PP | enabled | up | 2025-03-07T14:06:19.000000 |
| 9797d22f-9d11-44b5-adb6-************ | nova-compute | compute40b | AZ-PP | enabled | up | 2025-03-07T14:06:18.000000 |
| b1809339-bfd3-4b84-99b8-************ | nova-compute | compute38b | AZ-PP | enabled | up | 2025-03-07T14:06:15.000000 |
+--------------------------------------+--------------+------------+-----------+----------+-------+----------------------------+
Это приводит к невозможности развернуть новую виртуальную машину, так как я получаю ошибку:
Error: Failed to perform requested operation on instance " test.ts1.mydomain.com", the instance has an error status: Please try again later [Error: No valid host was found. There are not enough hosts available.].
- Я могу управлять ВМ через GUI, но если я пытаюсь перестроить сервер, он остается в ожидании
С контроллера я вижу эти ошибки:
2025-03-07 14:16:51.448 3868 ERROR oslo.messaging._drivers.impl_rabbit [req-98ac1001-ba76-4cb6-bfca-be2efa0a3b9e 045df8a7fcf241e78f527994d5a77a9b 3c14771e53de4a2f80e138bd5df3bf5e - default default] [f1269656-782a-4418-8d59-d29d526a075d] AMQP server on controller.iaas.isp.dev:5672 is unreachable: Server unexpectedly closed connection. Trying again in 1 seconds.: OSError: Server unexpectedly closed connection
2025-03-07 14:16:52.471 3868 INFO oslo.messaging._drivers.impl_rabbit [req-98ac1001-ba76-4cb6-bfca-be2efa0a3b9e 045df8a7fcf241e78f527994d5a77a9b 3c14771e53de4a2f80e138bd5df3bf5e - default default] [f1269656-782a-4418-8d59-d29d526a075d] Reconnected to AMQP server on controller.iaas.isp.dev:5672 via [amqp] client with port 39944.
Я пытался перезапустить rabbitmq-server.service
и перезагрузить контроллеры, но это не решило проблему.
До недавнего времени все работало нормально.
Есть идеи, как это исправить?
Ответ или решение
Конечно, я помогу вам разобраться с текущими проблемами в вашей среде OpenStack. Вы столкнулись с двумя основными проблемами: статус "down" ваших compute нод и невозможность управления виртуальными машинами через GUI. Давайте разберём каждую из этих проблем более подробно.
Теория: Проблемы с OpenStack
OpenStack – это платформа для управления большими пулами вычислительных, сетевых и хранилищных ресурсов, в которой ключевую роль играют службы связности и коммуникаций между компонентами. Ваша ситуация, когда хосты отмечаются как "down", в то время как они физически работают, указывает на проблемы с коммуникацией между компонентами (такими как службы Nova и RabbitMQ).
Для успешного управления и оркестрации виртуальными ресурсами в OpenStack крайне важно, чтобы все ключевые службы, в первую очередь, службы обмена сообщениями (такие как RabbitMQ), работали без сбоев. Проблемы могут возникать из-за множества факторов, включая неверные конфигурации, сбои в сети, проблемы с ресурсами или неисправности в самой инфраструктуре.
Пример: Ошибки в вашей среде
На основе вашего описания можно выделить несколько ключевых проблем:
- Несколько
nova-compute
сервисов отображаются как "down" в статусе: Это может быть связано как со сбоями в сети, так и с проблемами на уровне коммуникацийRabbitMQ
. - Ошибки
AMQP
в логах указывают на потерю связи междуcontroller
иnova-compute
нодами. Эти ошибки могут возникать если сервер RabbitMQ не отвечает или работает неустойчиво, например, из-за проблем с ресурсами или конфигурацией.
Применение: Рекомендации по решению проблемы
-
Проверка состояния сервера RabbitMQ:
- Проверьте статус RabbitMQ на вашем контроллере. Убедитесь, что он работает стабильно.
- Проверьте количество подключений и нагрузки на сервер RabbitMQ, превышение лимитов может вызвать проблемы.
- Убедитесь, что конфигурационные файлы RabbitMQ корректны и не были изменены недавно.
-
Проблемы с сетью:
- Проверьте сетевое подключение между контроллером и
nova-compute
хостами. Любые сетевые задержки или потери пакетов могут вызвать описанные вами проблемы. - Убедитесь, что между компонентами существует корректная маршрутизация и настройки межсетевых экранов не блокируют необходимые порты.
- Проверьте сетевое подключение между контроллером и
-
Сообщения в логах:
- Проанализируйте логи
nova
иrabbitmq
для выявления дополнительных ошибок, которые могут указывать на корень проблемы. - Ошибка с неожиданным закрытием соединения может говорить о потерях сетевого соединения или исчерпании ресурсов.
- Проанализируйте логи
-
Повторная синхронизация статуса:
- Иногда помогает повторная синхронизация статуса
nova-compute
хостов. Для этого можно попробовать перезапустить сервисыnova-compute
на затронутых хостах и проверить статус заново через командуopenstack compute service list
.
- Иногда помогает повторная синхронизация статуса
-
Проверка времени на хостах:
- Проверьте настройки времени (NTP) на всех узлах. Синхронизация времени критична для корректной работы компонентов OpenStack.
-
Конфигурация и обновления:
- Убедитесь, что на всех узлах установлен один и тот же релиз OpenStack и недавно не было непредвиденных обновлений, которые могли внести изменения в конфигурацию.
Если после применения данных рекомендаций проблемы остаются, проблема может быть более сложной и потребовать привлечения дополнительных специалистов или обращения в техническую поддержку вашей OpenStack реализации.
Заключение
Эти шаги должны помочь в диагностике и решении проблем в вашем OpenStack окружении. Важно также следовать лучшие практики по управлению ресурсами и регулярному мониторингу состояния служб. При возникновении подобных проблем в будущем, можно использовать описанный подход для эффективного их устранения и стабилизации работы платформы.