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 タグが付いたままパケットが到達するかどうかを確認します。