VK Private Cloud logo
Помощь
Обновлена 21 августа 2026 г. в 11:12

Миграция объектов сетевого узла перед его перезагрузкой

Чтобы выполнить миграцию объектов (роутеры, ВМ, DBaaS, кластеры Kubernetes) с сетевого узла перед его перезагрузкой:

  1. Получите список всех L3 агентов:

    # openstack network agent list --agent-type l3
    Пример ожидаемого результата
    +--------------------------------------+------------+--------+-------------------+-------+-------+------------------+| ID                                   | Agent Type | Host   | Availability Zone | Alive | State | Binary           |+--------------------------------------+------------+--------+-------------------+-------+-------+------------------+| fbce1819-9e94-4550-b694-da14e00cf6f3 | L3 agent   | cpn001 | nova              | :-)   | UP    | neutron-l3-agent || 7604e0c3-9ca9-484e-82a8-94930252f82e | L3 agent   | cpn002 | nova              | :-)   | UP    | neutron-l3-agent || ed72b979-bc2d-490f-b059-60cd753346ef | L3 agent   | cpn003 | nova              | :-)   | UP    | neutron-l3-agent || eb3577de-736a-42c5-adc5-f02b33429f07 | L3 agent   | kcn001 | nova              | :-)   | UP    | neutron-l3-agent || 5a26f82b-967a-4b08-a1d1-e6c07d489127 | L3 agent   | kcn002 | nova              | :-)   | UP    | neutron-l3-agent |+--------------------------------------+------------+--------+-------------------+-------+-------+------------------+
  2. Проверьте, что узлы, с которого и на который выполняется миграция, имеют режим agent_mode=dvr_snat:

    # openstack network agent show <ИСХОДНЫЙ_L3># openstack network agent show <ЦЕЛЕВОЙ_L3>

    Здесь:

    • <ИСХОДНЫЙ_L3> — идентификатор L3 агента, с которого выполняется миграция.
    • <ЦЕЛЕВОЙ_L3> — идентификатор L3 агента, на который выполняется миграция.
    Пример команды и ожидаемого результата
    # openstack network agent show ed72b979-bc2d-490f-b059-60cd753346ef                                                                                                                                          +-------------------+-----------------------------------------------------------------------------------------------------------+     | Field             | Value                                                                                                     |    +-------------------+-----------------------------------------------------------------------------------------------------------+        | admin_state_up    | UP                                                                                                        |          | agent_type        | L3 agent                                                                                                  |  | alive             | :-)                                                                                                       | | availability_zone | nova                                                                                                      |  | binary            | neutron-l3-agent                                                                                          |   | configuration     | {'agent_mode': 'dvr_snat', 'handle_internal_only_routers': True, 'external_network_bridge': '',           ||                   | 'gateway_external_network_id': '', 'interface_driver': 'neutron.agent.linux.interface.OVSInterfaceDriver',| |                   | 'log_agent_heartbeats': False, 'routers': 1, 'ex_gw_ports': 1, 'interfaces': 1, 'floating_ips': 0}        |                                                                            | created_at        | 2024-07-26 16:01:42                                                                                       || description       | None                                                                                                      | | ha_state          | None                                                                                                      || host              | cpn003                                                                                                    || id                | ed72b979-bc2d-490f-b059-60cd753346ef                                                                      || last_heartbeat_at | 2024-07-29 11:23:25                                                                                       || name              | None                                                                                                      || resources_synced  | None                                                                                                      || started_at        | 2024-07-26 16:01:42                                                                                       || topic             | l3_agent                                                                                                  |+-------------------+-----------------------------------------------------------------------------------------------------------+
  3. Получите список роутеров на L3 агенте, с которого выполняется миграция:

    # openstack router list --agent <ИСХОДНЫЙ_L3>

    Здесь <ИСХОДНЫЙ_L3> — идентификатор L3 агента, с которого выполняется миграция.

    Пример команды и ожидаемого результата
    # openstack router list --agent fbce1819-9e94-4550-b694-da14e00cf6f3+--------------------------------------+--------+--------+-------+----------------------------------+-------------+-------+| ID                                   | Name   | Status | State | Project                          | Distributed | HA    |+--------------------------------------+--------+--------+-------+----------------------------------+-------------+-------+| f0620d62-ab42-4ff7-bbec-5e5440446517 | router | ACTIVE | UP    | ec5bd160e5ea4d8fb7ed07a099118437 | True        | False |+--------------------------------------+--------+--------+-------+----------------------------------+-------------+-------+
  4. Выполните миграцию роутеров:

    1. Проверьте, что роутер размещен на агенте, с которого будет выполняться миграция:

      # openstack network agent list --router <РОУТЕР>

      Здесь <РОУТЕР> — идентификатор роутера.

      Пример команды и ожидаемого результата
      # openstack network  agent list --router f0620d62-ab42-4ff7-bbec-5e5440446517+--------------------------------------+------------+--------+-------------------+-------+-------+------------------+| ID                                   | Agent Type | Host   | Availability Zone | Alive | State | Binary           |+--------------------------------------+------------+--------+-------------------+-------+-------+------------------+| fbce1819-9e94-4550-b694-da14e00cf6f3 | L3 agent   | cpn001 | nova              | :-)   | UP    | neutron-l3-agent |+--------------------------------------+------------+--------+-------------------+-------+-------+------------------+
    2. Удалите роутер с агента, на котором он расположен, и добавьте его на агент, выбранный ранее для миграции.

      # openstack network agent remove router <ИСХОДНЫЙ_L3> <РОУТЕР> --l3# openstack network agent add router <ЦЕЛЕВОЙ_L3> <РОУТЕР> --l3

      Здесь:

      • <ИСХОДНЫЙ_L3> — идентификатор L3 агента, с которого выполняется миграция.
      • <ЦЕЛЕВОЙ_L3> — идентификатор L3 агента, на который выполняется миграция.
      • <РОУТЕР> — идентификатор роутера, который нужно перенести.
      Пример команд
      # openstack network agent remove router fbce1819-9e94-4550-b694-da14e00cf6f3 f0620d62-ab42-4ff7-bbec-5e5440446517 --l3# openstack network agent add router 7604e0c3-9ca9-484e-82a8-94930252f82e f0620d62-ab42-4ff7-bbec-5e5440446517 --l3
  5. Проверьте, что роутер запустился на агенте после миграции:

    # openstack network agent list --router <РОУТЕР>

    Здесь <РОУТЕР> — идентификатор роутера.

    Пример команды и ожидаемого результата
    # openstack network  agent list --router f0620d62-ab42-4ff7-bbec-5e5440446517+--------------------------------------+------------+--------+-------------------+-------+-------+------------------+| ID                                   | Agent Type | Host   | Availability Zone | Alive | State | Binary           |+--------------------------------------+------------+--------+-------------------+-------+-------+------------------+| 7604e0c3-9ca9-484e-82a8-94930252f82e | L3 agent   | cpn002 | nova              | :-)   | UP    | neutron-l3-agent |+--------------------------------------+------------+--------+-------------------+-------+-------+------------------+
  6. Проверьте доступность роутера с помощью команды ping.

  7. Проверьте, что пространство имен (namespace) роутера есть на узле, на который он был перенесен:

    $ sudo ip netns | grep <РОУТЕР>

    Здесь <РОУТЕР> — идентификатор перенесенного роутера.

    Пример команды и ожидаемого результата
    # ip netns | grep f0620d62-ab42-4ff7-bbec-5e5440446517snat-f0620d62-ab42-4ff7-bbec-5e5440446517 (id: 123)qrouter-f0620d62-ab42-4ff7-bbec-5e5440446517 (id: 122)
Была ли статья полезна?