らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

Cisco ACI における VLAN 重複の考え方整理

Cisco ACI では VLAN ID も「EndPoint をどの EPG へ関連付けるか?」という識別子に利用されます。 ACI では条件さえ満たせば「同じ VLAN ID を別 EPG で再利用可能」なのですが、「条件を満たしていないと同じ VLAN ID を再利用出来ない」とも言えます。 これを一覧にすると以下のようになります。

ケース 1 ケース 2 ケース 3 ケース 4
L2 Interface Policy Global Scope Port Local Scope Global Scope Port Local Scope
EPG が同一スイッチ収容か? 異なるスイッチ 異なるスイッチ 同じスイッチ 同じスイッチ
設定上、問題が無いか? 問題無し 問題無し 問題有り (Fault) 問題無し

図で表現すると以下のようになります。

f:id:sig9:20200927175450p:plain

VLAN ID が重複する場合の設定

VLAN ID が重複する場合、以下の設定を行う必要があります。

  1. VLAN ID が重複している EPG に所属する全てのポートは L2 Interface PolicyPort Local Scope に設定する
  2. VLAN ID が重複している EPG ごとに DomainVLAN Pool を分ける必要がある

L2 Interface Policy 設定

冒頭でも記載した通り、ACI では VLAN ID も「EndPoint をどの EPG へ関連付けるか?」という識別子に利用されます。 この際、「VLAN ID をどの単位で識別するか?」は L2 Interface Policy 設定で決定されます。

L2 Interface Policy VLAN ID と EPG を関連付ける単位 備考
Global Scope スイッチ単位
Port Local Scope 同一スイッチのポート単位 Logical Port の最大数が減少する

L2 Interface PolicyPort Local Scope へ変更することで「同一スイッチのポート単位」で VLAN ID を識別出来るようになり、一台のスイッチでも異なるポートであれば「異なる EPG で・同じ VLAN ID を利用することが出来る」ようになります。 ですが、以下の 2 点に留意する必要があります。

  1. 該当 Leaf の Logical Port 最大数が減少する
  2. L2 Interface Policy 設定を変更する場合、物理ポートが Flap し、トラフィックに影響が出る可能性がある

尚、該当スイッチに展開されている VLAN 総数は vsh_lc -c 'show system internal epmc vlan summary' で確認することが出来ます。

leaf# vsh_lc -c 'show system internal epmc vlan summary'
VLAN Summary
        Infra BD Count                                : 1
        Tenant BD Count                               : 10
        External BD Count                             : 0
        FCOE BD Count                                 : 0
        FD VLAN Count                                 : 11
        FD VXLAN Count                                : 0

        Total VLAN Count                              : 22

スイッチが分かれている場合

EPG ごとに収容スイッチが分かれていれば VLAN ID の重複は気にする必要はありません。

f:id:sig9:20200927175454p:plain

スイッチが同じ場合

VLAN ID 重複を配慮した設定が必要になるのはこのケースです。 下記 3. のケースは以下の条件になっています。

  • Epg1 と Epg2 が存在しているが、同じ VLAN ID 設定
  • どちらも Leaf1 に収容されている (=異なる EPG が同じスイッチに収容されている)
  • L2 Interface PolicyGlobal Scope 設定

f:id:sig9:20200927175457p:plain

Global Scope ということは VLAN ID を識別する単位は「スイッチ毎」です。 しかし、「同一のスイッチに・異なる EPG が・同じ VLAN ID で」収容されている為、所謂「VLAN ID 重複」状態になってしまっています。 これを回避するには前述の通り、「VLAN ID が重複する場合の設定」を行う必要があります。

VLAN ID が重複した場合のエラー

VLAN ID が重複している場合、以下のように F0467 - fltFvNwIssuesConfig-failed という Fault が発生します。

f:id:sig9:20200927194819p:plain

L2 Interface Policy のヘルプ

以下は L2 Interface Policy に関するヘルプからの抜粋です。 Changing the VLAN scope from Global to Port Local or Port Local to Global will cause the ports where this policy is applied to flap and traffic will be disrupted. という部分には注意する必要があります。

The layer 2 interface VLAN scope. The scope can be:

  • Global scope—Sets the VLAN encapsulation value to map only to a single EPG per leaf.

  • Port Local scope—Allows allocation of separate (Port, Vlan) translation entries in both ingress and egress directions. This configuration is not valid when the EPGs belong to a single bridge domain.

The default is Global scope.

Note: Changing the VLAN scope from Global to Port Local or Port Local to Global will cause the ports where this policy is applied to flap and traffic will be disrupted.

参考