技術コラム

製品技術
NVIDIA

MLAGを組んでみよう(実践編)

MLAGを組んでみよう(実践編)

2019年7月追記:
++++++++++++++++++++++++++++++++
MLNX-OS/Onyx-OSの3.6.8004よりも前のバージョンですと、MLAGとSTP(Spanning Tree Protocol)が共存できず、MLAGを構成する際は、STPを無効化していましたが、3.6.8000以降は、MLAGおよびSTPを共存させることができるようになりました。従いまして、この例では、下記のようなコマンドを実行して、STPを停止しておりましたが、新しいスイッチOSですと、このコマンドの実行は必要ありません。

SW01 [standalone: master] (config) # no spanning-tree
++++++++++++++++++++++++++++++++
MLAG に関しての動作や効果などを前回のブログで紹介させていただきましたが、今回は実践編として、Mellanox の最新スイッチを使用したMLAG構成を組んでみたいと思います。
今回のMLAG構成で使われたスイッチは、SN2010というモデルで、小型ながら、SFP+ 25Gbpsポート18本、QSFP 100Gbpsポートが4本を持ち、冗長電源をサポートしながらハーフラックサイズになっております。
また、管理ポートとしては、152,200 bpsシリアルポートおよび、1Gbps Ethernet mgmt0から、スイッチ内部のセットアップや管理が可能です。
工場出荷時、1Gbps Ethernet管理ポートmgmt0はDHCP接続モードに設定されており、mgmt0に固定IPアドレスをセットするためには、シリアルポートからのアクセスが必要です。

SN2010ポート側外観 

  • 25Gbps Ethernet SFPポートが18ポート
  • 100Gbps Ethernet QSFPポートが4ポート
  • 1Gbps Ethernet RJ-45 mgmt0ポート(管理ポート)
  • シリアルポート
  • USBインターフェイス
  • 各種ステータスLED

 

SN2010電源側外観

  • AC電源入力 2本

 

General start up

さて、セットアップを開始しましょう。全てCLIでセットアップします。
今回の構成は、2台のクラスタサーバを上位リンクに接続するものです。
下記の図を参照ください。

  1. Server A:                  25Gb Ethernet ポート    Port 1/18 IPアドレス 168.20.101
  2. Server B:      100Gbps Ethernet ポート  Port 1/20 IPアドレス 168.10.201
  3. アップリンク:          1Gbps Ethernet ポート    Port 1/1    IPアドレス 168.20.100
  4. IPL(MLAG構成でのスイッチ間接続ポート)    Port 1/21とPort 1/22

尚、管理用ポートmgmt0は SW1: 192.168.10.150  SW2: 192.168.10.160

 

また設定の流れは下記の通りです。

  1. 基本的セットアップ:
    1. IPルーティングおよび(M)LAG接続時にLACPを使用できるようにする
    2. Spanning treeは使用しない
    3. MLAGの設定を使用可能にする
    4. IPLポートのQoSサポートを設定する
  2.  各ポートの基本設定をする
    1. 個々のPortのInterfaceの速度/MTUを変更する
  3. MLAGを設定をする
    1. IPLの設定
    2. MLAG VIPの設定
    3. MLAGインターフェイスの設定/有効化

という流れになります。

では、具体的にセットアップの流れを実際に行ってみましょう。

  • sw01/sw02 共通
  • Mellanox Onyx(旧称:MLNX-OS)のバージョン確認 SW1、SW2共に同じバージョンであることが必要とされます。
    sw01とsw02のMellanox OnyxのProduct releaseで表されるバージョンが同じことを確認する
  • IPルーティング、LACPをイネーブルにする
  • Spanning Tree をディズエーブルにする
  • MLAGコマンドを実行可能にする
  • IPLポートのQoSサポートをセットする

[root@T1 デスクトップ]# ssh admin@192.168.10.150
Mellanox Onyx Switch Management
Password:
Last login: Mon Jan  8 19:02:03 2001

Mellanox Switch

SW01 [standalone: master] > enable
SW01 [standalone: master] # configure terminalSW01 [standalone: master] (config) # show version
Product name:      Onyx
Product release:   3.6.6107
Build ID:          #1-dev
Build date:        2018-04-25 21:04:32
Target arch:       x86_64
Target hw:         x86_64
Built by:          jenkins@9adc82345cc7
Version summary:   X86_64 3.6.6107 2018-04-25 21:04:32 x86_64

Product model:     x86onie
Host ID:           506B4BCC4596
System serial num: MT1820X09598
System UUID:       3b9f9c00-5d1e-11e8-8000-506b4b8e5f40

Uptime:            10m 34.630s
CPU load averages: 1.07 / 1.13 / 0.72
Number of CPUs:    4
System memory:     2401 MB used / 5410 MB free / 7811 MB total
Swap:              0 MB used / 0 MB free / 0 MB totalsw01 (config) # show version

[root@T1 デスクトップ]# ssh admin@192.168.10.160
Mellanox Onyx Switch Management
Password:
Last login: Mon Jan  8 19:00:32 2001

Mellanox Switch

sw02 [standalone: master] > enable
sw02 [standalone: master] # configure terminal
sw02 [standalone: master] (config) # show version
Product name:      Onyx
Product release:   3.6.6107
Build ID:          #1-dev
Build date:        2018-04-25 21:04:32
Target arch:       x86_64
Target hw:         x86_64
Built by:          jenkins@9adc82345cc7
Version summary:   X86_64 3.6.6107 2018-04-25 21:04:32 x86_64

Product model:     x86onie
Host ID:           506B4BCC450E
System serial num: MT1820X09605
System UUID:       813bc87c-5d4d-11e8-8000-506b4b8e62c0

Uptime:            11m 34.510s
CPU load averages: 1.07 / 1.14 / 0.75
Number of CPUs:    4
System memory:     2411 MB used / 5400 MB free / 7811 MB total
Swap:              0 MB used / 0 MB free / 0 MB total

これらにより、SW01とSW02で稼働しているMellanox Onyx (旧称 MLNX-OS)が 2018年4月25日にビルドされたVersion 3.6.6117で、同じことが分かります。

これ以降、SW01およびSW02が同じ場合は、SW01のみの記述になりますが、SW02も同じ様にセットアップします。

  • sw01/sw02 共通 (sw01/sw02ごとに設定する)

SW01 [standalone: master] (config) # lacp
SW01 [standalone: master] (config) # no spanning-tree
SW01 [standalone: master] (config) # ip routing
SW01 [standalone: master] (config) # protocol mlag
SW01 [standalone: master] (config) # dcb priority-flow-control enable force

 

Interfaceの速度の変更

  • sw01/sw02共通 (sw01/sw02ごとに設定する)
  • 1/1はアップリンク(設備側)接続用 10Gb

SW01 [standalone: master] (config) # interface ethernet 1/1
SW01 [standalone: master] (config interface ethernet 1/1) # speed 10G force
SW01 [standalone: master] (config interface ethernet 1/1) # exit

 

  • 1/2-1/18はWorkstation接続用25Gbps
    SW01 [standalone: master] (config) # interface ethernet 1/2-1/18
    SW01 [standalone: master] (config interface ethernet 1/2-1/18) # speed 25G force
    SW01 [standalone: master] (config interface ethernet 1/2-1/18) # exit

 

  • 1/19-22はQSFPポート 100Gb
    SW01 [standalone: master] (config) # interface ethernet 1/19-1/20
    SW01 [standalone: master] (config interface ethernet 1/19-1/20) # speed 100G force
    SW01 [standalone: master] (config interface ethernet 1/19-1/20) # exit

なお内容の変更やno speed forceでdefaultにセットされます。

 

IPL

  • port 21およびport 22をIPL portとして冗長化使用、LACPモードでLAG接続
  • IPL接続のQoSを設定
  • VLAN 4000として他のデータポートと完全分離する
  • sw01/sw02 共通 (sw01/sw02ごとに設定する)

SW01 [standalone: master] (config) # interface port-channel 21
SW01 [standalone: master] (config interface port-channel 21) # exit
SW01 [standalone: master] (config) # interface ethernet 1/21 channel-group 21 mode active
SW01 [standalone: master] (config) # interface ethernet 1/22 channel-group 21 mode active
このコマンドは、まず、channel-groupをリセットします
(config) # interface Ethernet <if-nuber>
(config interface ethernet <if-number>) # no cannel-groupでリセットされます

SW01 [standalone: master] (config) # vlan 4000
SW01 [standalone: master] (config vlan 4000) # exit
このコマンドは、(config) # no vlan <vlan-id> でリセットされます。 レンジ使用可

SW01 [standalone: master] (config) # interface port-channel 21 ipl 1
このコマンドは、まずはipl をリセットしてからポートチャンネルをリセットします。
(config interface port-channel <port-id>) # no ipl <ipl-id>
(config) # no interface port-channelport-id> でリセットされます。


SW01 [standalone: master] (config) # interface port-channel 21 dcb priority-flow-control mode on force
(config)# interface port-channel 21
(config interface port-channel 21) # no dcb priority-flow-control enableでリセットされます

  • sw01の設定

SW01 [standalone: master] (config) # interface vlan 4000
SW01 [standalone: master] (config interface vlan 4000) # ip address 10.10.10.1/24
no ip address <ip-address> < netmask > でリセットされます。

SW01 [standalone: master] (config interface vlan 4000) # ipl 1 peer-address 10.10.10.2
SW01 [standalone: master] (config interface vlan 4000) # exit

  • sw02の設定

sw02 [standalone: master] (config) # interface vlan 4000
sw02 [standalone: master] (config interface vlan 4000) # ip address 10.10.10.2/24
sw02 [standalone: master] (config interface vlan 4000) # ipl 1 peer-address 10.10.10.1
sw02 [standalone: master] (config interface vlan 4000) # exit

 

MLAG VIP

  • sw01に対するVIP設定

SW01 [standalone: master] (config) # mlag-vip mlag-domain ip 192.168.10.170 /24 force
no mlag-vipでリセットされます。

  • sw02に対するVIP設定

sw02 [standalone: master] (config) # mlag-vip mlag-domain

注目: MLAG-VIPをセットすると、コマンドプロンプトがStandaloneから上記でセットしたmlag-domainに変化します。

 

広域MLAG

  • 広域MLAGをイネーブルにする
  • sw01/sw02とも共通 (sw01/sw02ごとに設定する)

SW01 [mlag-domain: master] (config) # no mlag shutdown

 

MLAG インターフェイス

  • LACP モードでMLAGインターフェイスをセットする:(Oly DCのポリシーによりLACP Mode)
  • VLAN xxxで設定されているためアップリンク(10Gb) のVLAN設定
  • sw01/sw02とも共通 (sw01/sw02ごとに設定する)

SW01 [mlag-domain: master] (config) # interface mlag-port-channel 1-20
SW01 [mlag-domain: master] (config interface mlag-port-channel 1-20) # exit

  • Up-linkポートのセットアップ

SW01 [mlag-domain: master] (config) # vlan 10
SW01 [mlag-domain: master] (config vlan 10) # exit
SW01 [mlag-domain: master] (config) # interface ethernet 1/1 mlag-channel-group 1 mode active
SW01 [mlag-domain: master] (config) # interface mlag-port-channel 1
SW01 [mlag-domain: master] (config interface mlag-port-channel 1) # switchport access vlan 10
SW01 [mlag-domain: master] (config interface mlag-port-channel 1) # exit

sw01/sw02各スイッチポート1/1-1/20は全てのポートをMLAGの設定に活用可能ですが、今回のセットアップでは、25GbpsのNICが挿入されたサーバー(スイッチポート1/18)を使用します。

  • sw01/sw02とも共通 (sw01/sw02ごとに設定する)

 

  • Switch Port 1/18(25Gbps)を設定

SW01 [mlag-domain: master] (config) # interface ethernet 1/18 mlag-channel-group 18 mode active
SW01 [mlag-domain: master] (config) # interface mlag-port-channel 18
SW01 [mlag-domain: master] (config interface mlag-port-channel 18) # switchport access vlan 10
SW01 [mlag-domain: master] (config interface mlag-port-channel 18) # exit
(config) # Interface ethernet <if-number> no mlag-channel-group でmlag-channel-groupがリセットされます。

  • mlagインターフェイスをenableにする
  • sw01/sw02とも共通 (sw01/sw02ごとに設定する)

SW01 [mlag-domain: master] (config) # interface mlag-port-channel 1-20 no shutdown

リセットは,
Sw01(config) # interface mlag-port-channel <if-number>
sw01(config interface mlang-port-channel <if-number>) # shutdown
とします。

 

  • 下記のコマンドを実行し、sw01/sw02ともポートステータス(Admin)がActiveになっているか確認する。

SW01 [mlag-domain: master] (config) # show mlag
Admin status: Enabled
Operational status: Up
Reload-delay: 30 sec
Keepalive-interval: 1 sec
Upgrade-timeout: 60 min
System-mac: 00:00:5E:00:01:46

MLAG Ports Configuration Summary:
Configured: 3
Disabled:   0
Enabled:    3

MLAG Ports Status Summary:
Inactive:       0
Active-partial: 0
Active-full:    3

MLAG IPLs Summary:

—————————————————————————————————————-
ID   Group         Vlan       Operational  Local           Peer             Up Time              Toggle Counter
Port-Channel  Interface  State        IP address      IP address
—————————————————————————————————————-
1    Po21          4000       Up           10.10.10.1      10.10.10.2       0 days, 00:36:22     5

上記ステータスによりMLAGは、セットアップが完了して稼働状態に入っていることが分かります。

  1. ここでは、3portのみのセットアップですので、全てのポートが両スイッチでアクティブで稼働しています。
  2. IPL も問題無くUPしていることが確認されます。

SW01 [mlag-domain: master] (config) # show mlag-vip
MLAG-VIP:
MLAG group name: mlag-domain
MLAG VIP address: 192.168.10.170/24
Active nodes: 2

————————————————————–
Hostname             VIP-State            IP Address
————————————————————–

SW01                 master               192.168.10.150
sw02                 standby              192.168.10.160

show mlag-vip では、各スイッチの状態、およびIPアドレスを示し、VIPアドレスが192.168.10.170 でマスターのアドレスへアクセスします。 上記の例では実際は192.168.10.150の内容が反映されます。 もしSW1がFailすると、SW02がStandbyからMasterに変わり 192.168.10.160の内容が反映されます。

SW01 [mlag-domain: master] (config) # show interfaces mlag-port-channel summary

MLAG Port-Channel Flags: D-Down, U-Up, P-Partial UP, S-suspended by MLAG

Port Flags:
D: Down
P: Up in port-channel (members)
S: Suspend in port-channel (members)
I: Individual

MLAG Port-Channel Summary:

——————————————————————————
Group              Type     Local                     Peer
Port-Channel                Ports                     Ports
(D/U/P/S)                   (D/P/S/I)                 (D/P/S/I)
——————————————————————————
1 Mpo1(U)          LACP     Eth1/1(P)                 Eth1/1(P)
2 Mpo2(D)          Unknown                            N/A
3 Mpo3(D)          Unknown                            N/A
4 Mpo4(D)          Unknown                            N/A
5 Mpo5(D)          Unknown                            N/A
6 Mpo6(D)          Unknown                            N/A
7 Mpo7(D)          Unknown                            N/A
8 Mpo8(D)          Unknown                            N/A
9 Mpo9(D)          Unknown                            N/A
10 Mpo10(D)        Unknown                            N/A
11 Mpo11(D)        Unknown                            N/A
12 Mpo12(D)        Unknown                            N/A
13 Mpo13(D)        Unknown                            N/A
14 Mpo14(D)        Unknown                            N/A
15 Mpo15(D)        Unknown                            N/A
16 Mpo16(D)        Unknown                            N/A
17 Mpo17(D)        Unknown                            N/A
18 Mpo18(U)        LACP     Eth1/18(P)                Eth1/18(P)
19 Mpo19(D)        Unknown                            N/A
20 Mpo20(D)        LACP     Eth1/20(P)                Eth1/20(D)

上記のコマンドの実行により、MLAG構成が確認できました。また相手のスイッチの状況も確認できます。上記ステータスは、ちょうどSW2のEthernet Port 1/20のケーブルをスイッチから抜いたところを示しております。ケーブルを挿しなおすと状況は、Ethernet1/20は(D)->(P)へ変化しました。

 

以上で、Mellanox スイッチによるMLAG構成のセットアップについて解説致しました。
これは、あくまでもMLAG構成一例でユーザが構成を始めるための一歩であります。

MLAG 構成をする上でいくつか注意点がございます。

  1. 各スイッチポート(Ethernet)の速度やMTUを変更する際には、一旦MLAG構成を解除していただく必要があります。 (MLAG が構成された後のポート速度やMTUを変えることは出来ません。)
  2. LAG接続するときは、Active-Active構成であることを確認してください。論理リンクアップしている場合、スタンバイポートであってもスイッチポートからくるARP Reqestに対しては、必ず応答するようにしてください。もし、Arp Replayが返されないと、SW1-2ともに同期していることを前提としてMLAG構成になっていますので、SW1-2ともにARPにより解決されないIPアドレスはSW1, 2ともに存在しないことになります。

 

  • 下記は、configurationを変えたときに最後に必ず実行してください。

sw01 (config) # configuration write