Hi people, I have two identical servers (both Sun X2100 M2's) that form
part of a cluster of 3 machines (other machines will be added later).   I
want to bond two GB ethernet ports on these, which works perfectly on the
one, but not on the other.

How can this be?

The one machine (named S2) detects no links up (with ethtool), yet the
links are up.  When I assign an ip to eth2 for instance, it works 100%
despite ethtool claiming there is not link.

I understand that bonding uses ethtool to determine whether a link is up
and then activates the bond.  So how can I "fix" this?

both machines have the following:

/etc/network/interfaces

# network interface settings
auto lo
iface lo inet loopback

auto eth2
iface eth2 inet static

auto eth3
iface eth3 inet static

iface eth0 inet manual

iface eth1 inet manual

auto bond0
iface bond0 inet manual
    slaves eth2, eth3
    bond_miimon 100
    bond_mode 802.3ad
    bond_xmit_hash_policy layer2

auto vmbr0
iface vmbr0 inet static
    address  192.168.121.32
    netmask  255.255.255.0
    gateway  192.168.121.1
    bridge_ports bond0
    bridge_stp off
    bridge_fd 0

And furthermore: /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device
0x14e4:/sys/devices/pci0000:00/0000:00:0d.0/0000:05:00.0/0000:06:04.0 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="00:16:36:76:0f:3d", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth0"

# PCI device
0x14e4:/sys/devices/pci0000:00/0000:00:0d.0/0000:05:00.0/0000:06:04.1 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="00:16:36:76:0f:3e", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth1"

# PCI device 0x10de:/sys/devices/pci0000:00/0000:00:09.0 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="00:16:36:76:0f:40", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth2"

# PCI device 0x10de:/sys/devices/pci0000:00/0000:00:08.0 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{address}=="00:16:36:76:0f:3f", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth3"

The MAC addresses correlate with the hardware.
The above is from the machine that works.

On the one that doesn't, the following:

/etc/network/interfaces

# network interface settings
auto lo
iface lo inet loopback

auto eth2
iface eth2 inet static

auto eth3
iface eth3 inet static

iface eth0 inet manual

iface eth1 inet manual

auto bond0
iface bond0 inet manual
    slaves eth2, eth3
    bond_miimon 100
    bond_mode 802.3ad
    bond_xmit_hash_policy layer2

auto vmbr0
iface vmbr0 inet static
    address  192.168.121.31
    netmask  255.255.255.0
    gateway  192.168.121.1
    bridge_ports bond0
    bridge_stp off
    bridge_fd 0

The MAC addresses differ in the udev rules, but nothing else.

ethtool says eth2 and eth3 don't have a link.

On S2 (the working machine) it says eth2 is down and eth3 is up, but a bond
is formed and the machine is connected.

What is happening here and how can it be resolved?

thanks

Roland
_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to