2020年12月24日木曜日

AHVにおける仮想スイッチ(ブリッジ)の作成方法

AHV環境におけるAOS 5.19からPrism UIをとおして仮想スイッチの作成やアップリンクNICの設定変更、アップリンクNICのチーミングモードの変更が行えるようになりました。
AOS5.19は、STSのため次のLTSバージョンが出ればより多くの方のこの機能を利用していただくことができますが、新しいLTSが出るにはすこし時間がかかります。
現時点のLTSであるAOS 5.15においてAHV環境では、アップリンクの変更やブリッジの作成は、コマンドベースで行う必要があります。

今回は、新たなブリッジを作成する方法そして次に、アップリンクのNICチーミング方法の設定についてご紹介をしていきます。

仮想スイッチ(ブリッジの作成)は、AHV上で行います。なお、追加の仮想スイッチを作る場合は本番業務には影響はありませんが、アップリンクNICの操作間違いなどにより1ノードが疎通できなくなるとHAが発動する事象が出ることも考えられますので、アップリンクNICを含め操作する場合は、事前に仮想マシンを停止しクラスターサービスを止めておくことをおすすめします。

まずは、仮想スイッチを作成します。

manage_ovs --bridge_name br1 create_single_bridge

仮想スイッチ(ブリッジ)が出来たことを確認するため「manage_ovs show_bridges」を実行します。

$manage_ovs show_bridge
Bridges:
br0
br1


続いて新たに作成したbr1のアップリンクモードを設定します。
bond-modeは以下から選択可能です。

bondモード使用事例上位スイッチ
active-backupデフォルトの構成であり、推奨構成。
単一のアクティブなNICが全てのトラフィックを処理します。
通常ポート設定
balance-slb各仮想NIC毎にアップリンクのNICが割り付けられます。
マルチキャストトラフィックの一部で問題が発生するため、推奨されていません。
接続する物理スイッチ側は、LAGの設定をしないで下さい。
通常ポート設定
balance-tcp仮想マシンが通信するポート番号によって利用するアップリンクNICを割り付けます。
本機能は、接続する物理スイッチでLACPの設定を行って下さい。静的LAGモードは非サポートです。
LACP(動的)


現行ホストに存在しているNICを「manage_ovs show_interfaces」で確認します。

$ manage_ovs show_interfaces
name  mode  link speed
eth0  1000 True  1000
eth1  1000 True  1000
eth2  1000 False  None
eth3  1000 False  None
eth4 10000 False  None
eth5 10000 False  None
eth6 10000  True 10000
eth7 10000  True 10000


ここでは、eth4とeth5のNICを割り付けます。eth4とeth5は、まだリンクアップしていない状態でアップリンクの設定をするため「--require_link=false」を付与します。

なお、既存で用意されているデフォルトの仮想スイッチ(br0)においてアップリンクモードを変える場合も以下のコマンドを利用します。

manage_ovs --bridge_name br1 --interfaces eth4,eth5 --require_link=false --bond_mode=active-backup update_uplinks

では、アップリンクNICと仮想スイッチ(br1)の状態を以下のコマンドで確認していみます。

$manage_ovs show_uplinks
Bridge: br0
  Bond: br0-up
    bond_mode: active-backup
    interfaces: eth7 eth6 
    lacp: off
    lacp-fallback: false
    lacp_speed: slow
Bridge: br1
  Bond: br1-up
    bond_mode: active-backup
    interfaces: eth4 eth5

    lacp: off
    lacp-fallback: true
    lacp_speed: off


これで作業は完了です。続いて、VLANの作成を行います。
AOS5.19より前の環境においては、複数の仮想スイッチを作成した場合、VLAN作成は必ず「acli」で作成を行って下さい。これは、PrismのVLAN作成画面ではどの仮想スイッチに対してVLANを作成するかの指定が出来ないためです。
ここでは、VLAN20のネットワークを新しく作成したbr1側に作成したいと思います。

acli net.create vlan20-seconde-net vlan=20 vswitch_name=br1

重要な点は、vswitch_nameを定義することです。

以上で、作業は完了です。PrismのNetwork Visualizationの画面で見ると新しい仮想スイッチ(ブリッジ)が作成されNICがアップリンクに割り当たっていることが分ります。


作業における注意点は以下の通りです。
  • アップリンクNICを変更することでノード間疎通が出来なくなるとトラブルが発生することが予見されます。あらかじめホストをメンテナンスモードにするかクラスターサービスの停止を行った上で作業を行って下さい。
  • manage_ovsは、操作を行ったCVMのホストにのみ反映されます。クラスター内の全てのノードに対して作業を一括で行うためには、「hostssh "manage_ovs ~」と、hostsshで各ホストに実行を行って下さい。
  • manage_ovsは、クラスターメンバーに属していないノードでも作業が可能です。クラスターに新規で追加を行うノードに対してmanage_ovsでアップリンク設定を変更した上で、ノード拡張を行うことが可能です。
  • AOS5.1までで利用していた、ovs-vsctlコマンドによる仮想スイッチ作成は、AOS5.5以降サポートされていません。

本項目では、manage_ovsコマンド出の作業方法をお伝えしました。acliで、「net.create_cluster_vswitch」を利用すると、各ノードをローリングでメンテナンスモードのしながらアップリンクNICの設定を変更できます。(当然ながらクラスターサービスが起動している状態で実施)
この「net.create_cluster_vswitch」は、AOS 5.19からは「net.create_virtual_switch」コマンドに変更されており、Prism側の仮想スイッチ作成オペレーションと紐付いた操作が可能となっております。

AOS5.0時代に比べるとAHVにおける仮想スイッチの操作はだいぶ楽になっていますが、ovs-vsctlコマンドでの操作が廃止になったり、acliでの仮想スイッチ操作がコマンドが変更になったりとかなり時代に応じて変更されています。

AOS5.19以降はPrismからの操作が最も楽な方法かと思いますが、次のLTSバージョンがリリースされるまでは、現行のLTSであるAOS 5.15の利用においては今回ご紹介したコマンドベースでの作業となります。(次のLTSが待ち遠しい物です)




0 件のコメント:

コメントを投稿