2017年6月13日火曜日

OpenvSwitch による VLAN 検証(その2)

続いて、VLAN-ID を持った仮想スイッチってやつを作ってみたい。
このページの4枚目の図だ。

作成するのは gemini / cancer 上。
まずは、それぞれのネットワーク設定からだ。
(gemini) $ sudo vi /etc/network/interfaces.d/0020.vlan10
--ココから
auto vlan10
allow-extsw
iface vlan10 inet manual
ovs_bridge extsw
ovs_type OVSIntPort
ovs_options tag=10
--ココまで

(gemini) $ sudo vi /etc/network/interfaces.d/0030.vlan20
--ココから
auto vlan20
allow-extsw
iface vlan20 inet manual
ovs_bridge extsw
ovs_type OVSIntPort
ovs_options tag=20
--ココまで

(gemini) $ sudo vi /etc/network/interfaces.d/0010.extsw
--ovs_ports ens3 の下に2行追加
ovs_ports vlan10
ovs_ports vlan20
--ココまで

(gemini) $ sudo vi /etc/default/networking
--1行修正
EXCLUDE_INTERFACES=extsw

EXCLUDE_INTERFACES="extsw vlan10 vlan20"
--

cancer でも同じ設定を。
(cancer) $ sudo vi /etc/network/interfaces.d/0020.vlan10
--ココから
auto vlan10
allow-extsw
iface vlan10 inet manual
ovs_bridge extsw
ovs_type OVSIntPort
ovs_options tag=10
--ココまで

(cancer) $ sudo vi /etc/network/interfaces.d/0030.vlan20
--ココから
auto vlan20
allow-extsw
iface vlan20 inet manual
ovs_bridge extsw
ovs_type OVSIntPort
ovs_options tag=20
--ココまで

(cancer) $ sudo vi /etc/network/interfaces.d/0010.extsw
--ovs_ports ens3 の下に2行追加
ovs_ports vlan10
ovs_ports vlan20
--ココまで

(cancer) $ sudo vi /etc/default/networking
--1行修正
EXCLUDE_INTERFACES=extsw

EXCLUDE_INTERFACES="extsw vlan10 vlan20"
--

続いて、bridge の作成
(gemini) $ sudo ovs-vsctl show
(gemini) $ sudo ovs-vsctl add-br vlan10 extsw 10
(gemini) $ sudo ovs-vsctl add-br vlan20 extsw 20
(gemini) $ sudo ovs-vsctl show

(cancer) $ sudo ovs-vsctl show
(cancer) $ sudo ovs-vsctl add-br vlan10 extsw 10
(cancer) $ sudo ovs-vsctl add-br vlan20 extsw 20
(cancer) $ sudo ovs-vsctl show

これでいいのかな…?
leo / virgo を停止させ、gemini / cancer を再起動、反映されているか確認。
(leo) $ sudo systemctl poweroff
(virgo) $ sudo systemctl poweroff
(gemini) $ sudo systemctl reboot
(cancer) $ sudo systemctl reboot
(gemini) $ sudo ovs-vsctl show
(cancer) $ sudo ovs-vsctl show

これで、VLANタグ付きのスイッチが出来た…はず…。

作った VLANタグスイッチを、 libvirt に登録しよう。
(gemini) $ vi vlan10.xml
--ココから
<network>
<name>vlan10</name>
<forward mode='bridge'/>
<bridge name='vlan10'/>
<virtualport type='openvswitch'/>
</network>
--ココまで

(gemini) $ vi vlan20.xml
--ココから
<network>
<name>vlan20</name>
<forward mode='bridge'/>
<bridge name='vlan20'/>
<virtualport type='openvswitch'/>
</network>
--ココまで

(gemini) $ virsh net-list --all
(gemini) $ virsh net-define vlan10.xml
(gemini) $ virsh net-define vlan20.xml
(gemini) $ virsh net-list --all

(gemini) $ virsh net-autostart vlan10
(gemini) $ virsh net-autostart vlan20
(gemini) $ virsh net-start vlan10
(gemini) $ virsh net-start vlan20
(gemini) $ virsh net-list --all

cancer 側で取り込む。(libvirt 関連の情報は共有ディスク上にあるはずなので、cancer 側は再読込でOKのはず。)
(cancer) $ virsh net-list --all
(cancer) $ sudo systemctl reload libvirt-bin.service
(cancer) $ virsh net-list --all

これで VLAN付きスイッチの libvirt への登録も完了だ。
次は leo / virgo のネットワーク設定を変更して起動する流れだが、これは次回に。

0 件のコメント:

コメントを投稿