Настройка сети в Proxmox — Proxmox

Первый способ(его я использовал, когда не знал о втором)))

Не буду рассказывать на сколько и каких «граблей» пришлось наступить(с линуксом я знаком очень поверхностно), выложу содержимое файла /etc/network/interfaces. При этой конфигурации всё, вроде как, заработало.

Shell

# Создаем объединение физических сетевых интерфейсов
auto bond0
iface bond0 inet manual
slaves enp4s0f0 enp4s0f1
bond_miimon 100
bond_mode 802.3ad
bond_xmit_hash_policy layer2+3

# Добавляем VLAN100
auto bond0.100
iface bond0.100 inet manual
vlan-raw-device bond0

# Добавляем VLAN150
auto bond0.150
iface bond0.150 inet manual
vlan-raw-device bond0

# Создаем бридж VLAN150(его используем для подключения ВМ к VLAN150)
auto vmbr150
iface vmbr150 inet manual
address 0.0.0.0
netmask 0.0.0.0
bridge_ports bond0.150
bridge_stp off
bridge_fd 0

# Создаем бридж VLAN100(его используем для подключения ВМ к VLAN100. Также он служит для интерфейса управления ноды.)
auto vmbr100
iface vmbr100 inet static
address 192.168.102.63
netmask 255.255.252.0
gateway 192.168.102.251
bridge_stp off
bridge_ports bond0.100
bridge_fd 0

auto vmbr0
iface vmbr0 inet manual
bridge_ports bond0
bridge_stp off
bridge_fd 0
bridge_vlan_aware yes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

# Создаем объединение физических сетевых интерфейсов

auto bond0

iface bond0 inet manual

slaves enp4s0f0 enp4s0f1

bond_miimon100

bond_mode802.3ad

bond_xmit_hash_policy layer2+3

 
# Добавляем VLAN100

auto bond0.100

iface bond0.100inet manual

vlan-raw-device bond0

 
# Добавляем VLAN150

auto bond0.150

iface bond0.150inet manual

vlan-raw-device bond0

 
# Создаем бридж VLAN150(его используем для подключения ВМ к VLAN150)

auto vmbr150

iface vmbr150 inet manual

address0.0.0.0

netmask0.0.0.0

bridge_ports bond0.150

bridge_stp off

bridge_fd

 
# Создаем бридж VLAN100(его используем для подключения ВМ к VLAN100. Также он служит для интерфейса управления ноды.)

auto vmbr100

iface vmbr100 inet static

address192.168.102.63

netmask255.255.252.0

gateway192.168.102.251

bridge_stp off

bridge_ports bond0.100

bridge_fd

auto vmbr0

iface vmbr0 inet manual

bridge_ports bond0

bridge_stp off

bridge_fd

bridge_vlan_aware yes

В данном конфиге используются сети с VLAN ID 100 и 150. Если нужно добавить еще  какие то, добавляем в файл:

Shell

auto bond0.<VLAN ID>
iface bond0.<VLAN ID> inet manual

vlan-raw-device bond0

1
2
3
4

auto bond0.<VLAN ID>

iface bond0.<VLAN ID>inet manual

vlan-raw-device bond0

и

Shell

auto vmbr<VLAN ID>
iface vmbr<VLAN ID> inet manual
address 0.0.0.0
netmask 0.0.0.0
bridge_ports bond0.<VLAN ID>
bridge_stp off
bridge_fd 0

1
2
3
4
5
6
7

auto vmbr<VLAN ID>

iface vmbr<VLAN ID>inet manual

address0.0.0.0

netmask0.0.0.0

bridge_ports bond0.<VLAN ID>

bridge_stp off

bridge_fd

После редактирования файла /etc/network/interfaces не забудьте перезапустить службу /etc/init.d/networking restart(иногда нужно и перезагрузить хост).

В веб-интерфейсе это выглядит примерно так(добавлены еще несколько VLAN, которые не указаны в примере):

P.S.  После экспериментов выяснилось, что bonde_mode 802.3ad не обеспечивает отказоустойчивость, в связи с чем она была заменена на bond_mode balance-xor

Работа с WEB-интерфейсом

Подключение к Proxmox выполняется с помощью браузера. Подключитесь по указанному адресу из любого браузера. Сертификаты сервера являются самоподписанными, поэтому браузер выдаст предупреждение безопасности. Нажмите Дополнительные и выбираем ссылку Перейти на сайт 192.168.0.166 (небезопасно). На скриншоте ниже показано выглядит WEB-интерфейс Proxmox VE:

Сначала выберите русский язык, затем введите пользователя root и пароль от суперпользователя:

Нас предупредили, что на Proxmox VE не оформлена подписка на наш сервер, ОК.

Настройте хранилище. Сейчас система автоматически создала хранилище в расположении /var/lib/vz с названием local. Кликните на ссылку:

В хранилище с помощью WEB-интерфейса Proxmox можно загрузить образ диска ISO, разместить там же образ диска виртуальной машины, контейнеры и шаблоны. Так же в хранилищах хранятся snapshot – архивные копии виртуальных машин. Хорошим решением будет добавить в систему ещё одно хранилище для бэкапов, шаблонов виртуальных машин.

Создайте дополнительное хранилище. Для этого перейдите в раздел Датацентр, найдите справа от дерева серверов пункт Хранилище, кликните по нему и выберете хранилище local. На приведённом ниже скриншоте видно, что, кликнув на local в основном окне, можно редактировать типы хранимой информации. Для дальнейшей демонстрации включаю тип Резервная копия и применяю изменения:

По кнопке Добавить можно посмотреть какие типы хранилища доступны в данной инсталляции Proxmox VE.

В моей тестовой машине все реализовано на томах LVM:

Самый большой размер 122 Гб на машине pve-test примонтирован к директории /home. Нажмите Добавить, выберите Каталог, укажите имя home и путь /home:

В результате создано собственное хранилище с именем home, где и будут храниться все данные:

Рекомендации и тюнинг

DRBD

Как я отметил выше, всегда желательно использовать отдельную сеть под репликацию. Крайне желательно использовать 10-гигабитные сетевые адаптеры, в противном случае у вас все упрется в скорость портов.
Если репликация вам кажется достаточно медленной попробуйте потюнить некоторые параметры для DRBD. Вот конфиг, который на мой взгляж является оптимальными для моей 10G-сети:

NFS-сервер

Для ускорения работы NFS-сервера возможно поможет увеличение общего числа запускаемых экземпляров NFS-сервера. По умолчанию — 8, лично мне помогло увеличение этого числа до 64.

Что бы этого добиться обновите параметр в .
И перезапустите демоны:

NFSv3 vs NFSv4

Знаете в чем отличие между NFSv3 и NFSv4?

  • NFSv3 — это stateless протокол как правило он лучше переносит сбои и быстрее восстанавливается.
  • NFSv4 — это stateful протокол, он работает быстрее и может быть привязан к определенным tcp-портам, но из-за наличия состояния он более чувствителен к сбоям. В нем так же есть возможность использование аутентификации с помощью Kerberos и куча других интересных функций.

Тем не менее когда вы выполняете используется протокол NFSv3. Proxmox тоже использует NFSv3. NFSv3 так же обычно используется для организации загрузки машин по сети.

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

Примонтировать шару используя NFSv3 можно указав параметр для команды mount:

При желании можно отключить NFSv4 для сервера вообще, для этого добавьте опцию в переменную и перезапустите сервер, пример:

Второй способ заключается в использовании openvswitch.

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

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

Итак, после установки проксмокса, нужно установить пакет OVS. Для этого в консоли выполняем команды:

Shell

apt-get install openvswitch-switch

1 apt-getinstall openvswitch-switch

Перед этим можно закомментировать коммерческий репозиторий proxmox:

открываем файл в редакторе

Shell

nano /etc/apt/sources.list.d/pve-enterprise.list

1 nanoetcaptsources.list.dpve-enterprise.list

и закомментируем строку

После установки пакета удаляем стандартный Linux Bridge:

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

Затем создаем уже OVS Bridge:

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

Режим балансировки у меня указан LACP(требует настройки на физическом коммутаторе), вы можете выбрать другой.

После этого перезагружаете хост и просите сетевого инженера настроить LACP на портах физического коммутатора.

Возможно, вас заинтересуют статьи по VMware и Hyper-V.

Настройка сети Proxmox

Создайте бэкап файла сетевых настроек. Для этого в терминале напишите:

В системе реализованы несколько способов получения доступа по сети из виртуальных машин или к виртуальным машинам. Перейдите на группу pve-test в дереве серверов, выберите справа пункт Сеть и нажмите кнопку Создать:

Из предложенных вариантов выберите Linux Bridge, чтобы создать виртуальный свитч, через который гипервизор Proxmox VE и виртуальные машины подключатся к сети:

В портах сетевого моста указано имя сетевой карты enp2s0, которой тестовая машина подключена кабелем к роутеру. В Linux принято после указания IP-адреса указывать маску подсети через знак . Значение 192.168.0.166/24 означает, что маска подсети 255.255.255.0.

Уберите в WEB-интерфейсе Proxmox VE с сетевого интерфейса enp2s0 IP-адрес, выданный ему службой DHCP роутера и выполните перезагрузку хоста Proxmox VE для применения настроек. Нажмите кнопку reboot, которая находится на верхней панели и через некоторое время обновите страницу. Будьте очень аккуратны при работе с VDS или VPS, которые настраиваете удалённо, чтобы не потерять доступ к установленной системе. Если ситуация с потерей доступа к хосту произошла, то необходимо в режиме восстановления скопировать ранее нами созданный файл настроек interfaces.work из директории /etc/network, путём выполнения команды:

На скриншоте красным маркером обведён новый текст файла /etc/network/interfaces, который будет применён после перезагрузки. Если все прошло корректно, то через некоторое время можно снова входить в WEB-интерфейс хоста Proxmox VE.

Создание виртуальных машин в Proxmox VE

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

~# cd mntdata/template/iso
~# wget https://centos2.hti.pl/8.0.1905/isos/x86_64/CentOS-8-x86_64-1905-boot.iso

Для создания новой виртуальной машины внутри гипервизора необходимо в правом верхнем углу web-интерфейса нажать «Create VM», после чего откроется окно настройки.

Перед вами откроется окно настроек с восемью вкладками и множеством параметров. Рассмотрим основные базовые, вы их можете изменить под свои нужды. Единственный момент, который необходимо учесть при создании виртуальных машин, их ресурсы не должны превышать физические характеристики гипервизора. Логично, что имея физически на боту 16 Gb оперативной памяти, создать виртуальных несколько машин потребляющих суммарно 32 Gb у вас получится, но при превышении ресурсов гипервизор просто «уйдет в себя». Это же касается и емкости жестких дисков

За этим важно следить

Приведу листинг по пунктам:

Node: dedicated
VM ID: 101
Name: CentOS-8
Use CD/DVD disc image file (iso)
Storage: data
ISO image: CentOS-8-x86_64-1905-boot.iso
Type: Linux
Version: 5.x - 2.6 Kernel
Graphic card: Default
SCSI controller: VirtIO SCSI
Bus/Device: VirtIO Block : 0
Storage: data
Disk size (GiB): 120
Format: QEMU image format (qcow2)
Cache: Default (No cache)
Sockets: 1
Cores: 2
Type: Default (kvm64)
Memory (MiB): 4096
Brige: vmbr0
Model: VirtIO (paravirtualized)
Start after created

Сверившись, что все настроено верно, нажимаем «Finish» и ждум загрузку виртуальной машины. Когда она будет запущена, выберем ее и перейдем во вкладку «Console», где увидим окно первоначальной настройки дистрибутива.

Настройка виртуальной машины ничем не отличается от обычной настройки дистрибутива CentOS. Настроив все параметры, сеть, вы сможете подключаться к ней по ssh и работать как с полноценным сервером.

У нас Вы можете арендовать сервер (dedicated server) c поддержкой аппаратной виртуализации, развернуть на котором гипервизор Proxmov VE у Вас не сосотавит труда. Если во время использования инструкции у Вас возникнут вопросы, наша техническая поддержка готова прийти на помощь в любое время.

Создаем виртуальную машину CHR

Все действия описанные ниже нужно проделать в консоли сервера Proxmox от имени root.

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

# qm list
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID
       100 VM-100               running    1024               8.00 1266
       101 MikrotiK             stopped    256                0.00 0

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

Скрипт создания виртуальной машины с Mikrotik OS

Этот скрипт создаст виртуальную машину с номером 102 на которую будет установлен Router OS CHR Mikrotik версии 6.46.2. Отредактируйте его под ваши задачи.

Выполнить следующие команды необходимо в консоли Proxmox:

cd /root
wget https://download2.mikrotik.com/routeros/6.46.2/chr-6.46.2.img.zip
unzip chr-6.46.2.img.zip
qemu-img convert -f raw -O qcow2 chr-6.46.2.img vm-102-disk-1.qcow2
cd /var/lib/vz/images/102
cp /root/vm-102-disk-1.qcow2 vm-102-disk-1.qcow2
qm create 102 \
  --name MikrotiK\
  --net0 virtio,bridge=vmbr0 \
  --bootdisk virtio0 \
  --ostype l26 \
  --memory 256 \
  --onboot no \
  --sockets 1 \
  --cores 1 \
  --virtio0 local:102/vm-102-disk-1.qcow2

После выполнения данных команд у вас появится новая виртуальная машина. Проверьте новый список в консоли Proxmox:

# qm list
      VMID NAME                 STATUS     MEM(MB)    BOOTDISK(GB) PID
       100 VM-100               running    1024               8.00 1266
       101 MikrotiK             stopped    256                0.00 0
       102 MikrotiK             stopped    256                0.00 0

или в веб-интерфейсе Proxmox:

Настройки сети виртуальной машины Mikrotik

Запустим необходимую нам виртуальную машину:

# qm start 101

И далее в консоли запущенно виртуальной машины (не сервера!) необходимо выполнить следующие команды:

/ip address add address=XXX.XXX.XXX.YYY/24 interface=ether1
/ip router add gateway=XXX.XXX.XXX.ZZZ

где вместо XXX, YYY и ZZZ используйте Ipv4 адреса для вашего виртуального маршрутизатора Микротик и шлюза по-умолчанию.

Для авторизации используйте логин admin и пустой пароль.

После этого можно запустить WinBox и приступить к настройке виртуального маршрутизатора. Скачать WinBox можно на официальном сайте Mikrotik в разделе загрузок — https://mikrotik.com/download

ВИДЫ СЕТЕВЫХ СОЕДИНЕНИЙ В PROXMOX VE

  • Linux Bridge — спо­соб соеди­не­ния двух сег­мен­тов Ethernet на каналь­ном уровне, то есть без исполь­зо­ва­ния про­то­ко­лов более высо­ко­го уров­ня, таких как IP. Посколь­ку пере­да­ча выпол­ня­ет­ся на каналь­ном уровне (уро­вень 2 моде­ли OSI), все про­то­ко­лы более высо­ко­го уров­ня про­зрач­но про­хо­дят через мост.
  • Linux Bond — метод агре­га­ции несколь­ких сете­вых интер­фей­сов в еди­ный логи­че­ский bonded интер­фейс. Таким обра­зом, bond обес­пе­чи­ва­ет балан­си­ров­ку нагруз­ки либо горя­чий резерв по опре­де­лён­но­му сценарию.
  • Linux VLAN – реа­ли­за­ция на ядре Linux вир­ту­аль­ной локаль­ной ком­пью­тер­ной сети.
  • OVS Bridge – реа­ли­за­ция моста на базе Open vSwitch.
  • OVS Bond – реа­ли­за­ция балан­си­ров­ки на базе Open vSwitch. Отли­ча­ет­ся от реа­ли­зо­ван­ной в ядре Linux балан­си­ров­ки режимами.
  • OVS IntPort — реа­ли­за­ция VLAN на базе Open vSwitch.

Настройка сети в Proxmox VE

После установки всех необходимых пакетов и перезагрузки ОС в WTB-интерфейсе Proxmox VE перейдите в раздел Датацентр, выберите имя гипервизора (на скриншоте PVE). В меню Система найдите раздел Сеть и нажмите кнопку Создать:

1. Настройка bridge

Создание интерфейса bridge для Open vSwitch и для ядра Linux практически ничем не отличаются, за исключением выбора способа создания и возможности указания для OVS Bridge дополнительных ключей Open vSwitch. Если планируется использовать VLAN для сетевого интерфейса, не забудьте указать чек-бокс возле пункта VLAN при создании bridge. Включение чек-бокса Автозапуск позволяет запускать выбранный сетевой интерфейс при загрузке гипервизора:

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

Адрес интерфейса можно не указывать, настроенные на подключение к интерфейсу виртуальные машины будут использовать его как обычный свитч. Если же указать адрес IPv4 и/или IPv6, то он будет доступен извне на всех сетевых интерфейсах или на интерфейсах, перечисленных в поле Порты сетевого моста:

2. Настройка bond

Для балансировки нагрузки и объединения нескольких сетевых интерфейсов в один виртуальный, создайте OVS Bond. Это связано с тем, что его возможности шире, чем Linux Bond, а процесс создания практически идентичен. Для создания балансировщика нагрузки нажмите в меню Сеть кнопку Создать и выберите пункт OVS Bond:

В отличие от создания OVS bridge, в параметрах vmbr1 OVS Bond указано в портах сетевого моста bond0 и в пункте OVS Options для тегирования VLAN можно использовать ключ  tag=$VLAN, где $VLAN надо заменить на целое числовое значение, в примере это 50:

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

Для OVS Bridge:

  • Режим Active-Backup использует один из перечисленных сетевых интерфейсов для работы, а остальные находятся в резерве в статусе down, на случай выхода из строя основного интерфейса
  • Режимы Balance-slb, LACP (balance-slb), LACP (balance-tcp) подходят для случая, когда вам необходимо расширить полосу пропускания и отказоустойчивость канала, объединив в единый бонд несколько сетевых интерфейсов.

Для Linux Bond:

  • Режим balance-rr ядра Linux скорее переназначен для исходящего траффика, чем для входящего. Пакеты отправляются последовательно, начиная с первого доступного интерфейса и заканчивая последним. Применяется для балансировки нагрузки и отказоустойчивости.
  • Режим active-backup ничем не отличается от аналогичного режима в OVS. Передача распределяется между сетевыми картами используя формулу: . Получается одна и та же сетевая карта передаёт пакеты одним и тем же получателям. Режим XOR применяется для балансировки нагрузки и отказоустойчивости.
  • Режим агрегирования каналов по стандарту IEEE 802.3ad. Создаются агрегированные группы сетевых карт с одинаковой скоростью и дуплексом. При таком объединении передача задействует все каналы в активной агрегации, согласно стандарту IEEE 802.3ad. Необходимо оборудование гипервизора и активной сетевой части с поддержкой стандарта.
  • Режим адаптивной балансировки нагрузки передачи balance-tlb. Исходящий трафик распределяется в зависимости от загруженности каждой сетевой карты (определяется скоростью загрузки). Не требует дополнительной настройки на коммутаторе. Входящий трафик приходит на текущую сетевую карту. Если она выходит из строя, то другая сетевая карта берёт себе MAC адрес вышедшей из строя карты.
  • Режим адаптивной балансировки нагрузки Balance-alb. Включает в себя политику balance-tlb, а также осуществляет балансировку входящего трафика. Не требует дополнительной настройки на коммутаторе.

3. Настройка VLAN

В меню Система найдите раздел Сеть и нажмите кнопку Создать и выберите OVS InPort:

Задайте имя интерфейса vlan50 тег VLAN, равный 50, укажите OVS Bridge. VLAN 50 на указанном виртуальном интерфейсе OVS Bridge vmbr1 с тегом 50 создан и может быть использован, например для организации видеонаблюдения. Таким образом, предлагаю настроить дополнительно VLAN30 для IP телефонии и VLAN100 для локальной сети с виртуализированными рабочими местами. Для создания всех VLAN используйте интерфейс vmbr1.

Вывод

Один из важных моментов заключается в том что старайтесь управлять системой с панели управления так как попытка настроить параметры в консоли может вызвать проблемы в работе с системой!

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: