Download PDF
Download page Механизм работы Алиас в Брест.
Механизм работы Алиас в Брест
Сетевые интерфейсы и Алиас
Сетевые интерфейсы в ПК СВ "Брест" могут быть определены двумя различными способами:
- ручной выбор — интерфейсы ВМ подключаются к предварительно выбранной виртуальной сети. Для этого может потребоваться создать несколько шаблонов ВМ с учетом доступных сетей в каждом кластере;
- автоматический выбор — виртуальные сети будут распределены планировщиком так же, как и другие ресурсы, необходимые виртуальной машине (например, серверы управления или хранилища данных). Это позволяет указать тип сети, который требуется ВМ, и она будет автоматически выбрана среди доступных в кластере.
Механизм Алиас позволяет назначать псевдонимы сетевого интерфейса и использовать более одного IP-адреса на каждом сетевом интерфейсе. Адрес-псевдоним не создает новый виртуальный интерфейс для ВМ на стороне узла виртуализации и не присваивает адрес виртуальному интерфейсу ВМ (с идентификатором one-<vmid>-0
). Дополнительный адрес назначается интерфейсу в запущенной ВМ на этапе конфигурации из шаблона ВМ.
Псевдонимы сетевого интерфейса не могут использоваться одновременно с автоматическим выбором виртуальных сетей.
Псевдонимы сетевого интерфейса позволяют использовать разные IP-адреса для разных сервисов на одном сервере, временно переносить IP-адреса с другого узла, решать проблемы маршрутизации и т.д.
Виды псевдонимов сетевых интерфейсов
ПК СВ "Брест" поддерживает два вида псевдонимов сетевых интерфейсов:
- внутренние (internal NIC Alias) — IP-адреса, непосредственно сконфигурированные внутри ВМ в качестве дополнительных IP-адресов на сетевых интерфейсах. ВМ доступна напрямую по внутреннему псевдониму сетевой карты. Управление внутренними псевдонимами доступно через интерфейс командной строки и веб-интерфейс ПК СВ;
внешние (external NIC Alias) — в отличие от внутренних псевдонимов сетевых интерфейсов дополнительные IP-адреса не назначаются для ВМ. При присоединении внешнего псевдонима происходит только выделение адреса из диапазона адресов виртуальной сети, подключение к ВМ по этому адресу без дополнительной конфигурации невозможно.
Внешние псевдонимы сетевых интерфейсов используются при настройке в виртуальных маршрутизаторах сетевой функции SDNAT4 (сопоставления виртуальных сетей). SDNAT4 каждые 30 секунд отслеживает присоединение внешнего псевдонима к любой из ВМ в сетях виртуального роутера и автоматически создает пары интерфейсов для трансляции адресов в обоих направлениях (что позволяет, например, использовать ВМ в частной сети без раскрытия адреса).
Внешний псевдоним не имеет ограничений на использование режимов работы облачной сети.
Параметры контекста для псевдонимов сетевых интерфейсов применяются только в том случае, если подсеть псевдонима сетевого интерфейса уникальна (т.е. ни один другой интерфейс не использует ту же подсеть). В противном случае конкретная конфигурация псевдонима сетевой карты игнорируется. Контекстуализация основных (без псевдонимов) сетевых интерфейсов всегда имеет приоритет над псевдонимами сетевых адаптеров для одной и той же подсети.
Настройка Алиас в ПК СВ "Брест"
Добавление псевдонимов сетевых интерфейсов в шаблон ВМ
В интерфейсе командной строки
Для изменения параметров шаблона ВМ необходимо использовать команду:
onetemplate update <идентификатор_шаблона_ВМ>В шаблоне отредактировать параметры сетевого интерфейса:
NIC = [ NETWORK = "virtnetwork", NAME = "test" ]
CODEгде
NETWORK
- идентификатор используемой виртуальной сети;NAME
- идентификатор сетевого интерфейса.Если параметр NAME не задан, сетевому интерфейсу автоматически будет присвоено системное имя вида "NIC<N>".
При задании пользовательского имени для параметра
NAME
, оно должно быть использовано в шаблоне для параметра PARENT у NIC_ALIAS. Если этого не сделать, создание ВМ через веб-интерфейс будет приводить к ошибке.
Добавить в шаблон параметры псевдонима сетевого интерфейса:
NIC_ALIAS = [ NETWORK = "virtnetwork", PARENT = "test" ]
CODEгде
NETWORK
- идентификатор используемой виртуальной сети;Виртуальная сеть, используемая для дополнительного IP-адреса, может отличаться от виртуальной сети, используемой сетевым интерфейсом.
PARENT
- идентификатор сетевого интерфейса, для которого будет использован дополнительный IP-адрес. (Значение параметраNAME
заданное при редактировании сетевого интерфейса или сгенерированный ПК СВ идентификатор вида "NIC<N>", если на предыдущем шаге параметрNAME
для сетевого интерфейса не был определен.)
Сохранить шаблон ВМ.
Пример вида шаблона ВМ после добавления указанных параметров:CONTEXT = [ NETWORK = "YES", SSH_PUBLIC_KEY = "$USER[SSH_PUBLIC_KEY]" ] CPU = "0.25" DISK = [ IMAGE = "disk", IMAGE_UNAME = "adminbrest" ] DISK = [ IMAGE = "173", IMAGE_UNAME = "adminbrest" ] FEATURES = [ GUEST_AGENT = "yes" ] GRAPHICS = [ LISTEN = "0.0.0.0", TYPE = "VNC" ] HOT_RESIZE = [ CPU_HOT_ADD_ENABLED = "NO", MEMORY_HOT_ADD_ENABLED = "NO" ] HYPERVISOR = "kvm" INPUTS_ORDER = "" MEMORY = "2048" MEMORY_UNIT_COST = "MB" NIC = [ NAME = "test", NETWORK = "virtnetwork", NETWORK_UNAME = "adminbrest", SECURITY_GROUPS = "0" ] NIC_ALIAS = [ NETWORK = "virtnetwork", PARENT = "test" ] OS = [ BOOT = "disk0,disk1", FIRMWARE = "" ] VCPU = "1"
CODEРазвернуть ВМ из шаблона командой:
onetemplate instantiate <идентификатор_шаблона> [<файл_параметров>]где<файл_параметров>
— файл в котором перечислены параметры ВМ, заменяющие значения, которые были определены в шаблоне. Кроме того, возможно вместо файла параметров в команде в качестве аргумента указывать новые значения параметров.
В веб-интерфейсе ПК СВ
На странице Изменить шаблон ВМ во вкладке Расширенный отредактировать в шаблоне ВМ параметры сетевого интерфейса:
NIC = [ NETWORK = "virtnetwork", NAME = "test" ]
CODEгде
NETWORK
- идентификатор используемой виртуальной сети;NAME
- идентификатор сетевого интерфейса.Идентификаторы сетевого интерфейса вида "NIC<N>" зарезервированы системой. ПК СВ автоматически переименует их в вид "_NIC<N>".
Веб-интерфейс ПК СВ не поддерживает отображение в элементах интерфейса пользовательских имен заданных в параметре
NAME
.На страницах Создать ВМ и Изменить шаблон ВМ во вкладке Сеть в выпадающем списке Алиас сетевые интерфейсы будут обозначены системными именами вида "NIC<N>".
Добавить в шаблон параметры псевдонима сетевого интерфейса:
NIC_ALIAS = [ NETWORK = "virtnetwork", PARENT = "test" ]
CODEгде
NETWORK
- идентификатор используемой виртуальной сети;Виртуальная сеть, используемая для дополнительного IP-адреса, может отличаться от виртуальной сети, используемой сетевым интерфейсом.
PARENT
- идентификатор сетевого интерфейса, для которого будет использован дополнительный IP-адрес. (Значение параметраNAME
заданное при редактировании сетевого интерфейса или сгенерированный ПК СВ идентификатор вида "NIC<N>", если на предыдущем шаге параметрNAME
для сетевого интерфейса не был определен.)Возможно создание псевдонима сетевого интерфейса без заданного значения параметра
PARENT
.В таком случае значение родительского сетевого интерфейса можно будет выбрать на страницах Создать ВМ или Изменить шаблон ВМ во вкладке Сеть в выпадающем списке Алиас:
- Сохранить отредактированный шаблон ВМ нажав кнопку Обновить:
- После изменения шаблона ВМ на странице Изменить шаблон ВМ во вкладке Сеть станет доступен новый сетевой интерфейс с возможностью включения использования дополнительного IP-адреса:
Горячее подключение псевдонимов сетевых интерфейсов в ВМ
Для горячего подключения псевдонимов сетевых интерфейсов к работающим ВМ можно воспользоваться двумя способами:
Добавить псевдоним сетевого интерфейса командой:
sudo onevm nic-attach <идентификатор_ВМ> --network <идентификатор_сети>--alias <идентификатор_сетевого_псевдонима>- В веб-интерфейсе ПК СВ на странице ВМ во вкладке Сеть нажать кнопку Добавить сетевой интерфейс:
На открывшейся странице Добавить сетевой интерфейс установить флаг Прикрепить как псевдоним и выбрать виртуальную сеть из списка:
Нажать кнопку Присоединить.