В Geco-it мы используем SDS-решение Linstor. Чтобы подключить наши гипервизоры без вложений в коммутаторы, мы используем сеть с полной коммутацией (full mesh). Чтобы использовать хранилище Linstor внутри виртуальных машин (контейнерные тома), нам нужен доступ к сети спутников Linstor. Для этого нужна мостовая VM Storage...
Чтобы настроить сеть с полной коммутацией, необходимо следовать инструкции: Full Mesh Network для Ceph Server [Full mesh (маршрутизируемая настройка) + EVPN]. Это возможно даже с использованием SDN!
Infrastructure Code:
+------------------+ +------------------+ +------------------+
| Node 1 | | Node 2 | | Node 3 |
| | | | | |
| | | | | |
|+-----+ | | +-----+| | +-----+|
|| VM1 | | | | VMx || | | VMy ||
|| | <---------|----|-------> | ||<---|--------> | ||
|+-----+ | | +-----+| | +-----+|
|+----------------+| |+----------------+| |+----------------+|
|| VM SDN Bridge || || VM SDN Bridge || || VM SDN Bridge ||
|| "storage" || || "storage" || || "storage" ||
|| || || || || ||
|+----------------+| |+----------------+| |+----------------+|
|| eno1 || eno2 || || eno1 || eno2 || || eno1 || eno2 ||
+------------------+ +------------------+ +------------------+
^ ^ v ^ v ^
| +--------------- +--------------- |
| |
-----------------------------------------------------------+
Node Name Loopback IP OpenFabric Network ID NIC Name 1 NIC Name 2 NIC's MTU VM SDN Bridge VM SDN Bridge IP
node1 10.255.255.111 49.0001.1111.1111.1111.00 eno1 eno2 9000 storage 10.20.45.111/24
node2 10.225.255.112 49.0001.2222.2222.2222.00 eno1 eno2 9000 storage 10.20.45.112/24
node3 10.255.255.113 49.0001.3333.3333.3333.00 eno1 eno2 9000 storage 10.20.45.113/24
Конфигурация
Добавьте это в ваш файл /etc/network/interfaces (на каждом узле proxmox). Пример для node1:
##
# Storage Network (Openfabric mesh)
##
auto lo:0
iface lo:0 inet loopback
address 10.255.255.111/32
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
#EVPN Routing
auto eno1
iface eno1 inet manual
mtu 9000
auto eno2
iface eno2 inet manual
mtu 9000
auto vxlan_storage
iface vxlan_storage
vxlan-id 101
vxlan-local-tunnelip 10.255.255.111
bridge-learning off
mtu 8950
iface storage
address 10.20.45.111/24
bridge_ports vxlan_storage
post-up /usr/bin/systemctl restart frr.service
SDN Конфигурация
/etc/pve/sdn/controllers.cfg
evpn: vmbr1evpn
asn 65000
peers 10.255.255.111,10.255.255.112,10.255.255.113
/etc/pve/sdn/zones.cfg
simple: vmbr1
ipam pve
mtu 8950
/etc/pve/sdn/vnets.cfg
vnet: storage
zone vmbr1
alias DRBD Storage
/etc/pve/sdn/subnets.cfg
subnet: vmbr1-10.20.45.0-24
vnet storage
Применение настроек
SDN Bash: pvesh set /cluster/sdn
Полные сетевые настройки (на каждом узле)
Bash: systemctl restart networking.service
Теперь, если вы создадите VM с доступом к мосту storage, вы сможете пинговать IP адреса 10.20.45.x
Чтобы настроить сеть с полной коммутацией, необходимо следовать инструкции: Full Mesh Network для Ceph Server [Full mesh (маршрутизируемая настройка) + EVPN]. Это возможно даже с использованием SDN!
Infrastructure Code:
+------------------+ +------------------+ +------------------+
| Node 1 | | Node 2 | | Node 3 |
| | | | | |
| | | | | |
|+-----+ | | +-----+| | +-----+|
|| VM1 | | | | VMx || | | VMy ||
|| | <---------|----|-------> | ||<---|--------> | ||
|+-----+ | | +-----+| | +-----+|
|+----------------+| |+----------------+| |+----------------+|
|| VM SDN Bridge || || VM SDN Bridge || || VM SDN Bridge ||
|| "storage" || || "storage" || || "storage" ||
|| || || || || ||
|+----------------+| |+----------------+| |+----------------+|
|| eno1 || eno2 || || eno1 || eno2 || || eno1 || eno2 ||
+------------------+ +------------------+ +------------------+
^ ^ v ^ v ^
| +--------------- +--------------- |
| |
-----------------------------------------------------------+
Node Name Loopback IP OpenFabric Network ID NIC Name 1 NIC Name 2 NIC's MTU VM SDN Bridge VM SDN Bridge IP
node1 10.255.255.111 49.0001.1111.1111.1111.00 eno1 eno2 9000 storage 10.20.45.111/24
node2 10.225.255.112 49.0001.2222.2222.2222.00 eno1 eno2 9000 storage 10.20.45.112/24
node3 10.255.255.113 49.0001.3333.3333.3333.00 eno1 eno2 9000 storage 10.20.45.113/24
Конфигурация
Добавьте это в ваш файл /etc/network/interfaces (на каждом узле proxmox). Пример для node1:
##
# Storage Network (Openfabric mesh)
##
auto lo:0
iface lo:0 inet loopback
address 10.255.255.111/32
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
#EVPN Routing
auto eno1
iface eno1 inet manual
mtu 9000
auto eno2
iface eno2 inet manual
mtu 9000
auto vxlan_storage
iface vxlan_storage
vxlan-id 101
vxlan-local-tunnelip 10.255.255.111
bridge-learning off
mtu 8950
iface storage
address 10.20.45.111/24
bridge_ports vxlan_storage
post-up /usr/bin/systemctl restart frr.service
SDN Конфигурация
/etc/pve/sdn/controllers.cfg
evpn: vmbr1evpn
asn 65000
peers 10.255.255.111,10.255.255.112,10.255.255.113
/etc/pve/sdn/zones.cfg
simple: vmbr1
ipam pve
mtu 8950
/etc/pve/sdn/vnets.cfg
vnet: storage
zone vmbr1
alias DRBD Storage
/etc/pve/sdn/subnets.cfg
subnet: vmbr1-10.20.45.0-24
vnet storage
Применение настроек
SDN Bash: pvesh set /cluster/sdn
Полные сетевые настройки (на каждом узле)
Bash: systemctl restart networking.service
Теперь, если вы создадите VM с доступом к мосту storage, вы сможете пинговать IP адреса 10.20.45.x
