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

Администрирование сети#

В данном разделе описано администрирование сетей Numa vServer, включая сети VLAN, и методы агрегирования сетевых адаптеров (NIC bonds), а также методы управления конфигурацией сети и устранения неполадок.

Следует заметить, что используемым по умолчанию в Numa vServer сетевым стеком является виртуальный коммутатор, однако при желании администратор может использовать стек сети на основе Linux Bridge (см. раздел Сети на основе стека виртуального коммутатора).

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

Примечание

Термин «интерфейс управления» («управляющий интерфейс», management interface) используется далее для обозначения сетевого интерфейса, который служит для передачи управляющего трафика.

Поддержка сетевых интерфейсов#

Numa vServer поддерживает до 16-ти физических сетевых интерфейсов (или до 8-и агрегированных сетевых интерфейсов) на одном сервере и до 7-ми виртуальных сетевых интерфейсов на одну ВМ.

Предупреждение

Numa vServer предоставляет автоматическую настройку и управление сетевыми адаптерами посредством интерфейса командной строки. Не рекомендуется редактировать конфигурационные файлы сети напрямую.

Сети на основе стека виртуального коммутатора#

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

При использовании контроллера программно-определяемых сетей (SDN-controller) поддерживающего протокол Openflow, виртуальные коммутаторы обеспечивают дополнительную функциональность, например, списки управления доступом (Access Control List, ACL).

Внимание!

Контроллер программно-определяемых сетей не входит в стандартный состав дистрибутива Numa vServer

Чтобы определить, какой сетевой стек в настоящее время настроен, необходимо выполнить следующую команду:

xe host-list params=software-version

В полученных результатах следует искать network_backend. Если в качестве сетевого стека настроен vSwitch, в результатах выполнения команды будет выведена следующая строка:

network_backend: openvswitch

Если в качестве сетевого стека настроен Linux-мост (Linux bridge), в результатах выполнения команды будет выведена следующая строка:

network_backend: bridge

Чтобы вернуться к стеку Linux-моста, необходимо выполнить следующую команду:

xe-switch-network-backend bridge

После её выполнения следует перезагрузить сервер.

Предупреждение

Стек Linux-моста не поддерживает протокол openflow, межсерверные частные сети (Cross Server Private Networks) и не может управляться посредством контроллера программно-определяемых сетей.

Описание сетевых возможностей Numa vServer#

В этом разделе описываются общие концепции, используемые при построении сетей в среде Numa vServer.

Во время установки Numa vServer автоматически создаётся по одной сети для каждого физического интерфейса сетевой карты. Когда администратор добавляет сервер в общий пул ресурсов, сети по умолчанию объединяются так, чтобы все физические сетевые адаптеры с одним именем устройства оказались прикреплены к одной и той же сети.

Как правило, администратор добавляет новую сеть только при необходимости создать внутреннюю сеть, создать новый VLAN или для создания агрегации сетевых адаптеров (NIC bond).

В Numa vServer может быть настроено четыре различных типа сетей:

  • внешние сети (external networks), ассоциированные с физическим интерфейсом и обеспечивающие мост между виртуальными машинами и физическим сетевым интерфейсом, подключенного к физическим сетям передачи данных;
  • агрегированные сети (bonded networks) создают связь между двумя и более физическими сетевыми интерфейсами для получения единого высокопроизводительного и высокодоступного канала между виртуальной машиной и физической сети передачи данных;
  • частные сети одиночного сервера (single-server private networks) не имеют никакой связи с физическим сетевым интерфейсом и могут использоваться для обеспечения соединения между виртуальными машинами на данном сервере, без возможности связи со внешними сетями;
  • межсерверные частные сети (cross-server private networks) позволяет виртуальным машинам, развёрнутым на разных серверах, общаться друг с другом при помощи программно-определяемых частных сетей (для создания такой сети обязательно наличии контроллера программно-определяемых сетей).

Примечание

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

Сетевые объекты#

В разделе описывается три типа сетевых объектов, существующих на стороне сервера и являющихся отражением трёх независимых сетевых сущностей:

  • PIF (Physical Interface File), является отображением физического сетевого адаптера на сервере Numa vServer. Объекты PIF имеют имя, описание, UUID, параметры сетевой карты, которую они представляют, а также сеть и сервер, к которым они подключены;
  • VIF (Virtual Interface File), является отображением виртуального сетевого адаптера на виртуальной машине. Объекты VIF имеют имя, описание, UUID, а также сеть и виртуальную машину, к которой они подключены;
  • Network (сеть), представляет собой виртуальный Ethernet-коммутатор на сервере. Объекты типа Network имеют имя, описание, UUID и набор подключенных к ним VIF и PIF.

Интерфейс командной строки позволяет настраивать параметры работы в сети, управлять тем, какой из сетевых интерфейсов используется для передачи управляющего трафика, а также настраивать дополнительные возможности сети: виртуальные локальные сети (VLAN) и агрегации сетевых адаптеров (NIC bonds).

Сетевой объект Network (сеть)#

Каждый сервер Numa vServer имеет одну или более сетей, являющихся виртуальными Ethernet-коммутаторами. Сети, не связанные с PIF, считаются внутренними и могут быть использованы для обеспечения связи только между виртуальными машинами, без возможности связи со внешними сетями. Сети, ассоциированные с PIF, считаются внешними и являются связующим звеном между VIF и PIF, обеспечивают подключение ВМ к сетям передачи данных доступным через физический интерфейс сетевого адаптера.

Виртуальные локальные сети (VLAN)#

Виртуальные локальные сети (VLAN), согласно стандарту IEEE 802.1Q, позволяют создавать на одной физической сети несколько логических сетей. Сети Numa vServer могут работать с виртуальными локальными сетями различными способами.

Примечание

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

Использование VLAN с управляющими интерфейсами#

Интерфейс управления может быть настроен на VLAN на порту коммутатора, настроенного как магистральный порт (trunk port) или порт режима доступа (access port).

Интерфейс управления может быть настроен на VLAN на порту коммутатора, настроенного как магистральный порт (trunk port) или порт режима доступа (access port).

Использование VLAN с виртуальными машинами#

Порты коммутатора, настроенные согласно стандарту IEEE 802.1Q в качестве магистральных для виртуальных сетей, могут быть использованы в сочетании с функциями Numa vServer VLAN для подключения гостевых виртуальных сетевых интерфейсов (VIF) к конкретным VLAN. В этом случае сервер выполняет функции VLAN Tagging / Untagging для гостевой системы, которой недоступны никакие сведения о конфигурации VLAN.

Виртуальные локальные сети сервера представляются дополнительными PIF-объектами в соответствии с заданными тегами виртуальных сетей. Сети Numa vServer могут быть подключены как к PIF-объекту, представляющему физический сетевой адаптер или к PIF-объекту, связанному с виртуальной сетью, помеченный её тегом. Подробные инструкции, касающиеся создания виртуальных локальных сетей для серверов Numa vServer (автономных или входящих в пул), приведены в разделе Создание виртуальных локальных сетей (VLAN)

Использование VLAN с сетевыми адаптерами, выделенными для соединения с хранилищем#

Сетевые адаптеры, выделенные для соединения с хранилищем (также известные как IP-enabling NIC или просто «интерфейсы управления») могут быть сконфигурированы таким образом, чтобы использовать порты с нативной поддержкой Native VLAN (порты в режиме доступа) или магистральные порты и виртуальные сети Numa vServer. Подробнее о конфигурации сетевых адаптеров, выделенных для соединения с хранилищем, см. раздел Настройка сетевого интерфейса выделенного для соединения с хранилищем.

Объединение интерфейсов управления и гостевых VLAN на сетевом адаптере автономного хоста#

Порт виртуального коммутатора может быть сконфигурирован для одновременной работы с Native VLAN и Tagget VLAN, позволяя одному сетевому адаптеру сервера использоваться, например, для интерфейса управления и для того, чтобы соединить VIF-объекты гостевой системы с определенными идентификаторами виртуальных сетей.

Jumbo-кадры#

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

Примечание

Numa vServer поддерживает Jumbo-кадры только при использовании vSwitch в качестве сетевого стека сервера.

Администратор должен учитывать следующие особенности использования Jumbo-кадры:

  • поддержка Jumbo-кадров настраивается на уровне пула;
  • vSwitch должен быть сконфигурирован в качестве сетевого стека по умолчанию на всех сетевых устройствах в пуле;
  • каждое устройство в подсети должно быть соответствующим образом настроено на использование Jumbo-кадров;
  • рекомендуется, чтобы администратор включал поддержку Jumbo-кадров только для выделенной сети хранения;
  • поддержка Jumbo-кадров в сети управления отсутствует;
  • Jumbo-кадры так же не поддерживаются для использования на ВМ.

Для использования Jumbo-кадров следует установить значение параметра Maximum Transmission Unit (MTU) в диапазоне между 1500 и 9216. Это может быть сделано при помощи интерфейса командной строки xe.

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

Агрегирование сетевых адаптеров (англ. NIC bond или NIC teaming), повышают доступность и/или пропускную способность, позволяя администраторам сконфигурировать два или более сетевых адаптера вместе таким образом, чтобы они логически функционировали как единый адаптер. Все связанные таким образом сетевые адаптеры будут совместно использовать один MAC-адрес.

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

Numa vServer поддерживает следующие режимы агрегации:

  • активно-активный (active-active);
  • активно-пассивный (active-passive);
  • агрегацию с использованием протокола LACP (Link Aggregation Control Protocol).

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

LACP-агрегация доступна только при использовании сетевого стека vSwitch, тогда как активно-активная и активно-пассивная агрегация – как для vSwitch, так и для сетевого стека Linux Bridge.

Когда в качестве сетевого стека выступает vSwitch, имеется возможность связать вместе от двух до четырёх сетевых адаптеров, в случае использования Linux Bridge – только два сетевых адаптера.

схема сетевого взаимодействия сервера, когда некоторые пары сетевых адаптеров агрегированы

Схема сетевого взаимодействия сервера, когда некоторые пары сетевых адаптеров агрегированы

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

Все режимы агрегации поддерживают автоматическое восстановление после сбоя (failover), однако не все режимы позволяют всем соединениям быть активными для всех типов трафика. Numa vServer поддерживает агрегирование следующих типов сетевых адаптеров:

  • сетевые адаптеры (интерфейсы) общего назначения (не управляющие). Можно объединять сетевые адаптеры, которые Numa vServer использует исключительно для трафика ВМ. Агрегация этих сетевых адаптеров не только обеспечивает отказоустойчивость, но и также равномерно распределяет трафик многочисленных ВМ между сетевыми адаптерами;
  • интерфейсы управления. Можно связать сетевой адаптер, обслуживающий трафик управления с другим сетевым адаптером так, чтобы последний обеспечил его резервирование, рекомендуемый тип такой агрегации - активно-активно;
  • вторичные интерфейсы. Можно объединить сетевой адаптер, сконфигурированный в качестве вторичного интерфейса (например, для обмена данными с хранилищем). Однако для большинства серверов, выступающих в роли инициаторов обмена с системами хранения посредством протокола iSCSI, рекомендуется настройка многоканального (multipath) соединения вместо агрегации сетевых адаптеров.

Агрегацию можно создать, если VIF уже использует один из адаптеров, которые предполагается агрегировать: трафик ВМ будет автоматически перемещён на новый связанный сетевой интерфейс.

В Numa vServer агрегация сетевых адаптеров представляется дополнительным PIF-объектом. Агрегации сетевых адаптеров в Numa vServer полностью включаются в категорию базовых физических устройств (PIF).

Примечание

Создание агрегации, содержащей только один сетевой адаптер, не поддерживается.

Создание агрегации не поддерживается на сетевых картах, которые передают трафик FCoE

Основные положения об IP-адресации агрегированных интерфейсов#

Агрегированный сетевой интерфейс либо имеют один IP-адрес, либо не имеют IP-адресов, как показано ниже:

  • Сети управления и сети обмена данными с хранилищем:
    • если агрегировать управляющий или вторичный интерфейс, единственный IP-адрес будет присвоен всей агрегации в целом. То есть отдельный интерфейс, входящий в агрегацию не имеет своего собственного IP-адреса. Агрегированное соединение рассматривается сервером как единое логическое соединение;
    • если агрегированные интерфейсы используются для трафика, не связанного с виртуальной машиной, например, для подключения к общему сетевому хранилищу, то ему можно настроить IP-адрес. Однако если назначен IP-адрес одному из сетевых интерфейсов (то есть создали интерфейс управления или дополнительный интерфейс), этот IP-адрес автоматически назначается всей агрегации;
    • если администратор агрегирует интерфейс управления или вторичный интерфейс с сетевым адаптером, не имеющим IP-адреса, агрегация принимает имеющийся IP-адрес соответствующего интерфейса автоматически;
  • Сети виртуальных машин. Когда агрегированные сетевые интерфейсы используются для трафика виртуальных машин, не обязательно настраивать IP - адрес для агрегированного интерфейса. Это происходит потому, что агрегация работает на уровне 2 модели OSI, и на этом уровне не используется IP-адресация.

Типы агрегаций#

Numa vServer предоставляет три различных типа агрегаций:

Примечание

При агрегировании параметры задержки Up Delay и Down Delay выставляются, соответственно, в 31 000 и 200 мс. Большие значения Up Delay являются оправданными из-за того, что некоторые коммутаторы тратят довольно существенное время на фактическое включение порта. Для получения информации об изменении задержки см. раздел Изменение времени задержки Up Delay трафика агрегации.

Состояние агрегации#

Numa vServer обеспечивает регистрацию состояний для агрегированных подключений в журнале событий каждого сервера. Если один или более из агрегированных интерфейсов перестали работать или были восстановлены, в журнал заносится соответствующая запись. Аналогично, можно запросить статус интерфейсов в составе агрегации, используя параметр links-up:

xe bond-param-get uuid=<bond_uuid> param-name=links-up

Numa vServer проверяет состояние интерфейсов в агрегациях приблизительно каждые 5 секунд. Следовательно, если в пятисекундном окне произойдёт отказ ещё каких-то интерфейсов, эти отказы не будут зарегистрированы до следующей проверки состояния.

Журналы событий доступны в виде файла /var/log/journal/38855a3423a049e2be9042a56f9aa8a3/system.journal на каждом хосте.

Активно-активный тип агрегации (Active-Active mode)#

Активно-активный (Active-Active mode) – конфигурация по принципу «активный – активный» для передачи гостевого трафика: оба сетевых адаптера могут передавать трафик ВМ одновременно. Когда агрегация используются для трафика управления, только один сетевой адаптер в связи может направить трафик: другой сетевой адаптер остается неиспользованным и обеспечивает поддержку обработки отказа(failover). Активно-активный режим является режимом по умолчанию, когда в качестве сетевого стека используется Linux Bridge или vSwitch.

Когда активно-активная агрегация используется с Linux Bridge, возможна агрегация только из двух сетевых адаптеров. При использовании vSwitch в качестве сетевого стека становится возможно агрегировать два, три, или четыре адаптера в активно-активном режиме. Однако в активно-активном режиме агрегирование трёх или четырёх сетевых адаптеров обычно эффективно только для трафика виртуальных машин.

Активно-активный тип агрегации

Активно-активный тип агрегации

Numa vServer может отправлять трафик через два или большее количество сетевых адаптеров, только когда имеется более одного MAC-адреса, ассоциированного с агрегацией адаптеров. Numa vServer может использовать виртуальные MAC-адреса в VIF-объекте, чтобы распараллелить трафик через несколько соединений. В соответствии с типом трафика:

  • трафик ВМ. При агрегировании сетевых адаптеров, переносящих только трафик ВМ, все соединения будут являться активными, и распределение трафика ВМ по адаптерам внутри агрегации будет балансировать между интерфейсами. Трафик отдельного VIF никогда не разделяется между сетевыми картами;
  • трафик управления или обмена с системой хранения. Только одно из соединений (то есть сетевых адаптеров) в агрегации является активным, другие же остаются неиспользованными, если только активная роль не передаётся им в результате сбоя основного интерфейса. Таким образом, конфигурация, при которой интерфейс управления или вторичный интерфейс агрегируются с другими, обеспечивает отказоустойчивость.
  • смешанный трафик. Если агрегация сетевых адаптеров передаёт смесь из IP-трафика обмена с хранилищем и гостевого трафика ВМ, только гостевой трафик и управляющий трафик домена пользуются возможностью балансировки трафика.

Балансировка трафика в режиме агрегации активно-активно#

Numa vServer балансирует распределение трафика между сетевыми адаптерами на основе адреса MAC, с которого отправляется пакет. Для трафика управления существует только один MAC-адрес источника, поэтому в активном-активном режиме используется только одна сетевая карта, и трафик не распределяется. Трафик распределяется на основе двух следующих факторов:

  • ВМ и связанный с ней VIF-объект, отправляющие или получающие сетевые пакеты;
  • количество пересылаемых данных (в килобайтах).

Numa vServer оценивает объем данных, отправленных и полученных каждой сетевой картой, в килобайтах. Когда объем данных, отправленных на одну сетевую карту, превышает объем данных на другой сетевой карте, Numa vServer пытается перебалансировать трафик VIF-объектов между сетевыми адаптерами. Нагрузка одного VIF не делится между двумя сетевыми адаптерами.

Активно-активный режим агрегации сетевых адаптеров может обеспечить выравнивание нагрузки от трафика нескольких ВМ, этот режим не может предоставить одной ВМ пропускную способность двух сетевых адаптеров. Любой VIF-объект использует строго один из агрегированных интерфейсов за один раз. Поскольку Numa vServer периодически балансирует трафик, VIF-объекты не оказываются закрепленными за определенными сетевыми адаптерами агрегации постоянно.

Активно-активный режим иногда упоминается как Source Load Balancing-агрегация (SLB-агрегация), поскольку Numa vServer использует SLB для совместного использования потоки пакетов через агрегированные сетевые адаптеры. SLB является ответвлением Adaptive Load Balancing (ALB) с открытым исходным кодом и использует возможность ALB динамически балансировать нагрузку на сетевые адаптеры.

При повторной балансировке количество байтов, пересланных через каждое ведомое устройство (сетевой интерфейс), отслеживается в течение установленного промежутка времени. Когда пакет, который необходимо отправить, содержит MAC-адрес нового источника, этот адрес присваивается сетевому адаптеру с самым низким уровнем загруженности. Распределение трафика производится через равномерные промежутки времени.

Каждый MAC-адрес имеет соответствующую нагрузку, и Numa vServer может перемещать нагрузку между сетевыми адаптерами в зависимости от количества данных, которые ВМ отправляет и получает. Для активно-активного режима весь трафик одной ВМ может быть перераспределён только целиком на другой адаптер.

Примечание

Активно-активный режим агрегации не требует от коммутатора поддержки EtherChannel или 802.3ad (LACP).

Активно-пассивный тип агрегации (Active-Passive mode)#

Активно-пассивная агрегация направляет трафик только по одному из сетевых адаптеров, таким образом, трафик передаётся другому сетевому адаптеру в агрегации, только если происходит сбой соединения текущего активного сетевого адаптера (failover).

Активно-пассивный тип агрегации доступен при использовании сетевого стека Linux Bridge или vSwitch. При использовании Linux Bridge можно агрегировать только два сетевых адаптера, в случае vSwitch – два, три или четыре. Однако, независимо от типа трафика, когда сетевые адаптеры агрегируются в активно-пассивном режиме, только один интерфейс является активным и отсутствует балансировка нагрузки.

Два сетевых адаптера, агрегированные в активно-пассивном режиме

Два сетевых адаптера, агрегированные в активно-пассивном режиме

Активно-активный тип агрегации является типом по умолчанию в среде Numa vServer, для конфигурирования агрегации активно-пассивный режиме необходимо определять этот параметр при настройке интерфейса, в противном случае интерфейс будет работать в режиме активно-активно.

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

Активно-пассивный режим не требует от коммутатора поддержки EtherChannel или стандарта 802.3ad (LACP).

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

Внимание!

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

Протокол управления агрегацией каналов (Link Aggregation Control Protocol, LACP) является типом агрегирования, при котором группа портов связывается вместе и обрабатывается как единый логический канал. Агрегированные каналы LACP используются как для повышения пропускной способности, так и повышения отказоустойчивости.

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

В таблице ниже приведено сравнение активно-активного типа агрегации SLB (балансировка на основе источника) и LACP-агрегации.

Таблица – Сравнение активно-активного типа агрегации SLB и LACP-агрегации

Режим Преимущества Ограничения
Активно-активная агрегация SLB не требует от коммутаторов поддержки стекирования

поддерживает агрегацию до четырёх сетевых адаптеров
оптимальное выравнивание нагрузки требует наличия, по меньшей мере, одного сетевого адаптера на один VIF-объект

управляющий трафик, равно как и трафик обмена с хранилищем, не может быть распараллелен между несколькими сетевыми адаптерами

выравнивание нагрузки происходит только при наличии нескольких MAC-адресов
LASP-агрегация все соединения могут быть активными, независимо от типа трафика

балансирование трафика не подразумевает зависимости от исходных MAC-адресов – таким образом, все типы трафика могут быть сбалансированы
коммутаторы должны поддерживать стандарт IEEE 802.3ad

требует наличие управляемого коммутатора

поддерживается только в сетевом стеке vSwitchv

требует один коммутатора или коммутаторов в стеке

Балансировка трафика в режиме агрегации LACP#

Numa vServer поддерживает при использовании LACP-агрегации два типа хеширования (термин хеширование здесь относится к способу, согласно которому сетевые адаптеры и коммутатор распределяют трафик):

  • балансировка нагрузки, основанная на IP-адресе и используемых портах источника и получателя;
  • балансировка нагрузки, основанная на MAC-адресе источника.

В зависимости от типа хеширования и типа трафика, LACP-агрегация потенциально позволяет распределять трафик более равномерно, чем активно-активная агрегация.

Примечание

Необходимо задать настройки для входящего и исходящего трафика – и на сервере, и на коммутаторе: конфигурация не обязательно должна совпадать с обеих сторон.

Балансировка нагрузки, основанная на IP-адресе и используемых портах источника и получателя#

Этот тип хеширования используется по умолчанию при использовании LACP-агрегации.

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

Если в ВМ исполняется несколько приложений, использующих различные IP-адреса или номера портов, данный тип хеширования распределяет трафик по нескольким каналам, давая гостевой системе возможность использования совокупной пропускной способности агрегированного интерфейса.

Балансировка нагрузки, основанная на IP-адресе и используемых портах источника и получателя (стек коммутаторов)

Балансировка нагрузки, основанная на IP-адресе и используемых портах источника и получателя стек коммутаторов

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

Балансировка нагрузки, основанная на IP-адресе и используемых портах источника и получателя (один коммутаторов)

Балансировка нагрузки, основанная на IP-адресе и используемых портах источника и получателя (один коммутаторов)

Алгоритм балансировки для этого типа хеширования использует пять факторов для распределения трафика между сетевыми интерфейсами: IP-адрес источника, номер порта источника, IP-адрес назначения, номер порта назначения и MAC-адрес источника.

Балансировка нагрузки, основанная на MAC-адресе источника#

Этот тип балансировки нагрузки работает хорошо, когда есть несколько виртуальных машин на одном сервере. Трафик балансируется на основе виртуального MAC-адреса виртуальной машины, с которой исходит трафик. Numa vServer отправляет исходящий трафик, используя тот же самый алгоритм, как в случае активно-активного агрегирования. Трафик от одной виртуальной не распределяется между несколькими сетевыми адаптерами. В результате этот тип хеширования не подходит для ситуаций, когда виртуальных интерфейсов меньше, чем физических сетевых адаптеров.

Балансировка нагрузки, основанная на MAC-адресе источника

Балансировка нагрузки, основанная на MAC-адресе источника

Настройка коммутатора#

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

Используйте стековые коммутаторы, если вы хотите подключить агрегированные сетевые адаптеры к нескольким коммутаторам и настроили тип агрегации LACP. Термин «стековые коммутаторы» относится к ситуации, когда несколько физических коммутаторов сконфигурированы так, чтобы функционировать как один логический коммутатор. Коммутаторы в стеке должны быть соединены физически, и их ПО должно обеспечивать работу коммутаторов как единого логического коммутатора. Осуществляйте настройку стека в соответствии с документацией производителя оборудования.

Вариант схемы соединения серверов и стека коммутаторов

Вариант схемы соединения серверов и стека коммутаторов

Конфигурация коммутатора для агрегаций типа LACP#

Несмотря на то, что некоторые детали конфигурации коммутаторов зависят от производителя, есть несколько ключевых пунктов, которые следует помнить, настраивая коммутаторы для использования с агрегациями типа LACP:

  • сам коммутатор должен поддерживать LACP и стандарт IEEE 802.3ad;
  • при создании LAG-группы на коммутаторе необходимо создать одну LAG-группу для каждой агрегации LACP на сервере;
  • возможно, также следует добавить к LAG-группе идентификатор VLAN;
  • каналы LACP на Numa vServer требуют, чтобы параметр режима Static Mode в LAG-группе был установлен в «Disabled» (отключено).

Как упоминалось ранее, наличие стекирования в коммутаторах является необходимым условием при подключении агрегации LACP к нескольким коммутаторам.

Первоначальная конфигурация сети после установки#

Некоторые сетевые параметры сервера указываются ещё во время установки: IP-адрес (DHCP), сетевой адаптер, используемый в качестве интерфейса управления.

Если сервер содержит несколько сетевых адаптеров/интерфейсов, конфигурация сети, после установки, будет зависеть от того, какой из них был выбран для администрирования во время установки:

  • для каждого адаптера сервера создается отдельный ссылочный объект на физический сетевой интерфейс (PIF или PIF-объект);
  • физическому сетевому интерфейсу сетевого адаптера, используемому в качестве интерфейса управления, присваиваются настройки IP-адреса, указанные во время установки;
  • для каждого физического сетевого интерфейса создается сеть («Network 0», «Network 1» и т. д.);
  • каждая сеть связана с одним PIF-объектом;
  • настройки IP-адреса всех остальных физических интерфейсов остаются неустановленными.

В случае если сервер содержит единственный сетевой адаптер, после установки настройки будут следующими:

  • будет создан один PIF-объект, соответствующий единственному сетевому адаптеру;
  • PIF-объекту будут присвоены настройки IP-адресации, указанные во время установки, чтобы обеспечить возможность управления;
  • физический сетевой интерфейс будет настроен в качестве интерфейса управления;
  • будет создана единственная сеть «Network 0»;
  • сеть «Network 0» будет подключена к PIF с целью обеспечения внешнего подключения к ВМ.

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

Физический сетевой интерфейс PIF, используемый для управления, является единственным физическим сетевым интерфейсом, которому присваиваются настройки IP-адреса во время установки Numa vServer. Создание внешних сетей для виртуальных машин достигается путем соединения физического сетевого интерфейса с виртуальным с помощью сетевого объекта, выполняющего роль виртуального Ethernet-коммутатора.

Изменение конфигурации сети#

Изменить конфигурацию сети можно посредством изменения сетевого объекта. Чтобы сделать это, необходимо выполнить команду, затрагивающую либо сетевой объект, либо виртуальный сетевой интерфейс (VIF).

Изменение сетевого объекта#

Изменять параметры сети, такие как размер фрейма (максимальный блок передачи), метка имени, описание имени и прочие значения, можно посредством команды xe network-param-set и соответствующих параметров.

Единственным обязательным параметром является uuid.

Необязательные параметры включают в себя:

Если значение параметра не задано, то его значение приравнивается к нулю. Для установки пары «ключ-значение» в параметре адаптера, необходимо использовать синтаксическую конструкцию map-param:key=value.

Изменение времени задержки Up Delay трафика агрегации#

Как было описано в разделе Агрегация сетевых интерфейсов, по умолчанию параметр задержки Up Delay равен 31 000 мс, такое значение выбрано, чтобы избежать перебалансировки трафика в случае кратковременных отказов. Несмотря на то, что время ожидания может показаться очень большим, такая задержка необходима для всех режимов агрегации, а не только для активно-активного.

Администратор может изменить время ожидания перед группировкой с помощью выполнения следующих команд:

  • установка времени ожидания в миллисекундах:
xe pif-param-set uuid=<uuid главного интерфейса агрегации (PIF)> other-config:bond-updelay=<Время задержки в мс>
  • чтобы изменения вступили в силу, необходимо отключить, а затем снова включить физический сетевой интерфейс:

xe pif-unplug uuid=<uuid главного интерфейса агрегации (PIF)>
xe pif-plug uuid=<uuid главного интерфейса агрегации (PIF)

Управление конфигурацией сети#

Процедуры настройки сети в этом разделе различаются в зависимости от того, настраивается сеть на отдельном сервере или на сервере, который является частью пула ресурсов.

Создание сетей на автономном сервере#

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

  • создания частной сети;
  • поддержки дополнительных операций, таких как VLAN и объединение сетевых адаптеров.

Добавление новой сети с помощью командной строки:

  • открыть консоль управления сервера;
  • с помощью команды создания сети создать новую сеть:
xe network-create name-label=<mynetwork>

После ввода команды на экране будет отображён UUID новой сети.

На данном этапе сеть не подключена к физическому интерфейсу, т.е. является внутренней.

Создание сетей в пуле ресурсов#

Все серверы в рамках одного пула должны иметь одинаковое количество сетевых адаптеров (NIC), хотя это требование не является строгим.

Идентичность физической конфигурации сервера в рамках одного пула важна, потому что все серверы одного пула имеют общий набор сетей. Физические сетевые интерфейсы отдельных серверов подключаются к общим сетям пула по имени устройства. Например, все серверы в рамках пула с сетевым интерфейсом eth0 будут иметь соответствующий физический сетевой интерфейс, подключенный к общей сети пула Network 0. То же самое будет справедливо для серверов с интерфейсами eth1 и Network 1, так же, как и для иных адаптеров, присутствующих как минимум на одном сервере в пуле.

Если у одного из серверов количество сетевых адаптеров отличается от всех остальных в пуле, могут возникнуть сложности, так как не все сети пула будут действительны для всех его участников. Например, если серверы host1 и host2 находятся в одном пуле, и при этом у host1 четыре сетевых адаптера, а у host2 всего два, то для host2 будут действительны только сети, подключенные к физическим интерфейсам, соответствующим eth0 и eth1. Виртуальные машины на host1 с виртуальными сетевыми интерфейсами, подключенными к сетям, соответствующим eth0 и eth1 не смогут мигрировать на сервер host2.

Создание виртуальных локальных сетей (VLAN)#

Для серверов в рамках пула ресурсов можно воспользоваться командой xe pool-vlan-create. Эта команда создает VLAN и автоматически создает и подключает необходимые физические интерфейсы.

Чтобы создать сеть для использования с VLAN, необходимо выполнить следующие действия:

  • открыть консоль управления сервера;
  • создать новую сеть для использования с VLAN, выполнив команду:
xe network-create name-label=network5

На экране будет отображен UUID новой сети.

  • чтобы найти UUID физического сетевого интерфейса, соответствующего физическому сетевому адаптеру, поддерживающему желаемый VLAN-тэг, необходимо использовать команду pif-list. Будут показаны UUID и имена устройств всех физических интерфейсов, включая все существующие VLAN:
xe pif-list
  • создать объект VLAN и указать желаемый физический сетевой интерфейс и VLAN-тэг:
xe vlan-create network-uuid=<network_uuid> pif-uuid=<pif_uuid> vlan=5

На экране будет отображен UUID новой сети VLAN

  • после создания новой сети можно подключить виртуальные сетевые интерфейсы ВМ к этой сети.

Агрегирование сетевых адаптеров автономного сервера#

В данном разделе описывается порядок объединения интерфейсов сетевых адаптеров на сервере Numa vServer, не объединённых в пул с другими серверами, при помощи командной строки.

Агрегирование сетевых адаптеров#

Для агрегации двух или четырёх сетевых адаптеров следует:

  • создать новую сеть для использования с объединенным сетевым адаптером командой network-create:
xe network-create name-label=<bond0>

На экране будет отображен UUID новой сети.

  • узнать идентификаторы UUID физических интерфейсов, которые предполагается агрегировать, можно командой pif-list:
xe pif-list
  • настроить активно-активный тип агрегации (это тип по умолчанию) командой bond-create, чтобы создать агрегацию. Отделите параметры запятыми, укажите UUID только что созданной сети и UUID физических интерфейсов, которые необходимо объединить:
xe bond-create network-uuid=<network_uuid> pif-uuids=<pif_uuid_1>,<pif_uuid_2>,<pif_uuid_3>

Ввести два UUID, если вы объединяете два сетевых адаптера, и четыре UUID – eсли четыре. После выполнения команды будет выведен UUID агрегации.

  • или настроить агрегацию типа «активно-пассивная» или типа LACP с использованием того же синтаксиса, указав необязательный параметр mode и задав для него значение lacp или active-backup:
xe bond-create network-uuid=<network_uuid> pif-uuids=<pif_uuid_1>,<pif_uuid_2>,<pif_uuid_3> mode=<balance-slb | active-backup | lacp>

Управление MAC-адресом агрегации#

При агрегировании физического сетевого интерфейса используемого в данный момент в качестве интерфейса управления, роль интерфейса управления переносится на всю агрегацию. Если на сервере используется DHCP, то в большинстве случаев MAC-адрес агрегации будет совпадать с таковым у физического сетевого интерфейса, используемого в настоящий момент, а IP-адрес интерфейса управления останется неизменным.

MAC-адрес агрегации можно изменить, чтобы он отличался от MAC-адреса (текущего) адаптера интерфейса управления. Однако после объединения и изменения MAC/IP-адреса текущие сессии сети на сервере будут сброшены.

Управлять MAC-адресом агрегации можно двумя способами:

  • в команде xe bond-create можно указать необязательный параметр mac. Этот параметр можно использовать, чтобы сделать MAC-адрес произвольным;
  • если параметр mac не указан, будет использован MAC-адрес управляющего интерфейса, если он является одним из интерфейсов агрегации. Если в агрегацию не входит управляющий интерфейс, а входит другой интерфейс, то агрегация использует MAC-адрес (а также IP-адрес) интерфейса управления. Если ни один из сетевых интерфейсов агрегации не является интерфейсом управления, агрегация использует MAC-адрес первого из указанных сетевых адаптеров.

Отключение агрегации сетевых адаптеров#

При возврате сервера к неагрегированной конфигурации следует обратить внимание, что команда xe bond-destroy автоматически настроит интерфейс, указанный в параметре primary-slave, в качестве интерфейса управления. Впоследствии, все виртуальные интерфейсы будут перемещены на него.

Термин primary-slave здесь соответствует физическому сетевому интерфейсу, настройки MAC- и IP-адресов которого были использованы при создании агрегации. При объединении двух сетевых адаптеров интерфейсом primary-slave будет являться:

  • интерфейс управления (если он является одним из агрегируемых);
  • любой другой сетевой адаптер с IP-адресом (если интерфейс управления не является одним из агрегируемых);
  • первый указанный сетевой адаптер. Узнать, какой это интерфейс, можно выполнив команду:
xe bond-list params=all

Агрегирование сетевых адаптеров в пуле#

Если это возможно, рекомендуется создавать агрегации сетевых адаптеров в процессе создания пула ресурсов, до добавления к пулу дополнительных серверов к пулу и создания ВМ. Это позволит автоматически дублировать настройки агрегации на серверы по мере их подключения к пулу и уменьшит объёмы работы.

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

  • с помощью интерфейса CLI настроить агрегации на мастере пула, а затем на каждом рядовом члене пула;
  • с помощью интерфейса CLI настроить группы на мастере пула, чтобы он получил настройки от мастера.

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

Предупреждение

Не пытайтесь агрегировать сети при включенной функции высокой доступности HA (High Availability). Процесс агрегирования нарушит текущие процессы функции HA и вызовет отключение серверов; после этого, скорее всего, не удастся выполнить их перезагрузку правильно, а для восстановления потребуется выполнить команду xe host-emergency-ha-disable.

Добавление агрегаций сетевых адаптеров к новому пулу ресурсов#

Для агрегации двух или четырёх сетевых адаптеров следует:

  • выбрать сервер, который должен стать мастером пула. По умолчанию любой сервер является мастером собственного безымянного пула. Чтобы создать пул ресурсов с помощью командной строки, необходимо переименовать существующий безымянный пул:
xe pool-param-set name-label=<New Pool> uuid=<pool_uuid>
xe pool-join master-address=<host1> master-username=root master-password=<password>

Данные сети и агрегации будут автоматически перенесены на новый сервер. Интерфейс управления автоматически переносится с сетевого адаптера сервера, где он был изначально настроен, на физический сетевой интерфейс, включенный в агрегацию (то есть интерфейс управления теперь поглощён агрегацией, вся она выполняет роль интерфейса управления).

Чтобы найти идентификатор UUID настраиваемого сервера, необходимо выполнить следующую команду:

xe host-list

Добавление агрегаций сетевых адаптеров к существующему пулу ресурсов#

Предупреждение

Не пытайтесь агрегировать сети при включенном HA. Процесс создания агрегации нарушит текущие процесс агента сервера и вызовет отключение сервера; после этого, скорее всего, не удастся выполнить их перезагрузку правильно, а для восстановления потребуется выполнить команду xe host-emergency-ha-disable.

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

В качестве альтернативы перезагрузки сервера можно использовать команду systemctl restart xapi.

В результате настройки агрегации и настройки VLAN на мастере пула будут переданы каждому серверу. Интерфейс управления каждого сервера придётся перенастраивать вручную.

Процесс агрегирования сетевых адаптеров описан в в разделе Агрегирование сетевых адаптеров автономного сервера.

Настройка сетевого интерфейса, выделенного для соединения с хранилищем#

С помощью интерфейса CLI можно присвоить сетевому интерфейсу IP-адрес и выделить его под определенные функции, например, под трафик сети хранения данных. Чтобы присвоить сетевому интерфейсу IP-адрес необходимо создать вторичный интерфейс (основной интерфейс с доступным IP-адресом, используемый Numa vServer для управляющего трафика, называется интерфейсом управления).

При необходимости выделить вторичный интерфейс под определенные функции, необходимо проверить конфигурацию сети и убедиться, что сетевой адаптер используется исключительно для необходимого трафика. Например, чтобы выделить сетевой интерфейс под трафик системы хранения, то сетевой интерфейс, запоминающее устройство, коммутатор и/или VLAN должны иметь такую конфигурацию, чтобы к запоминающему устройству, получающему трафик, доступ можно было получить только через выделенный сетевой интерфейс. Если физическая или IP-конфигурация не ограничивают трафик, который может быть пропущен через сетевой интерфейс системы хранения, то прочий трафик, как например управляющий трафик, можно пропустить через вторичный интерфейс.

При создании нового интерфейса для трафика системы хранения данных, необходимо присвоить ему IP-адрес, который будет расположен:

  • в той же подсети, что и интерфейс системы хранения, если этот применимо;
  • будет расположен в отдельной подсети от прочих вторичных интерфейсов или интерфейса управления.

При конфигурации вторичных интерфейсов следует обратить внимание, что каждый интерфейс должен быть расположен в отдельной подсети. Например, при необходимости выделить два дополнительных вторичных интерфейса под хранение, понадобятся IP-адреса в трёх разных подсетях: одна подсеть для интерфейса управления, вторая – для вторичного интерфейса №1 и третья – для вторичного интерфейса №2.

При использовании агрегирования интерфейсов с целью повысить отказоустойчивость передачи трафика системы хранения, рекомендуется рассмотреть вариант использования LACP на основе vSwitch.

Примечание

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

Чтобы присвоить функции сетевому адаптеру необходимо:

  • убедиться, что физический сетевой интерфейс находится в отдельной подсети или что маршрутизация настроена согласно топологии имеющейся сети, чтобы обеспечить передачу необходимого трафика через выбранный физический сетевой интерфейс;
  • установить IP-конфигурацию для физического сетевого интерфейса, внеся соответствующие величины в параметры режима, а при использовании статического IP-адреса – такие параметры как IP, маску сети, шлюз и DNS:
xe pif-reconfigure-ip mode=<DHCP | Static> uuid=<pif-uuid>
  • присвоить значение true параметру disallow-unplug:

xe pif-param-set disallow-unplug=true uuid=<pif-uuid>
xe pif-param-set other-config:management_purpose="Storage" uuid=<pif-uuid>

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

  • после перезапуска хоста убедиться в правильности конфигурации вторичного интерфейса, а затем с помощью команд xe pbd-unplug и xe pbd-plug повторно инициализировать подключение системы хранения к хосту. В результате будет переустановлено соединение с системой хранения, а трафик будет направлен через нужный интерфейс;
  • в качестве альтернативы можно использовать команду xe pif-forget, чтобы удалить интерфейс из базы данных и вручную настроить его в управляющем домене. Эта рекомендация является дополнительной и потребует навыка ручной конфигурации сетей Linux.

Использование сетевых адаптеров с поддержкой SR-IOV#

Технология Single Root I/O Virtualization (SR-IOV) является технологией виртуализации PCI-устройств, которая позволяет одному PCI-устройству выполнять функцию нескольких аналогичных устройств на шине PCI. Само по себе физическое устройство называется физической функцией (Physical Function, PF), в то время как все остальные называются виртуальными функциями (Virtual Functions, VF). Целью является предоставление гипервизору возможности напрямую присваивать один или несколько виртуальных сетевых адаптеров виртуальной машине с помощью технологии SR-IOV: пользователь может использовать виртуальные адаптеры наравне со всеми прочими напрямую подключенными PCI-устройствами.

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

Предупреждение

Если виртуальной машине требуется мобильность, и она имеет присвоенные виртуальные адаптеры SR-IOV, то выполнение таких функций, как Live Migration, High Availability и Disaster Recovery невозможно. Это происходит из-за того, что ВМ напрямую связана с виртуальной функцией физического сетевого адаптера с поддержкой SR-IOV. Кроме того, сетевой трафик ВМ, направляемый через виртуальные сетевые адаптеры функции SR-IOV, минует vSwitch, что делает невозможным создание ACL или просмотр QoS.

SR-IOV имеет лучшую производительность, чем VIF. Он может обеспечить аппаратное разделение трафика между разными виртуальными машинами через один и тот же сетевой адаптер в обход сетевого стека Numa vServer.

Преимущества SR-IOV#

Используя эту функцию, можно:

  • включить SR-IOV на сетевых картах, которые поддерживают SR-IOV;
  • отключить SR-IOV на сетевых картах, поддерживающих SR-IOV;
  • управлять SR-IOV VFs как пулом ресурсов VF;
  • назначить VF SR-IOV виртуальной машине;
  • настроить VFs SR-IOV (например, MAC-адрес, VLAN, скорость);
  • запустить тест для проверки поддержки SR-IOV.

Конфигурация системы для работы с SR-IOV#

Для корректной работы SR-IOV необходима поддержка оборудованием следующих технологии:

  • виртуализация ввода-вывода MMU (AMD-Vi и Intel VT-d);
  • альтернативная интерпретация идентификатора маршрутизации (ARI);
  • услуги по переводу адресов (ATS);
  • службы контроля доступа (ACS).

Ограничения при работе с SR-IOV#

Технология SR-IOV следующие ограничения:

  • для некоторых сетевых адаптеров, использующих устаревшие драйверы (например, семейство Intel I350), необходимо перезагрузить сервер, чтобы включить или отключить SR-IOV на этих устройствах;
  • только гостевые ВМ с поддержкой аппаратной виртуализации (HVM) поддерживают работу с технологией SR-IOV;
  • сеть уровня пула, имеющая разные типы сетевых карт, не поддерживается;
  • VF SR-IOV и обычный VIF одного и того же сетевого адаптера могут не иметь возможности связываться друг с другом из-за аппаратных ограничений сетевого адаптера. Чтобы эти хосты могли обмениваться данными, убедитесь, что для связи используется шаблон VF для VF или VIF для VIF, а не VF для VIF;
  • настройки качества обслуживания для некоторых VF SR-IOV не вступают в силу, поскольку они не поддерживают ограничение скорости сети;
  • выполнение динамической миграции, приостановки и создание снимка состояния не поддерживается на виртуальных машинах, использующих SR-IOV VF;
  • VF SR-IOV не поддерживают горячее подключение;
  • для некоторых сетевых карт с устаревшими драйверами может потребоваться перезагрузка даже после перезапуска хоста, это указывает на то, что сетевая карта не может включить SR-IOV;
  • аппаратное ограничение: функция SR-IOV полагается на контроллер для сброса функций устройства в исходное состояние в течение 100 мс по запросу гипервизора с использованием сброса функционального уровня (FLR);
  • SR-IOV может использоваться в пуле, который использует механизм HA (высокая доступность). Виртуальные машины, которым назначены SR-IOV VF, перезапускаются, когда в пуле есть сервер, имеющий соответствующие ресурсы.

Настройка SR-IOV для устаревших драйверов#

Обычно максимальное количество VF, которые может поддерживать сетевая карта, может быть определено автоматически. Для сетевых карт, использующих устаревшие драйверы (например, семейство Intel I350), ограничение определяется в файле конфигурации модуля драйвера. Может потребоваться корректировка лимита вручную. Чтобы установить его на максимум, необходимо:

  • открыть файл редактором:
/etc/modprobe.d/igb.conf
  • установить максимальное количество VF на 7 в поле VFs-maxvfs-by-user:
1
2
3
4
## VFs-param: max_vfs
## VFs-maxvfs-by-default: 7
## VFs-maxvfs-by-user: 7
options igb max_vfs=0
  • сохранить изменения;
  • выгрузить и загрузить драйвер для применения конфигурации:
rmmod igb && modprobe igb

Внимание!

Вносимое в файл конфигурации драйвера значение должно быть меньше или равно значению VFs-maxvfs-by-default.

Не рекомендуется изменять никакие другие строки в этом файле.

Присвоение ВМ виртуального адаптера SR-IOV#

  • открыть CLI севера;
  • выполнить команду lspci, чтобы отобразить список виртуальных функций (VF). Например:
07:10.0 Ethernet controller: Intel Corporation 82559 Ethernet Controller Virtual Function (rev 01)

В примере выше 07:10.0 является (bus:device.function) - адресом виртуального адаптера.

  • виртуальный адаптер присваивается ВМ с помощью следующей команды:
xe vm-param-set other-config:pci=0/0000:<bus:device.function> uuid=<vm-uuid>
  • запустить ВМ и установить в ОС драйвер соответствующей виртуальному адаптеру для конкретного устройства.

Примечание

Одной ВМ может быть присвоено несколько виртуальных адаптеров, однако один виртуальный адаптер не может использоваться несколькими ВМ.

Ограничение базовой скорости передачи данных (QoS limit)#

Чтобы ограничить объём трафика, который ВМ может отправлять за секунду времени, можно присвоить значение базовой скорости передачи данных (Quality of Service limit) для виртуального сетевого интерфейса. Это позволяет установить максимальный уровень передачи исходящих пакетов данных в Кбайт/сек.

Значение QoS ограничивает уровень исходящих данных из виртуальной машины, и не ограничивает объём входящих данных. В зависимости от сетевого стека, настроенного для пула, можно установить значение параметра QoS для виртуального сетевого интерфейса виртуальной машины в одном из двух мест: либо на внешнем контроллере, совместимым с vSwitch, либо на сервер.

Таблица - Настройка QoS в зависимости от используемого сетевого стека

Сетевой стек Доступные методы конфигурации
vSwitch Внешний контроллер. Этот метод является предпочтительным методом настройки QoS на виртуальном интерфейсе, когда vSwitch выполняет роль сетевого стека;

Командная строка. Возможно установить уровень передачи QoS с помощью команд, как показано в примере ниже.
Linux bridge Командная строка. Установить уровень передачи QoS также можно с помощью командной строки, выполнив команды, описанные ниже.

Предупреждение

Когда vSwitch используется в качестве сетевого стека, можно непреднамеренно установить значение QoS как на внешнем контроллере, так и внутри сервера Numa vServer. В таком случае, Numa vServer ограничит исходящий трафик согласно более низкому из установленных значений.

Пример команд интерфейса командной строки для установки QoS. Чтобы ограничить виртуальный сетевой интерфейс до максимального уровня передачи в 100 Кбайт/с с помощью командной строки, необходимо воспользоваться следующей командой:

xe vif-param-set uuid=<vif_uuid> qos_algorithm_type=ratelimit
xe vif-param-set uuid=<vif_uuid> qos_algorithm_params:kbps=100

Если используется внешний контроллер, рекомендуется установить ограничение скорости передачи в контроллере вместо выполнения этой команды CLI.

Изменение параметров конфигурации сети#

В данном разделе рассматриваются возможности изменения сетевой конфигурации сервера Numa vServer. Это включает в себя:

  • изменение имени хоста (hostname);
  • добавление или удаление DNS-серверов;
  • изменение IP-адреса;
  • изменение сетевого адаптера, используемого в качестве интерфейса управления;
  • добавление нового физического сетевого адаптера к серверу;
  • включение ARP-фильтрации (блокировка порта коммутатора).

Изменение имени хоста#

Системное имя хоста, также известное как DNS-имя, определяется в рамках общей базы данных пула и управляется с помощью следующей команды:

xe host-set-hostname-live host-uuid=<host_uuid> host-name=<host-name>

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

DNS-серверы#

Чтобы добавить или удалить DNS-сервер в конфигурации IP-адресации хоста Numa vServer, следует пользоваться командой xe pif-reconfigure-ip. Например, для физического сетевого интерфейса со статическим IP-адресом:

  • настройте порядок поиска суффиксов DNS вашего домена для разрешения неполных доменных имен:
xe pif-param-set uuid=<pif-uuid_in_the_dns_subnetwork> other-config:domain=suffix.com
  • настройте DNS-сервер для использования на хостах vServer:
xe pif-reconfigure-ip mode=static dns=<dnshost> ip=<ip> gateway=<gateway> netmask=<netmask> uuid=<uuid>
  • вручную настройте интерфейс управления на использование PIF, который находится в той же сети, что и ваш DNS-сервер:
xe host-management-reconfigure pif-uuid=<pif_in_the_dns_subnetwork>

Примечание

Альтернативный способ добавления DNS-сервера:

  • xe pif-reconfigure-ip mode=static dns=<dnshost> ip=<ip> gateway=<gateway> netmask=<netmask> uuid=<uuid>

  • resolvectl domain xenbr0 suffix.com

Изменение конфигурации IP-адреса сервера#

Конфигурацию сетевого интерфейса можно изменить с помощью командной строки. Чтобы изменить конфигурацию IP-адреса физического сетевого интерфейса следует воспользоваться командой xe pif-reconfigure-ip.

Изменение конфигурации IP-адреса в пуле ресурсов#

Серверы Numa vServer в пуле ресурсов имеют один административный IP-адрес, используемый для управления, связи и взаимодействия с другими серверами в пуле. Процедура изменения IP-адреса интерфейса управления для мастера пула отличается от аналогичной процедуры для остальных хостов.

Предупреждение

Изменять IP-адрес и прочие параметры сервера необходимо с осторожностью. В зависимости от топологии сети и вносимых изменений, соединение с сетевой системой хранения данных может быть потеряно. Если это произойдет, систему хранения необходимо подключить заново с помощью команды xe pbd-plug командной строки. Рекомендуется мигрировать ВМ с сервера до внесения изменений в IP-конфигурацию.

Для изменения IP-адреса рядового участника пула следует:

  • установить желаемый IP-адрес посредством интерфейса командной строки выполнив команду xe pif-reconfigure-ip. Например, для получения IP-адреса по DHCP:
xe pif-reconfigure-ip uuid=<pif_uuid> mode=DHCP
  • выполнить команду xe host-list, чтобы убедиться, что участник пула был успешно подключен к мастеру, проверив, что все остальные серверы пула отображаются корректно.
xe host-list

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

По возможности для мастера пула необходимо использовать выделенный IP-адрес, который с малой вероятностью будет подвержен изменениям на протяжении всего срока службы пула.

Для изменения IP-адреса мастера пула следует выполнить следующую последовательность действий:

  • установить желаемый IP-адрес посредством интерфейса командной строки выполнив команду xe pif-reconfigure-ip. Например, для получения IP-адреса по DHCP:
xe pif-reconfigure-ip uuid=<pif_uuid> mode=DHCP
  • после изменения IP-адреса мастера пула, все серверы рядовых участников перейдут в аварийный режим, по причине невозможности установить с ним связь. Чтобы принудительно подключить мастер к остальным членам пула и сообщить им его новый IP-адрес, необходимо c сервера-мастера выполнить следующую команду:
xe pool-recover-slaves

Смена интерфейса управления#

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

Изменение сетевого адаптера, используемого в качестве интерфейса управления:

  • чтобы определить, какой физический сетевой интерфейс соотнесен с сетевым адаптером, и должен использоваться в качестве интерфейса управления, выполнить следующую команду:
xe pif-list

Будет показан UUID каждого физического сетевого интерфейса.

  • чтобы просмотреть IP-адрес для физического сетевого интерфейса, который будет использоваться в качестве интерфейса управления, выполнить команду xe pif-param-list. При необходимости изменить IP-адрес, выполнив команду xe pif-reconfigure-ip:
xe pif-param-list uuid=<pif_uuid>
  • выполнить команду xe host-management-reconfigure для изменения сетевого интерфейса используемого в качестве интерфейса управления. Если этот сервер входит в состав пула, эту команду необходимо выполнить рядового участника пула:
xe host-management-reconfigure pif-uuid=<pif_uuid>
  • для изменения интерфейса управления в пуле необходимо выполнить команду:
xe pool-management-reconfigure network-uuid=<network_uuid>

Отключение интерфейса управления#

Чтобы полностью отключить удаленный доступ к административной консоли, необходимо выполнить команду:

xe host-management-disable

Предупреждение

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

Добавление нового сетевого адаптера#

После установки нового физического сетевого адаптера в сервер он не будет автоматически определён в системе. Для того что бы новый сетевой адаптер определился в системе необходимо выполнить команду xe pif-scan.

Использование блокировки порта коммутатора#

Функция блокировки порта коммутатора Numa vServer позволяет контролировать трафик, отправляемый неизвестными, ненадежным или потенциально опасными ВМ посредством ограничения их способности имитировать наличие MAC-адресов и IP-адресов, которые не были им присвоены. Функции позволяет воспользоваться командами блокировки порта, чтобы заблокировать весь трафик в сети по умолчанию или определить конкретные IP-адреса, с которых отдельным ВМ будет разрешено отправлять трафик.

Блокировка порта коммутатора является функцией, разработанной для провайдеров общедоступных облачных услуг в средах подверженным внутренним угрозам. Эта функция может помочь провайдерам общедоступных облачных услуг, обладающих сетевой архитектурой, где каждая ВМ имеет открытый и связанный с Internet IP-адрес. Поскольку арендаторы облака всегда считаются ненадежными, применение таких мер безопасности, как защита от несанкционированного получения доступа к ресурсам сети за счёт использования чужого IP-адреса, может быть необходимым для защиты виртуальных машин от атак других арендаторов облака.

Использование блокировки порта коммутатора позволяет упростить конфигурацию сети, ограничив действия всех арендаторов и незарегистрированных пользователей одним уровнем сети (L2).

Одной из наиболее важных функций команд блокировки порта коммутатора является ограничение трафика, который может быть получен от ненадежного незарегистрированного пользователя, что, в свою очередь, ограничивает способность такого пользователя имитировать наличие MAC и IP-адреса, которым он на самом деле не обладает. В частности, можно использовать эти команды, чтобы предотвратить такие действия незарегистрированного пользователя, как:

  • сообщение IP-адреса или MAC-адреса, который не входит в список разрешенных адресов, указанных администратором Numa vServer;
  • перехват, несанкционированное получение или перебой трафика других ВМ.

Требования функции блокировки#

Функция блокировки порта коммутатора Numa vServer поддерживается в сетевых стеках Linux bridge и vSwitch.

Если в среде активировано ролевое управление доступом (RBAC), пользователь, настраивающий блокировку порта коммутатора, должен быть авторизован в системе посредством учётной записи с функциями не ниже Оператора пула или Администратора пула. Если RBAC не активирован, пользователь должен быть авторизован в системе мастера пула посредством учётной записи с правами администратора.

При выполнении команд блокировки порта коммутатора, сеть может быть как онлайн, так и оффлайн.

В виртуальных машинах под управлением ОС Windows значок отключенной сети появляется только в том случае, если в гостевой системе установлены vServer VM Tools.

Примечания#

Когда значения функции блокировки порта коммутатора не установлено, виртуальные интерфейсы имеют параметр network_default, а Сети – unlocked.

Конфигурация блокировки порта коммутатора не поддерживается, когда в контроллер программно-определяемых сетей или иные адаптеры.

Блокировка порта коммутатора не защитит от таких действий арендаторов облака, как:

  • осуществление атаки на другого арендатора/пользователя на том же IP-уровне. Однако блокировка порта коммутатора может предотвратить атаки в рамках одного IP-уровня, если они осуществляются следующим образом:
    • действия под видом законного пользователя/арендатора облака;
    • попытка перехвата трафика, предназначенного другому пользователю;
  • истощение ресурсов сети;
  • получение трафика, предназначенного другим ВМ посредством чрезмерной лавинной маршрутизации (для широковещательных MAC-адресов или MAC-адресов с неизвестным назначением).

И соответственно блокировка порта коммутатора не контролирует то, куда ВМ может отправлять трафик.

Примечания по реализации функции#

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

Принцип блокировки порта коммутатора#

Функция блокировки порта коммутатора позволяет контролировать фильтрацию пакетов на одном или двух уровнях:

  • на уровне виртуального сетевого интерфейса. То, каким образом должны фильтроваться пакеты данных, определяется установками виртуального сетевого интерфейса. Можно настроить виртуальный сетевой интерфейс так, чтобы в целом запретить виртуальной машине отправлять трафик, ограничить возможность виртуальной машины отправлением трафика, использующего только заданный IP-адрес, или разрешить виртуальной машине отправлять трафик на любой IP-адрес сети, подключенной к данному виртуальному сетевому интерфейсу;
  • на уровне сети. То, каким образом должны фильтроваться пакеты данных, определяется сетью Numa vServer. Когда режим блокировки виртуального сетевого интерфейса установлен на network_default, это говорит о том, что, то какой трафик можно пропускать, определяется настройками блокировки на уровне сети.

Работа функции не зависит от того, какой сетевой стек используется. Однако Linux bridge не полностью поддерживает блокировку порта коммутатора в IPv6 сетях.

Варианты режима блокировки виртуального сетевого интерфейса#

Функция блокировки порта коммутатора Numa vServer представляет собой режим блокировки с четырьмя вариантами настройки виртуального сетевого интерфейса. Эти варианты могут быть применимы только в том случае, когда виртуальный сетевой интерфейс подключен к работающей ВМ.

Блокировка порта коммутатора

Блокировка порта коммутатора

Рисунок выше показывает, как ведет себя виртуальный сетевой интерфейс (VIF) в трёх различных вариантах режима блокировки, когда параметр, отвечающий за режим блокировки самой сети (параметр default-locking-mode) находится в состоянии unlocked.

На первом изображении рисунка, виртуальный сетевой интерфейс настроен по умолчанию (locking-mode=network_default), поэтому трафик, исходящий от ВМ, не фильтруется.

На втором изображении, виртуальный сетевой интерфейс не отправляет и не получает пакеты трафика, поскольку режим блокировки disabled запрещает обмен трафиком.

На третьей изображении рисунка, виртуальный сетевой интерфейс находится в состоянии unlocked, поэтому он может отправлять только пакеты трафика с заданными MAC- и IP-адресами.

Подробнее значения параметра locking-mode описаны ниже:

  • network_default («для сети по умолчанию»). Когда режим виртуальной сети установлен в значение network_default, сервер использует параметр сети default-locking-mode чтобы определить, следует ли фильтровать пакеты, проходящие через виртуальную сеть и как это делать. Соответственно, поведение отличается в зависимости то того, какое из значений параметра установлено для сети:
    • default-locking-mode=disabled («запрещено»), Numa vServer применяет правило фильтрации, по которому виртуальный сетевой интерфейс удаляет весь трафик;
    • default-locking-mode=unlocked («не заблокировано»), Numa vServer снимает все правила фильтрации по отношению к виртуальному сетевому интерфейсу. По умолчанию этот параметр режима блокировки установлен на значение unlocked («разблокирован»).

Режим блокировки сети по умолчанию не влияет на подключенные VIF, состояние блокировки которых отличается от network_default.

Предупреждение

Параметр default-locking-mode сети с подключенным активным виртуальным сетевым интерфейсом, не подлежит изменению.

  • locked («заблокирован). Numa vServer применяет правила фильтрации, согласно которым через виртуальный сетевой интерфейс может проходить трафик, отправленный только с определённых MAC- и IP-адресов или только на определённые MAC- и IP-адреса. В данном режиме, если не указано ни одного IP-адреса, виртуальная машина не может передавать трафик через данный виртуальный сетевой интерфейс (данной сети).

Чтобы указать IP-адреса, с которых VIF принимает трафик, используйте IP-адреса IPv4 или IPv6 с помощью параметров ipv4_allowed или ipv6_allowed. Однако если у вас настроен мост Linux, не вводите адреса IPv6.

Numa vServer позволяет вводить адреса IPv6, когда Linux bridge активен. Однако не может фильтровать на основе введенных адресов IPv6. Причина в том, что у Linux Bridge нет модулей для фильтрации пакетов протокола обнаружения соседей (NDP). Следовательно, полная защита не может быть реализована, и ВМ смогут выдавать себя за другие ВМ путем подделки пакетов NDP. В результате, если вы укажете хотя бы один адрес IPv6, то Numa vServer пропускает весь трафик IPv6 через VIF. Если вы не укажете адреса IPv6, то не пропускает трафик IPv6 в VIF.

  • unlocked («не заблокирован»). Через виртуальный сетевой интерфейс может проходить весь трафик. То есть к трафику, проходящему через виртуальный сетевой интерфейс, фильтрация не применяется.
  • disabled («запрещён»). Трафик вообще не может проходить через виртуальный сетевой интерфейс, то есть происходит его удаление.

Настройка блокировки порта коммутатора#

В данном пункте описываются три различные процедуры:

  • ограничение работы виртуальных сетевых интерфейсов использованием определенного IP-адреса;
  • добавление IP-адреса к существующему списку ограничений (например, когда необходимо добавить IP-адрес к виртуальному сетевому интерфейсу);
  • удаление IP-адреса из существующего списка ограничений.

Если режим виртуального сетевого интерфейса находится в состоянии locked, то он сможет использовать только адреса, указанные в параметрах ipv4_allowed или ipv6_allowed.

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

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

Чтобы ограничить работу виртуальных сетевых интерфейсов c определённым IP-адресом необходимо:

  • перевести параметр режима default-locking в состояние locked, если этот режим в данный момент не используется, команда:
xe vif-param-set uuid=<vif-uuid> locking-mode=locked

Команда xe vif-uuid выведет UUID виртуального сетевого интерфейса, которому вам необходимо разрешить отправлять трафик. Чтобы получить UUID, выполните команду xe vif-list на сервере. Команда xe vm-uuid укажет виртуальную машину, в отношении которой выведена данная информация.

  • чтобы указать IP-адреса, с которых виртуальной машине можно отправлять трафик, необходимо указать один или несколько желаемых IP-адресов версии IPv4. Например:
xe vif-param-set uuid=<vif-uuid> ipv4-allowed=<список ipv4-адресов через запятую>
  • или указать один или несколько желаемых IP-адресов версии IPv6. Например:
xe vif-param-set uuid=<vif-uuid> ipv6-allowed=<список ipv6-адресов через запятую>

Через запятую можно указать несколько IP-адресов.

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

  • чтобы добавить IP-адрес к существующему списку, следует указать IP-адрес версии IPv4. Например:
xe vif-param-add uuid=<vif-uuid> param-name=ipv4-allowed param-key=<ipv4-адрес>
  • или указать IP-адрес версии IPv6. Например:
xe vif-param-add uuid=<vif-uuid> name=ipv6-allowed param-key=<ipv6-адрес>

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

Чтобы удалить IP-адрес из существующего списка, необходимо указать IP-адрес версии IPv4, которые необходимо удалить. Например:

xe vif-param-remove uuid=<vif-uuid> param-name=ipv4-allowed param-key=<ipv4-адрес>
или указать IP-адрес версии IPv6, который необходимо удалить. Например:
xe vif-param-remove uuid=<vif-uuid> param-name=ipv6-allowed param-key=<ipv6-адрес>

Запрет ВМ отправлять или получать трафик из определенной сети#

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

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

Примечание

Чтобы получить UUID виртуального сетевого интерфейса, необходимо выполнить команду xe vif-list. Поле device показывает номер устройства виртуального сетевого интерфейса.

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

xe vif-param-set uuid=<vif-uuid> locking-mode=disabled

Снятие ограничения работы виртуального сетевого интерфейса#

Чтобы вернуться к разблокированному состоянию виртуального сетевого интерфейса, необходимо перевести режим default-locking виртуального сетевого интерфейса в состояние unlocked (если это состояние уже в данный момент не используется), выполнив следующую команду:

xe vif-param-set uuid=<vif_uuid> locking-mode=unlocked

Упрощённая настройка режима блокировки виртуального сетевого интерфейса#

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

В частности, настройка сетевого параметра default-locking-mode определяет поведение новых виртуальных сетевых интерфейсов с настройками по умолчанию. Если locking-mode виртуального сетевого интерфейса установлен по умолчанию (default), то виртуальный сетевой интерфейс обращается к сетевому режиму блокировки (default-locking-mode), чтобы определить, фильтруются ли пакеты трафика, проходящие через виртуальный сетевой интерфейс, а также то, каким образом происходит фильтрация:

  • unlocked («разблокирован»). Numa vServer разрешает ВМ отправлять трафик на любой IP-адрес сети, подключенной к данному виртуальному сетевому интерфейсу;
  • disabled («запрещён»). Numa vServer применяет правило фильтрации, по которому виртуальный сетевой интерфейс удаляет весь трафик.

По умолчанию параметр default-locking-mode установлен на unlocked для всех сетей.

Устанавливая режим блокировки виртуального сетевого интерфейса в состояние по умолчанию (network_default), можно использовать эту настройку в качестве базовой конфигурации (на уровне сети) для всех вновь созданных виртуальных сетевых интерфейсов, подключенных к определенной сети.

Блокировка виртуального сетевого интерфейса в пуле ресурсов

Блокировка виртуального сетевого интерфейса в пуле ресурсов

Рисунок выше показывает, как виртуальный сетевой интерфейс, в случае если он настроен по умолчанию (locking-mode=network_default), руководствуется значением параметра default-locking-mode сети. Ко всей сети применен параметр default-locking-mode=disabled, поэтому виртуальные сетевые интерфейсы не могут пропускать трафик.

Чтобы изменить настройку режима блокировки по умолчанию для сети необходимо создать сеть и изменить параметр default-locking-mode, выполнив следующую команду:

xe network-param-set uuid=<network-uuid> default-locking-mode=[unlocked|disabled]

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

Чтобы узнать значение по умолчанию сетевого режима блокировки, следует выполнить одну из следующих команд:

xe network-param-get uuid=<network-uuid> param-name=default-locking-mode
или
xe network-list uuid=<network-uuid> params=default-locking-mode

Применение настроек сети для фильтрации трафика к виртуальному сетевому интерфейсу#

Чтобы использовать настройки сети для фильтрации трафика к определенному VIF необходимо выполнить следующие шаги:

  • перевести режим блокировки виртуального сетевого интерфейса в состояние network_default (если этот режим в данный момент уже не используется), выполнив следующую команду:
xe vif-param-set uuid=<vif_uuid> locking-mode=network_default
  • перевести параметр default-locking в состояние unlocked (если этот режим в данный момент уже не используется), выполнив следующую команду:
xe network-param-set uuid=<network-uuid> default-locking-mode=unlocked

Назначение цели для сети#

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

Чтобы назначить цель необходимо выполнить команду:

xe network-param-add param-name=purpose param-key=<purpose> uuid=<network-uuid>

Для удаления цели из сети выполнить команду:

xe network-param-remove param-name=purpose param-key=<purpose> uuid=<network-uuid>

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

Устранение неполадок сети#

Обнаружение ошибок и неисправностей сети#

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

Если проблема все еще сохраняется, вы можете использовать CLI для отключения оптимизации приема или передачи разгрузки на физическом интерфейсе:

Предупреждение

Отключение оптимизации приема или передачи разгрузки может привести к потере производительности и увеличению загрузки ЦП.

  • определить UUID физического интерфейса:
xe pif-list
  • отключить разгрузку для передачи данных (TX) физического интерфейса:
xe pif-param-set uuid=<pif_uuid> other-config:ethtool-tx=off
  • переподключить физический интерфейс или перезапустить сервер, чтобы изменения вступили в силу.

Аварийный перезапуск сети#

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

Эта функция доступна из интерфейса командной строки с помощью команды xe-reset-networking.

Неправильные настройки, вызывающие потерю соединения с сетью, могут также включать в себя переименование сетевых интерфейсов, объединение адаптеров или VLAN, или ошибки при изменении интерфейса управления (например, неправильно введённый IP-адрес).

Эта функция должна использоваться только в случае экстренной ситуации, так как она удаляет конфигурацию всех физических сетевых интерфейсов, агрегаций, VLAN и туннелей, имеющих отношение к данному серверу. Гостевые сети и виртуальные сетевые интерфейсы сохраняются. При выполнении этой функции, виртуальные машины будут принудительно выключены, поэтому рекомендуется перед выполнением команды, выключить виртуальные машины. Перед перезапуском, администратор может внести изменения в интерфейс управления и указать, какую IP-конфигурацию следует использовать: DHCP или статическую.

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

Примечание

Если IP-адрес мастера пула (интерфейс управления) изменяется в результате сброса сети или xe host-management-reconfigure, примените команду сброса сети к другим серверам в пуле. Это необходимо для того, чтобы участники пула могли повторно подключиться к мастеру пула с его новым IP-адресом. В этой ситуации необходимо указать IP-адрес мастера пула.

Внимание!

Перезапуск сети НЕ поддерживается при включенной функции High Availability (HA). Чтобы при таком сценарии выполнить перезапуск конфигурации сети, необходимо сначала в ручную отключить HA, а затем выполнить команду перезапуска сети.

Проверка параметров сети после их сброса#

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

Примечание

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

Перезапуск сети с помощью интерфейса командной строки#

В таблице ниже показаны доступные необязательные параметры, которые можно применить во время выполнения команды xe-reset-networking.

Предупреждение

Ответственность за правильность параметров, указанных для команды xe-reset-networking, лежит на администраторе. Необходимо внимательно проверить все указанные параметры. При указании неверных параметров связь с сетью будет потеряна. В такой ситуации рекомендуется повторно выполнить команду xe-reset-networking, не указывая никаких параметров.

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

Таблица – Параметры xe-reset-networking

Параметр Обязательный/необязательный Описание
-m,
--master
необязательный IP-адрес интерфейса управления мастера пула. Сбрасывает на последнее известное значение IP-адреса мастер пула
--device необязательный Имя устройства административного интерфейса. Сбрасывает на значение имени устройства, указанное при установке
-mode=static необязательный Позволяет использовать следующие четыре параметра для статической IP-конфигурации административного интерфейса. Если этот параметр не указан, по умолчанию используется значение параметра DHCP
--ip обязательный, если mode=static IP-адрес интерфейса управления сервера. Действителен только, если mode=static
--netmask обязательный, если mode=static Маска сети интерфейса управления. Действителен только, если mode=static
--gateway необязательный Шлюз интерфейса управления. Действителен только, если mode=static
--dns необязательный DNS-сервер интерфейса управления. Действителен только, если mode=static

Примеры аварийного сброса настроек на мастере пула#

Ниже описаны примеры команд, которые могут быть применены к мастеру пула:

  • сброс настроек сети для DHCP-конфигурации:
xe-reset-networking
  • сброс настроек сети для статической IP-конфигурации:
xe-reset-networking --mode=static --ip=<ip-address> --netmask=<netmask> --gateway=<gateway> --dns=<dns>
  • сброс настроек сети для DHCP-конфигурации, если после первоначальной установки произошла смена интерфейса управления:
xe-reset-networking --device=<device-name>
  • сброс настроек сети для статической IP-конфигурации, если после первоначальной установки произошла смена интерфейса управления:
xe-reset-networking --device=<device-name> --mode=static --ip=<ip-address> --netmask=<netmask> --gateway=<gateway> --dns=<dns>

Примеры аварийного сброса настроек для рядового участника пула#

Все примеры, приведённые в предыдущем пункте, также применимы и для рядовых серверов пула. Кроме того, можно указать IP-адрес мастера пула (что будет необходимым в случае его изменения). Ниже приведены примеры управления конфигурацией рядовых участников пула:

  • сброс настроек сети для конфигурации DHCP:
xe-reset-networking
  • сброс настроек сети для конфигурации DHCP при изменении IP-адреса мастера пула:
xe-reset-networking --master=<master-ip-address>
  • сброс настроек сети для статической IP-конфигурации, при условии, что IP-адрес мастера пула не менялся:
xe-reset-networking --mode=static --ip=<ip-address> --netmask=<netmask> --gateway=<gateway> --dns=<dns>
  • сброс настроек сети для DHCP-конфигурации, если после первоначальной установки произошла смена интерфейса управления и IP-адреса мастера пула:
xe-reset-networking --device=<device-name> --master=<master-ip-address>