アクセスランキング

フォトアルバム
お問い合わせ先
ネットワールド ブログ運営事務局
blog.doc-info@networld.co.jp

« 最大のパフォーマンスをAHVとOpen vSwitchから | メイン | Lenovoのx86サーバー ThinkSystemを選択する メリットについて学んでみよう! »

2019/02/13

Acropolis Hypervisorのネットワークロードバランス

本記事の原文はであるNutanix Communityに投稿されているAHVのOpen vSwitchの基本に関する記事の翻訳です。

投稿されてから時間はたっていますが、AHVを構成する際にベースとなる構成の為、改めて紹介していきます。

原文を参照したい方はNetwork Load Balancing with Acropolis Hypervisorご確認ください。

情報は原文の投稿時のままの情報ですので、現時点では投稿時の情報と製品とで差異が出ている場合があります。

当社のNutanix社製品についてはこちら。本ブログのNutanix関連記事のまとめページはこちら

ネットワールドのNutanix関連情報は、ぜひ当社のポータルから取得ください。

(初回はID、パスワードの取得が必要です)


763i74215f1c55a62e72_2

Acropolis Networkingの最初の記事でブリッジとbondについてお話ししました。

今回は物理ノードにおける複数のネットワークの利用方法について説明します。

771i19a614e729de5917_2


ブリッジを分けることでCVM通信は10Gbインターフェイスでルートされ、ユーザVMは10Gbか1GbのAdapterを利用してトラフィックが流れます。

OVS bond内におけるロードバランスに対する準備が出来ました。

主に考慮しないといけないのはフォールトトレランスとスループットです。

フォールトトレランスの為には上記の図のように最低でも2つのNICを利用する必要があります。

一度ボンドが2つ以上のネットワークで構成されると、一つのbondで提供されるスループットを管理できるようになります。次の全てのbondモードはフォルトトレランスを実現しています。

このビデオではAcropolis HypervisorとOpenvSwitchにおけるロードバランスの違いを説明しています。是非、nu.schoolを確認してみてくださ。

このビデオには"allssh"などbondの構成に便利なショートカットも紹介しています。


BondモードではBond内のトラフィックは複数の物理インターフェイスで分散されます。

デフォルトのモードはActive-Backupでbond内の1つのActiveリンクのみを利用し他のインターフェイスはActive Linkが落ちるまで利用されません。

BondモードとActive なインターフェイスを確認するには次のコマンドで確認できます。

nutanix@CVM$ ssh root@192.168.5.1 "ovs-appctl bond/show"

デフォルトのコンフィグのActive-Backupです、結果は次のものと近いもにになるでしょう。

---- bond0 ----
bond_mode: active-backup
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
lacp_status: off

slave eth2: enabled
active slave
may_enable: true

slave eth3: enabled
may_enable: true

Active-Backup

Active-Backup bond モードはシンプルで簡単に上位スイッチに追加の設定なしに接続できる方法です。

サーバ側の全てのVMのトラフィックはBond内の一つActiveなリンクだけを使います。。

全てのBackup linkは利用されないままです。

10Gbの2つのインターフェイスがある場合、最大のスループットは全ての仮想マシンで10Gbpsとなります。

772i377649a697233636_2


Active-backupモードはデフォルトで有効ですが、AHVで次のコマンドを実行し構成する事も出来ます。

nutanix@CVM$ ssh root@192.168.5.1 "ovs-vsctl set port bond0 bond_mode=active-backup"


Balance-slb

複数の上位スイッチのリンクの利用により帯域幅を有効活用できます。

私たちはこのbalance-slbのモードの利用を推奨します。

このOVSのbalance-slb モードはBond内の全てのリンクを利用し、トラフィックを測定して仮想マシンをトラフィックの多いインターフェイスから少ないインターフェイスに移動させ、bondのリバランス期間が過ぎると、OVSはトラフィックを測定しソースMACハッシュに基づいてトラフィックを分散します。

ソースMACからのトラフィックはBondの利用率を均等にする為、トラフィックの低いインターフェイスへ移動するかもしれません。完全にバランスが取れた状態が常に可能という事ではありません。

ここの仮想マシンのNICはbondの中の一つのインターフェイスを利用します。複数の仮想マシンNICを持つトラフィックはハッシュアルゴリズムに基づきインターフェイス間で分散されます。

結果的にはAHVが10Gbpsのインターフェイスを2つ持っている場合は、AHVは20Gbpsのスループットを利用できるが、VMは10Gbpsのスループットの利用となります。


デフォルトのリバランス間隔は10秒ですが、ソースMACアドレスハッシュの過度は移動を避けるために60秒にする事を推奨しています。

(現在のKBでは60->30となっています。)

私たちはこの構成を2つの上位スイッチとAcropolis Hypervisorで確認しています。

追加のスイッチの構成無しに、スイッチとの相互接続さえ出来ていれば利用可能です。


balance-slbは全てのCluser内の全てのAHVノードで次の通り実行する事で設定可能です。


nutanix@CVM$ ssh root@192.168.5.1 "ovs-vsctl set port bond0 bond_mode=balance-slb"

nutanix@CVM$ ssh root@192.168.5.1 "ovs-vsctl set port bond0 other_config:bond-rebalance-interval=60000"

ー>現在はbond-revalance-interval=30000

設定の確認は次のコマンドで可能です。
nutanix@CVM$ ssh root@192.168.5.1 "ovs-appctl bond/show bond0"
---- bond0 ----
bond_mode: balance-slb
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
next rebalance: 59108 ms
lacp_status: off

slave eth2: enabled
may_enable: true
hash 120: 138065 kB load
hash 182: 20 kB load

slave eth3: enabled
active slave
may_enable: true
hash 27: 0 kB load
hash 31: 20 kB load
hash 104: 1802 kB load
hash 206: 20 kB load


LACP and Link Aggregation

この構成をする場合は十分に検証を行ってください。

それはLACP,balance-tcpは上位のスイッチの構成が必要であり、AHVのノードがスイッチの設定がされていないポートに接続されるとネットワーク接続が無効になるかもしれないからです。

しかし、一つのVMから複数のリンクで構成される上位スイッチに対して最大の帯域幅を利用できることになります。OVSのlink aggregationはLACPとbalance-tcpが必要です。

LACPにより複数リンクの別々の物理スイッチは一つのL2リンクとして表示されます。

トラフィックはトラフィックハッシュアルゴリズムを基にactive-activeに分散んされ、スイッチのマックアドレステーブルに関係なくlinkのメンバーで分散します。

これはuplinkが一つのL2リンクとして表示されるからです。

Link Aggregation , LACP , balance-tcpによりAHVのノードが2つの10Gbpsアダプタを搭載している場合は、一つのVMで20Gbpsの帯域を利用できます。

774iaa103d96e3c9d67d_2

LACP,balance-tcpには次のコマンドを実行します。

また上位スイッチではLACPが必要です。



nutanix@CVM$ ssh root@192.168.5.1 "ovs-vsctl set port bond0 lacp=active"

nutanix@CVM$ ssh root@192.168.5.1 "ovs-vsctl set port bond0 bond_mode=balance-tcp"

上位とのLACPネゴシエーションに失敗した場合、デフォルトではbondを無効にしすべてのトラフィックをブロックします。

次のコマンドでLACPのネゴシエーション失敗時、Active-backupへの切り戻しを実施できるようになります。
(こちらの設定を実施時はスイッチ側の設定をこちらのKBに従って設定、確認をしましょう)

nutanix@CVM$ ssh root@192.168.5.1 "ovs-vsctl set port bond0 other_config:lacp-fallback-ab=true"

Finding the right balance

お客様の仮想化環境要件に合わせて最適なbondモードを選択しましょう。

本記事では簡単な方法から難しい方法までを載せています。

10Gbpsを2つでbondを構成すると以下の通りです。

Active-backup - AHV , VM共に一つのActive-NIC (Switch 設定不要)

balance-slb    -  AHV 20Gbps , VM 10Gbps ( Switch 設定不要)

balance-tcp    -  AHV , VM 20Gbps  ( Switch 設定必要)

記事担当者 : SI技術本部 カッシー @Networld_NTNX