NETWORK ENGINEER BLOG

Tips and Reviews for Engineers

Nexus と Netapp 間で LAG を構成する際の注意点

LACP*1の制御パケットを送信する間隔は、メーカー・機種によって異なり、デフォルトでは以下のとおりとなっています。

  • Nexus 5000 シリーズ: 30秒
  • Netapp FAS シリーズ: 90秒

これに伴い、Nexus(vPC)と Netapp 間で LACP を有効にした場合、Nexus の片側で電源故障が発生し、復旧した際、50% の通信で、最大90秒の downtime が発生する可能性があります。

  • 具体的な流れ
    • Nexus 起動直後、Nexus のインターフェースが一時的に up 状態となります。*2
    • 上記に伴い、対向の Netapp のインターフェースで LACP が有効となります。*3
    • LACP が有効となったため、Netapp は、該当インターフェースにパケット転送を開始します。
    • 起動中の Nexus では、LACP は suspend 状態のため、パケットが破棄されます。
    • 90秒後、Netapp が制御パケットにより、対向インターフェースが suspend 状態である事を認識します。
    • 上記に伴い、該当インターフェースを使用不能とします。

上記の対策として、Link Aggregation の mode を on にします。
Nexus では、LACP と on のそれぞれで、suspend 状態のインターフェースの扱いが変わります。

  • on の場合: suspend 状態のインターフェースを shtutdown します。
  • LACP の場合: suspend 状態のインターフェースを使用不能としますが、shutdown にはしません。

mode を on にし、インターフェースを shutdown する事で downtime は最大で 10 秒程度に改善されます。

Nexus 設定例(LACP)

interface Ethernet1/1
  switchport mode trunk
  switchport trunk allowed vlan 1-100
  speed 1000
  channel-group 10 mode active
  
interface port-channel10
  switchport mode trunk
  switchport trunk allowed vlan 1-100
  speed 1000
  vpc 10

Nexus 設定例(on)

interface Ethernet1/1
  switchport mode trunk
  switchport trunk allowed vlan 1-100
  speed 1000
  channel-group 10
  
interface port-channel10
  switchport mode trunk
  switchport trunk allowed vlan 1-100
  speed 1000
  vpc 10

Netapp 設定例(LACP)

>vif create lacp vif0 -b ip e1a e1b
>vlan create vif0 7
>ifconfig vif0-7 `hostname`-vif0-7 netmask 255.255.255.0 mtusize 9000 partner vif0-7 up

>rdfile /etc/rc
hostname filer
vif create lacp vif0 -b ip e1a e1b
vlan create vif0 7
ifconfig vif0-7 `hostname`-vif0-7 netmask 255.255.255.0 mtusize 9000 partner vif0-7
route add default 10.1.1.254 1
routed on
options dns.enable off
options nis.enable off
savecore

Netapp 設定例(on)

>vif create multi vif0 -b ip e1a e1b
>vlan create vif0 7
>ifconfig vif0-7 `hostname`-vif0-7 netmask 255.255.255.0 mtusize 9000 partner vif0-7 up

>rdfile /etc/rc
hostname filer
vif create multi vif0 -b ip e1a e1b
vlan create vif0 7
ifconfig vif0-7 `hostname`-vif0-7 netmask 255.255.255.0 mtusize 9000 partner vif0-7
route add default 10.1.1.254 1
routed on
options dns.enable off
options nis.enable off
savecore

以上

*1:Link Aggregation Control Protocol

*2:しかし、この時点では vpc は構成できておらず、lacpdu を送信しません。

*3:この時点で、lacpdu を Nexus から受信してないにも関わらず LACP が有効となる原因は不明です。