Ubuntuを12.04LTS(precise)から14.04LTS(trusty)にアップグレードしたところ、open vSwitchで外部ネットワークに接続していたKVMが外部ネットワークと通信できなくなった。
対応に先立ってopen vSwitchブリッジ互換機能の状況について調べたのでまとめてみた。
まずは、open vSwitchブリッジ互換機能について調べてみた。
実際の設定変更はこちら。
open vSwitchブリッジ互換機能対応状況のサマリ
- Ubuntuのopenvswitch-brcompatパッケージは12.04LTSまでしか提供されていない
- open vSwitchのlinuxブリッジ互換機能はv1.9.x迄で、v1.10.0で削除された
対応状況の詳細
linuxブリッジ互換機能についての経緯はopen vSwitch FAQに記載されている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Q: What happened to the bridge compatibility feature? A: Bridge compatibility was a feature of Open vSwitch 1.9 and earlier. When it was enabled, Open vSwitch imitated the interface of the Linux kernel "bridge" module. This allowed users to drop Open vSwitch into environments designed to use the Linux kernel bridge module without adapting the environment to use Open vSwitch. Open vSwitch 1.10 and later do not support bridge compatibility. The feature was dropped because version 1.10 adopted a new internal architecture that made bridge compatibility difficult to maintain. Now that many environments use OVS directly, it would be rarely useful in any case. To use bridge compatibility, install OVS 1.9 or earlier, including the accompanying kernel modules (both the main and bridge compatibility modules), following the instructions that come with the release. Be sure to start the ovs-brcompatd daemon. |
openvswitch.orgのリリースニュースによると、
v1.9.0 – 26 Feb 2013
1 2 3 4 5 6 7 8 9 10 11 12 |
v1.9.0 - 26 Feb 2013 - The following features are now deprecated. They will be removed no earlier than February 2013. Please email dev@openvswitch.org with concerns. - Bridge compatibility. - Stable bond mode. - The autopath action. - Interface type "null". - Numeric values for reserved ports (see "ovs-ofctl" note above). - Tunnel Path MTU Discovery. - CAPWAP tunnel support. |
1 2 3 4 5 6 |
v1.10.0 - 01 May 2013 - Bridge compatibility support has been removed. Any uses that rely on ovs-brcompatd will have to stick with Open vSwitch 1.9.x or adapt to native Open vSwitch support (e.g. use ovs-vsctl instead of brctl). |
ovs-discuss MLでは、ovs-vsctlへの移行を奨めていた。
Ubuntuでの対応
(a)Ubuntu12.04LTSまで
– linuxブリッジ互換機能を使う場合は、12.04LTS+openvswitch1.9.x を使う必要がある。
– この組み合わせでは、openvswitch1.9.xで使用可能なカーネルバージョンでの縛りが生じるので、カーネルバージョンアップには注意が必要。
– 12.04LTSのサポート期限は2017.4月なので、それ以降はOSサポートの無い状態で使うリスクが生じる。
– (b)と同様の対策をとって、openvswitch-brcompatパッケージの代わりにovs-vsctlを使ってブリッジを作成して使うことも可能。
(b)Ubuntu14.04LTS以降
– Ubuntu14.04LTSに含まれるopen vSwitchパッケージは2.0.1なので、ブリッジ互換機能は削除されている。
– 14.04LTSではopenvswitch-brcompatパッケージが提供されない。
このため、openvswitch-brcompatパッケージの代わりにovs-vsctlを使ってブリッジを作成して使う必要がある。