11.2. ML2/OVN デプロイメントでの VLAN 透過性の有効化
仮想マシン (VM) インスタンス間で VLAN タグ付けされたトラフィックを送信する必要がある場合は、VLAN の透過性を有効にします。VLAN 透過ネットワークでは、neutron で VLAN を設定するのではなく、直接仮想マシンで設定することができます。
前提条件
- メカニズムドライバーとして ML2/OVN を使用する Red Hat OpenStack Platform 16.1 以降のデプロイメント
- 種別 VLAN または Geneve のプロバイダーネットワーク。フラット種別のプロバイダーネットワークのデプロイメントでは、VLAN の透過性を使用しないでください。
- 両方の VLAN において、外部スイッチが ethertype 0x8100 を使用する 802.1q VLAN スタックをサポートするようにします。OVN VLAN の透過性は、0x88A8 または 0x9100 に設定された外部プロバイダー VLAN ethertype を使用する 802.1ad QinQ をサポートしません。
- RHOSP 管理者権限が必要です。
手順
- アンダークラウドホストに stack ユーザーとしてログインします。
stackrc アンダークラウド認証情報ファイルを入手します。
$ source ~/stackrc
アンダークラウドノードの環境ファイルで、
EnableVLANTransparency
パラメーターをtrue
に設定します。たとえば、次の行をovn-extras.yaml
に追加します。parameter_defaults: EnableVLANTransparency: true
この環境ファイルをご自分の環境に該当するその他の環境ファイルと共に
openstack overcloud deploy
コマンドに追加して、オーバークラウドをデプロイします。$ openstack overcloud deploy \ --templates \ … -e <other_overcloud_environment_files> \ -e ovn-extras.yaml \ …
<other_overcloud_environment_files>
を既存のデプロイメントに含まれる環境ファイルのリストに置き換えます。--transparent-vlan
引数を使用してネットワークを作成します。例
$ openstack network create network-name --transparent-vlan
参加するそれぞれの仮想マシンに VLAN インターフェイスを設定します。
VLAN の透過性に必要な追加のタグ付けに対応するために、インターフェイスの MTU を下層のネットワークの MTU より 4 バイト少ない値に設定します。たとえば、下層のネットワークの MTU が 1500 の場合は、インターフェイスの MTU を 1496 に設定します。
次のコマンド例では、MTU が 1496 の VLAN インターフェイスを
eth0
に追加します。VLAN は 50 で、インターフェイス名はvlan50
です。例
$ ip link add link eth0 name vlan50 type vlan id 50 mtu 1496 $ ip link set vlan50 up $ ip addr add 192.128.111.3/24 dev vlan50
手順 4 で仮想マシン内の VLAN インターフェイス上に作成した IP アドレスとして、次のいずれかを選択します。
仮想マシンポートに許可されたアドレスペアを設定します。
例
次の例では、
192.128.111.3
を使用し、オプションで MAC アドレス00:40:96:a8:45:c4
を追加することにより、ポートfv82gwk3-qq2e-yu93-go31-56w7sf476mm0
に許可されたアドレスペアを設定します。$ openstack port set --allowed-address \ ip-address=192.128.111.3,mac-address=00:40:96:a8:45:c4 \ fv82gwk3-qq2e-yu93-go31-56w7sf476mm0
ポートのポートセキュリティーを無効にします。
ポートセキュリティーを無効にすることは、許可されたアドレスペアの可能な組み合わせをすべてリストすることができない場合の実用的な代替手段となります。
例
次の例では、ポート
fv82gwk3-qq2e-yu93-go31-56w7sf476mm0
のポートセキュリティーを無効にします。$ openstack port set --no-security-group \ --disable-port-security \ fv82gwk3-qq2e-yu93-go31-56w7sf476mm0
検証
- vlan50 の IP アドレスを使用して VLAN 上の 2 つの仮想マシン間で ping を送信します。
-
eth0
でtcpdump
を使用して、VLAN タグが付いたままパケットが到達するかどうかを確認します。
関連情報
- Advanced Overcloud Customization ガイドの Environment files
- director を使用した Red Hat OpenStack Platform のインストールと管理 ガイドの オーバークラウド作成時の環境ファイルの追加
- コマンドラインインターフェイスリファレンス の port set