Bond-Schnittstelle ohne Link beim Booten

Bond-Schnittstelle ohne Link beim Booten

Nach einem Neustart des Servers bond0wurde dieser nicht gestartet, da einer seiner Slave-Ethernets ( eth2) keine Verbindung hatte. Ich musste ihn manuell einrichten mit:

ip link set dev eth2 up

Der Server hat eine Verbindung zum LAN (mit Brücke für KVM) und eine weitere Verbindung für drbd zu einem anderen Server:

    kvm + lan                       drbd
 ##############################################
 +------------------------+
 |           br0          |
 +------------------------+
 +---------------+ +------+   +---------------+
 |     bond0     | | vnet |   |     bond1     |
 +---------------+ +------+   +---------------+
 +------+ +------+            +------+ +------+
 | eth0 | | eth2 |            | eth1 | | eth3 |
 +------+ +------+            +------+ +------+

beide Server laufen unter Debian Wheezy, und zwar /etc/network/interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# to the switch
auto bond0
iface bond0 inet manual
  slaves eth0 eth2
  bond-mode 802.3ad
  bond-miimon 100
  bond-downdelay 200
  bond-updelay 200

# bridge for KVM
auto br0
iface br0 inet static
  address 192.168.0.92
  netmask 255.255.255.0
  network 192.168.0.0
  broadcast 192.168.0.255
  gateway 192.168.0.101
  bridge_ports bond0
  bridge_stp off
  bridge_fd 0
  bridge_maxwait 0

# bond for drbd
auto bond1
iface bond1 inet static
  address 10.200.200.2
  netmask 255.255.255.0
  network 10.200.200.0
  broadcast 10.200.200.255
  slaves eth1 eth3
  bond-mode balance-rr
  bond-miimon 100
  bond-downdelay 200
  bond-updelay 200

der andere Server wurde korrekt gebootet und der einzige Unterschied zwischen beiden interfacesist staticstatt manualder bond0Deklaration

iface bond0 inet static

Wie kann ich verhindern, dass dies erneut passiert?

ist das Hinzufügen ip link setvon Schnittstellen eine gute Idee?

auto bond0
iface bond0 inet manual
    pre-up ip link set eth0 up
    pre-up ip link set eth2 up
    (...)

was ist der Unterschied zwischen staticund manual? Oder besser, wo finde ich die vollständige Dokumentation der Schnittstellendatei? ( man interfacesenthält keine Informationen zu Bond-, Bridge-, Wireless-...-Optionen)

Antwort1

Fügen Sie einfach hinzu:

auto eth0
iface eth0 inet manual
    up ip link set eth0 up
    down ip link set eth0 down

auto eth1
iface eth1 inet manual
    up ip link set eth1 up
    down ip link set eth1 down

auto eth2
iface eth2 inet manual
    up ip link set eth2 up
    down ip link set eth2 down

auto eth3
iface eth3 inet manual
    up ip link set eth3 up
    down ip link set eth3 down

Der Unterschied zwischen staticund manualbesteht darin, dass statisch durch Parameter (wie Adresse, Netzmaske, Slaves usw.) konfiguriert wird und manuell durch die Befehlssequenz (Pre-Up, Up, Down, Post-Down) definiert wird.

verwandte Informationen