FreeBSD and AlaxalA LAGG
NASを作るにあたって、NAS-Switch間の伝送性能を上げようと思い立った。一番簡単なのはLAGG(Link Aggregation)なので、その設定をメモ。
FreeBSD
今回のお題はFreeBSD 11.1で確認した。
FreeBSDはLink Aggregationの機能として
- failover
- 単純なFailover
- FEC/LoadBalance
- Cisco Fast EtherChannel (FEC)対応
- LACP
- The IEEE 802.3ad Link Aggregation Control Protocol
- Roundrobin
- 単純なRoundrobin
を持っている。
今回は、AlaxalAが相手なので、この中のLACP(IEEE 802.3ad Link Aggregation)を利用する。
Configuration
LAGGを行うI/Fを決定。 今回は、em3とem5を利用する。(OnboardNICとPCIに追加したNICからportを割り当てる)
# ifconfig em3 up # ifconfig em5 up # ifconfig lagg0 create # ifconfig lagg0 up laggproto lacp laggport em3 laggport em5 192.0.2.1/24
これで、FreeBSD側でのLAGG設定は終了。詳しいパラメータは、man ifconfigでlaggを探せば良い。
永続化するためには、/etc/rc.confに設定を記録する。
cloned_interfaces="lagg0" ifconfig_em3="up" ifconfig_em5="up" ifconfig_lagg0="laggproto lacp laggport em3 laggport em5 192.0.2.1/24"
AlaxalA
Alaxalaには、LAGGに利用できる設定として
- static
- 固定で使えるLAGG。おそらくRoundRobin相当と思われる
- LACP
- The IEEE 802.3ad Link Aggregation Control Protocol がある。したがって、LACPを利用するのが一番明確に規格が存在するLAGG手法となる。
Configuration
今回は AX2430-48Tの19/20番ポートを利用する。
# conf t (config)# interface range gigabitethernet 0/19-20 !(config-if-range)# switchport mode access !(config-if-range)# no switchport access vlan !(config-if-range)# channel-group 1 mode active !(config-if-range)# ! !(config-if)# interface port-channel 1 !(config-if)# channel-group periodic-timer short !(config-if)# switchport mode access !(config-if)# switchport access vlan 2 !(config-if)# ! !(config)# save
AlaxalAの設定をする際、LAGGを組みたいポートに余計な設定が入っていると、
interface : this command is different from this one i
n channel-group port.
のようなよくわからないメッセージが出る。これは、Port channelを組むI/F間で設定が異なっているとSwitchが認識しているということで、筆者の例では、両方のポートにswitchport access vlan 2
が記述されていたため、エラーが発生した。
したがって、LAGGを組むI/Fは、事前設定を全部Offにし、switchport mode access
以外の設定を含まないようにしてから設定することを強く勧める。