Um das Netzwerk unter RHEL 7 zu konfigurieren, habe ich eine JSON-Datei für das Teaming erstellt und dann diese Befehle ausgeführt:
ip link set down eno1
ip link set down eno2
ip link set down eno3
ip link set down eno4
teamd -g -f lacp.conf -d
Außerdem habe ich ifcfg-Dateien für VLANs erstellt und diesen Befehl ausgeführt:
systemctl restart network
Danach funktioniert alles mehr oder weniger wie erwartet, das Problem besteht jedoch darin, dass dies zwischen den Neustarts nicht bestehen bleibt, sodass ich dies nach jedem Start tun muss.
Wie kann ich dieses Problem beheben? Ich erwarte, dass diese Befehle nur einmal ausgeführt werden, und dann möchte ich, dass diese Einstellungen zwischen Neustarts bestehen bleiben.
==========================================================
Ich habe versucht, die vorgeschlagene Lösung anzuwenden und diese Fragen wurden angezeigt:
Ich habe
ifcfg-team0
eine Datei erstellt und der Inhalt ist:DEVICE=team0 DEVICETYPE=Team ONBOOT=yes BOOTPROTO=none TEAM_CONFIG='{"device":"team0", "runner": { "name": "lacp"...
TEAMCONFIG='{"runner": { "name": "lacp"...
Soll ich den Abschnitt „Gerät“ entfernen und in „ weil ich es bereits habe“ ändern DEVICE=team0
? Oder ist es ok, es zweimal zu erwähnen?
Meine
ifcfg-eno1
Datei enthält:HWADDR=... TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes IPV4_FAILURE_FATAL=no IPV6_INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno1 UUID=e656... ONBOOT=no
Soll ich wirklich alles daraus entfernen? Insbesondere soll ich wirklich Abschnitte entfernen und diese Datei durch das ersetzen UUID
, NAME
was in der Dokumentation vorgeschlagen wird? :
DEVICE=eth1
HWADDR=D4:85:64:01:46:9E
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
Oder soll ich beide Dateien behalten? Nennen Sie sie einfach z.B. ifcfg-eno1
undifcfg-eno1Team
Bei der Ausführung
systemctl start network.service
erhalte ich folgenden Fehler:Failed to start LSB: Bring up/down networking. Unit network.service entered failed state.
Antwort1
Erstellen Sie zunächst eine neue Datei im /etc/sysconfig/network-scripts
Verzeichnis mit dem Namen ifcfg-team0
, die folgendermaßen aussieht:
DEVICE=team0
DEVICETYPE=Team
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.2.3.4
NETMASK=255.255.255.0
TEAM_CONFIG='{"runner": {"name": "lacp"}, "link_watch": {"name": "ethtool"}}'
Natürlich müssen Sie die IP-Adresse und die Netzmaske entsprechend ändern.
Ändern Sie dann im selben Verzeichnis alle Dateien ifcfg-eno[1-4]
so, dass sie wie folgt aussehen:
DEVICE=eno1
HWADDR=00:11:22:33:44:55
DEVICETYPE=TeamPort
ONBOOT=yes
TEAM_MASTER=team0
TEAM_PORT_CONFIG='{"prio": 100}'
HWADDR
Wie oben werden Ihre lokalen Dateien etwas abweichen, da Sie die vorhandene Einstellung beibehalten müssen .
Das istdirekt aus dem Handbuch.
Die ifcfg-team0
Datei verweist auf die lacp.conf
Datei, die Sie bereits erstellt haben. Ich sehe im Handbuch jedoch nicht, wie diese Datei gefunden wird. Vielleicht teamd
erinnert es sich an sie aus Ihrer früheren manuellen Konfiguration, oder Sie müssen sie in einem gemeinsamen Verzeichnis ablegen.
Sobald dies konfiguriert ist, sagen Sie ifup team0
, und die NIC-Teamgruppe wird gemeinsam gestartet. Die einzelnen Schnittstellen müssen beim Start deaktiviert sein, aber Sie müssen nichts Besonderes tun, um dies beim Booten sicherzustellen, da sie jetzt als Teil eines NIC-Teams gekennzeichnet sind. Die Boot-Konfiguration des Betriebssystems erkennt, dass diese vier Schnittstellen nicht einzeln, sondern nur als Teil des NIC-Teams gestartet werden sollen.
Bei allen oben genannten Punkten wird davon ausgegangen, dass SieNetzwerk Managerund bin zur guten alten Methode der Netzwerkkonfiguration unter Linux vom Typ Red Hat zurückgekehrt:
$ sudo systemctl stop NetworkManager.service
$ sudo systemctl disable NetworkManager.service
$ sudo systemctl start network.service
$ sudo systemctl enable network.service
Dies ist auf Servern oft eine gute Idee, insbesondere wenn ihre Netzwerkkonfiguration kompliziert wird, wie bei LACP. NetworkManager löst viele Probleme, tut dies jedoch oft mit einer Desktop-orientierten Ausrichtung, die für Server ungeeignet ist. Beispielsweise löst es die automatischen Übergänge von WLAN zu Ethernet, die bei Laptops üblich sind. Server haben normalerweise statische Netzwerkkonfigurationen, sodass NetworkManager am Ende nur störend sein kann.
Wenn Sie jedoch bei den Standardeinstellungen von Red Hat bleiben möchten, decken sie diese Alternative abeinige Abschnitte weiter oben im Handbuch.