Hey guys,
I found a few posts about CARP and LAGG, everyone seems to be having issues and I haven't found any good working examples. So, I thought I'd start a new thread.
Anyway, I have HAST/CARP/iSCSI SAN setup, it works flawlessly. Now I just stuck in a couple new NICs and want to get some more performance from my iSCSI as well as some port failover.
I'm not using rc.conf to get things going, instead, I'm scripting it because the CAS4 drivers will not load properly at boot time. I have to load them after boot via a startup script. So, I have to wait until after they load to create my LAGG device.
Here's my current configuration:
So, I have 3 addresses on the 10.1/16 network: 101.1 (em0), 101.2 (lagg0), and 101.3 (carp1). All are plugged into the same swtich. I can ping each successfully.
Link failover appears to work with lagg0 fine, if I just pull the plug on one of it's ports, it keeps going, showing one down, one up. Both down, it stops completely.
But here's the rub: when I bring em0 down [CMD=]ifconfig em0 down[/CMD], I can no longer ping the carp1 nor can I ping lagg0. I can't get out from the system either, networking is 100% down. In fact, I even can't just bring em0 back up, I have to reboot the system to get it to start working right again. Frustrating.
I really don't now what the relationship might be. At first I thought the carp1 iface might be binding to em0, but why would lagg0 also stop working? Oh, and it does the same even if there is no CARP dev configured.
Any words of wisdom would be greatly appreciated =)
UPDATE:
I just noticed that my routing table isn't showing the CAS4 interfaces. This is what it looks like:
So, if em0 is the only link on the 10.1/16 network, then that makes sense that everything goes down when it does. But since I can't load my CAS4 drivers at boot, how do I update the routing table after the link goes up?
I found a few posts about CARP and LAGG, everyone seems to be having issues and I haven't found any good working examples. So, I thought I'd start a new thread.
Anyway, I have HAST/CARP/iSCSI SAN setup, it works flawlessly. Now I just stuck in a couple new NICs and want to get some more performance from my iSCSI as well as some port failover.
I'm not using rc.conf to get things going, instead, I'm scripting it because the CAS4 drivers will not load properly at boot time. I have to load them after boot via a startup script. So, I have to wait until after they load to create my LAGG device.
Here's my current configuration:
Code:
nas1# ifconfig em0
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
ether 00:30:48:c3:42:5b
inet 10.1.101.1 netmask 0xffff0000 broadcast 10.1.255.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nas1# ifconfig cas0
cas0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
ether 00:03:ba:95:c2:0a
media: Ethernet autoselect (1000baseT <full-duplex,master>)
status: active
nas1# ifconfig cas1
cas1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
ether 00:03:ba:95:c2:0a
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
nas1# ifconfig lagg0
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=b<RXCSUM,TXCSUM,VLAN_MTU>
ether 00:03:ba:95:c2:0a
inet 10.1.101.2 netmask 0xffff0000 broadcast 10.1.255.255
media: Ethernet autoselect
status: active
laggproto lacp
laggport: cas1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: cas0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
nas1# ifconfig carp1
carp1: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
inet 10.1.101.3 netmask 0xffff0000
carp: MASTER vhid 1 advbase 1 advskew 0
So, I have 3 addresses on the 10.1/16 network: 101.1 (em0), 101.2 (lagg0), and 101.3 (carp1). All are plugged into the same swtich. I can ping each successfully.
Link failover appears to work with lagg0 fine, if I just pull the plug on one of it's ports, it keeps going, showing one down, one up. Both down, it stops completely.
But here's the rub: when I bring em0 down [CMD=]ifconfig em0 down[/CMD], I can no longer ping the carp1 nor can I ping lagg0. I can't get out from the system either, networking is 100% down. In fact, I even can't just bring em0 back up, I have to reboot the system to get it to start working right again. Frustrating.
I really don't now what the relationship might be. At first I thought the carp1 iface might be binding to em0, but why would lagg0 also stop working? Oh, and it does the same even if there is no CARP dev configured.
Any words of wisdom would be greatly appreciated =)
UPDATE:
I just noticed that my routing table isn't showing the CAS4 interfaces. This is what it looks like:
Code:
[tim@nas1 ~]$ netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.1.1.254 UGS 0 30 em0
10.1.0.0/16 link#1 U 0 0 em0
10.1.101.1 link#1 UHS 0 0 lo0
10.10.10.0/24 link#2 U 0 0 em1
10.10.10.1 link#2 UHS 0 0 lo0
127.0.0.1 link#8 UH 0 0 lo0
So, if em0 is the only link on the 10.1/16 network, then that makes sense that everything goes down when it does. But since I can't load my CAS4 drivers at boot, how do I update the routing table after the link goes up?