Hallo zusammen,
ich wende mich an euch, weil ich das Netzwerk auf einer 3-Node Proxmox-Installation bei Hetzner einfach nicht so recht zum Funktionieren überreden kann.
Meine Vorstellung, wie das ganze laufen sollte:
Was gar nicht funktioniert:
Auf allen Nodes habe ich das IP-Forwarding (sysctl –w net.ipv4.ip_forward=1) aktiviert und auch in der /etc/sysctl.conf eingetragen, sodass das Forwarding auch nach einem Neustart noch zur Verfügung steht.
Weil ich gar keine Idee mehr hatte, habe ich auf einem Node ein Subnetz beantragt und dieses habe ich nun überall eingebunden. Zum Testen habe ich auch auf dem Node01 zwei Debian9-Continer angelegt. Auf Node02 habe ich einen Debian9-Container angelegt. Diesen habe ich alle die Schnittstelle vmbr10 zugeordnet mit jeweils verschiedenen Adressen aus dem Subnetz. (Die Konfiguration habe ich in starker Anlehnung an die von „DerDanilo“ erstellt. Dankeschön dafür!)
Node01 = 94.xx.xx.194
Node02 = 94.xx.xx.195
Node03 = 94.xx.xx.196
Client01 = 94.xx.xx.66
Client02 = 94.xx.xx.67
Client03 = 94.xx.xx.68
Meine Konfiguration der /etc/network/interfaces der einzelnen Nodes:
Node01
Node02
Node03
Meine Konfiguration der /etc/network/interfaces der einzelnen Clients:
Client01
Client02
Client03
Hat jemand eine Idee dazu, wo liegt mein Fehler?
Ich hoffe ich habe alle nötigen Infos mit in den Post gepackt.
Vielen Dank schonmal für eure Unterstützung bereits im Voraus!
Mit besten Grüßen,
ALrol
ich wende mich an euch, weil ich das Netzwerk auf einer 3-Node Proxmox-Installation bei Hetzner einfach nicht so recht zum Funktionieren überreden kann.
Meine Vorstellung, wie das ganze laufen sollte:
- Ich würde mich gerne auf nur 1 Konsole einloggen und dort alle 3 Nodes bedienen können.
- Wenn die Last auf einem Node zu groß wird, dann möchte ich die VM online (ohne Downtime) auf einen der anderen Node verschieben wollen.
- Verteilter Speicher (Ceph).
- Falls ein Node ausfällt sollen die Clients automatisch auf die anderen Nodes verschoben werden.
- 1 Client sollte von außen (aus dem Internet) erreichbar sein.
- Alle anderen Clients sollen zwar Zugriff zum Internet haben, aber es soll nicht auf diese zugegriffen werden können.
- 1 Failover-IP für der Client der aus dem Internt erreichbar sein soll, alle anderen Clients sollen in einem privaten Netz sich unterhalten können, aber zudem Zugriff auf das Internet haben. Am besten ohne dass ich für jeden Client eine eigene öffentliche IP benötige.
Was schon funktioniert:- Wenn die Last auf einem Node zu groß wird, dann möchte ich die VM online (ohne Downtime) auf einen der anderen Node verschieben wollen.
- Verteilter Speicher (Ceph).
- Falls ein Node ausfällt sollen die Clients automatisch auf die anderen Nodes verschoben werden.
- 1 Client sollte von außen (aus dem Internet) erreichbar sein.
- Alle anderen Clients sollen zwar Zugriff zum Internet haben, aber es soll nicht auf diese zugegriffen werden können.
- 1 Failover-IP für der Client der aus dem Internt erreichbar sein soll, alle anderen Clients sollen in einem privaten Netz sich unterhalten können, aber zudem Zugriff auf das Internet haben. Am besten ohne dass ich für jeden Client eine eigene öffentliche IP benötige.
- Cluster aus 3 Nodes ist installiert. Wenn ich mich auf den Port 8006 von einem der Nodes einlogge, dann sehe ich alle 3 Nodes mit einem grünen Haken versehen, also als „online“ gekennzeichnet.
- Ping zwischen Clients auf dem selben Node funktioniert.
- Ceph funktioniert.
- Ich kann die Clients von außerhalb anpingen. (Was eigentlich nur bei einem möglich sein sollte. Aber das könnte ich ja über die FW konfigurieren). Umso seltsamer, dass ich mit den Clients nicht mal einen Ping auf "google" hinbekomme.
- Ping zwischen Clients auf dem selben Node funktioniert.
- Ceph funktioniert.
- Ich kann die Clients von außerhalb anpingen. (Was eigentlich nur bei einem möglich sein sollte. Aber das könnte ich ja über die FW konfigurieren). Umso seltsamer, dass ich mit den Clients nicht mal einen Ping auf "google" hinbekomme.
Was gar nicht funktioniert:
- Ping zwischen den Nodes über die WAN-Schnittstelle (Hetzner-Interface).
- Verschieben eines Clients von einem Node auf ein anderes Node.
- Ping zwischen Clients auf verschiedenen Nodes.
- Wenn ich in der Weboberfläche bin und dort dann einen anderen Node auswähle, bekomme ich die Meldung „No route to host (595)“. Das verstehe ich nicht. Schließlich ist mein Cluster ja über die LAN-Schnittstelle eingerichtet und funktioniert auch. Was muss ich tun, damit das geht?
- Verschieben eines Clients von einem Node auf ein anderes Node.
- Ping zwischen Clients auf verschiedenen Nodes.
- Wenn ich in der Weboberfläche bin und dort dann einen anderen Node auswähle, bekomme ich die Meldung „No route to host (595)“. Das verstehe ich nicht. Schließlich ist mein Cluster ja über die LAN-Schnittstelle eingerichtet und funktioniert auch. Was muss ich tun, damit das geht?
Auf allen Nodes habe ich das IP-Forwarding (sysctl –w net.ipv4.ip_forward=1) aktiviert und auch in der /etc/sysctl.conf eingetragen, sodass das Forwarding auch nach einem Neustart noch zur Verfügung steht.
Weil ich gar keine Idee mehr hatte, habe ich auf einem Node ein Subnetz beantragt und dieses habe ich nun überall eingebunden. Zum Testen habe ich auch auf dem Node01 zwei Debian9-Continer angelegt. Auf Node02 habe ich einen Debian9-Container angelegt. Diesen habe ich alle die Schnittstelle vmbr10 zugeordnet mit jeweils verschiedenen Adressen aus dem Subnetz. (Die Konfiguration habe ich in starker Anlehnung an die von „DerDanilo“ erstellt. Dankeschön dafür!)
Node01 = 94.xx.xx.194
Node02 = 94.xx.xx.195
Node03 = 94.xx.xx.196
Client01 = 94.xx.xx.66
Client02 = 94.xx.xx.67
Client03 = 94.xx.xx.68
Meine Konfiguration der /etc/network/interfaces der einzelnen Nodes:
Node01
Code:
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet manual
iface eth1 inet manual
auto vmbr0
iface vmbr0 inet static
address 94.xx.xx.194
netmask 255.255.255.192
gateway 94.xx.xx.193
bridge_ports eth0
bridge_stp off
bridge_fd 0
# Hetzner-Interface
auto vmbr1
iface vmbr1 inet static
address 10.20.30.44
netmask 255.255.255.0
bridge_ports eth1
bridge_stp off
bridge_fd 0
# LAN Schnittstelle fuer Cluster node01-corosync
auto vmbr10
iface vmbr10 inet static
address 94.xx.xx.65
netmask 255.255.255.248
bridge_ports none
bridge_stp off
bridge_fd 0
#Subnetz
Code:
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet manual
iface eth1 inet manual
auto vmbr0
iface vmbr0 inet static
address 94.xx.xx.195
netmask 255.255.255.192
gateway 94.xx.xx.193
bridge_ports eth0
bridge_stp off
bridge_fd 0
# Hetzner-Interface
auto vmbr1
iface vmbr1 inet static
address 10.20.30.45
netmask 255.255.255.0
bridge_ports eth1
bridge_stp off
bridge_fd 0
# LAN Schnittstelle fuer Cluster node02-corosync
auto vmbr10
iface vmbr10 inet static
address 94.xx.xx.65
netmask 255.255.255.248
bridge_ports none
bridge_stp off
bridge_fd 0
#Subnetz
Code:
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet manual
iface eth1 inet manual
auto vmbr0
iface vmbr0 inet static
address 94.xx.xx.196
netmask 255.255.255.192
gateway 94.xx.xx.193
bridge_ports eth0
bridge_stp off
bridge_fd 0
# Hetzner-Interface
auto vmbr1
iface vmbr1 inet static
address 10.20.30.46
netmask 255.255.255.0
bridge_ports eth1
bridge_stp off
bridge_fd 0
# LAN Schnittstelle fuer Cluster node03-corosync
auto vmbr10
iface vmbr10 inet static
address 94.xx.xx.65
netmask 255.255.255.248
bridge_ports none
bridge_stp off
bridge_fd 0
#Subnetz
Client01
Code:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 94.xx.xx.66
netmask 255.255.255.248
gateway 94.xx.xx.65
Code:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 94.xx.xx.67
netmask 255.255.255.248
gateway 94.xx.xx.65
Code:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 94.xx.xx.68
netmask 255.255.255.248
gateway 94.xx.xx.65
Hat jemand eine Idee dazu, wo liegt mein Fehler?
Ich hoffe ich habe alle nötigen Infos mit in den Post gepackt.
Vielen Dank schonmal für eure Unterstützung bereits im Voraus!
Mit besten Grüßen,
ALrol
Last edited: