cloud-init-nonet

Вопрос или проблема

У меня есть проблема, на которую указали на форуме. Но я вижу, что у всех эта проблема с виртуальными машинами. В моем случае — с физическим сервером:

Когда я запускаю машину, я вижу, что cloud-init-nonet ждет сеть.

--------------------------------
cloud-init-nonet[164.54]: отказался ожидать сетевое устройство.
Cloud-init v. 0.7.5 выполняет 'init' в субботу, 11 октября 2014 в 22:23:38 +0000. Время загрузки 164.77 секунд.
ci-info: +++++++++++++++++++++++Информация о сетевых устройствах+++++++++++++++++++++++
ci-info: +--------+------+-----------+-----------+-------------------+
ci-info: | Устройство |  Вверх  |  Адрес  |    Маска   |     Hw-Адрес    |
ci-info: +--------+------+-----------+-----------+-------------------+
ci-info: |   lo   | True | 127.0.0.1 | 255.0.0.0 |         .         |
ci-info: |  eth1  | True |     .     |     .     | 68:XX:ca:YY:09:50 |
ci-info: |  eth0  | True |     .     |     .     | 00:XX:8c:YY:c7:00 |
ci-info: +--------+------+-----------+-----------+-------------------+
ci-info: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!Сбой информации о маршруте!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2014-10-12 00:25:44,469 - DataSourceMAAS.py[CRITICAL]: Отказ от md после 126 секунд из ['http://172.16.0.40/MAAS/metadata//2012-03-01/meta-data/instance-id']
2014-10-12 00:25:44,469 - util.py[WARNING]: Источник данных экземпляра не найден! Вероятно, ожидаются проблемы!
--------------------------------

Это почти то же самое, что видно здесь:

https://ask.openstack.org/en/question/28297/cloud-init-nonet-waiting-and-fails/

Я также пытался объяснить это в этом баге:

https://bugs.launchpad.net/cloud-init/+bug/1345433

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

Моя конфигурация довольно проста /etc/network/interfaces:

### Это ничего не делает, но оставлено здесь для справки. Должно работать. Предполагается, что это поддержка openvswitch на этапе загрузки
allow-ovs br-ext
iface br-ext inet manual
        ovs_type OVSBridge
        ovs_ports eth0


# Основной сетевой интерфейс
auto eth0
iface eth0 inet manual
        up ifconfig $IFACE 0.0.0.0 up
        up ip link set $IFACE promisc on
        down ip link set $IFACE promisc off
        down ifconfig $IFACE down

auto eth1
iface eth1 inet manual 
        up ifconfig $IFACE 0.0.0.0 up
        down ifconfig $IFACE down


#Это тоже ничего не делает, так как br-int не создается при выполнении этого скрипта
auto br-int
iface br-int inet dhcp

Может быть, кто-то поможет, как это решить? Это действительно сильно мешает моей загрузке, и я уже подумываю удалить MAAS и переустановить без cloud-init.

Это работает для меня:

  1. вход с помощью :gui по логину/паролю: vagrant/vagrant
  2. изменить файл /etc/rc.local,
    добавив строку sh /etc/init.d/networking restart прямо перед exit 0
  3. отключить :gui
  4. выполнить vagrant up или vagrant reload

https://github.com/mitchellh/vagrant/issues/391#issuecomment-2078383

Ответ или решение

Проблема, с которой вы столкнулись, связана с тем, что cloud-init не может обнаружить сетевое подключение на стадии инициализации, что приводит к ошибке cloud-init-nonet. Это часто случается в виртуальных машинах, но в вашем случае — на физическом сервере. Давайте разберём подробности и возможные решения для вашей конфигурации.

Причины проблемы

Главной причиной, по которой cloud-init испытывает проблемы с обнаружением сети, может быть неправильная конфигурация сетевых интерфейсов или неправильная последовательность загрузки системных служб, например Open vSwitch.

Конфигурация сетевых интерфейсов

Ваш файл конфигурации /etc/network/interfaces настроен с использованием Open vSwitch, и это может усложнить процесс инициализации сети. Этот файл содержит настройки для сетевых мостов и физических интерфейсов, которые могут не инициализироваться корректно из-за проблем с зависимостями или с порядком загрузки.

Решение проблемы

Для решения проблемы попробуйте следующие шаги:

  1. Убедитесь, что все необходимые зависимости установлены и правильно настроены, особенно Open vSwitch.
  2. Проверьте, что Open vSwitch и связанные службы запускаются раньше или одновременно с cloud-init. Мы можем заменить использование auto и iface в файле конфигурации на системные юниты, которые гарантируют порядок загрузки.
  3. Добавьте запуск перезагрузки сети в файл /etc/rc.local, чтобы принудительно инициализировать сеть после загрузки системы:
  4. sh /etc/init.d/networking restart

    Эта команда поможет воссоздать сетевую конфигурацию в случае, если она не инициализировалась корректно изначально.

  5. Попробуйте временно отключить cloud-init, если он действительно не требователен для вашей настройки, и проверьте, придёт ли это к улучшению.
  6. Если вы обнаружите, что проблема связана именно с Open vSwitch, постарайтесь проанализировать порядок загрузки и конфигурацию мостов.

Заключение

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

Если вышеуказанные шаги не решат проблему, возможно, стоит рассмотреть вариант поэтапной настройки сети и cloud-init, попробовав сначала базовую инициализацию без сложных конфигураций Open vSwitch.

Оцените материал
Добавить комментарий

Капча загружается...