CentOS7で構築 Open vSwitch オープンブイスイッチ[4. 仮想子ノード作成]


CentOS7で構築 Open vSwitch オープンブイスイッチ[4. 仮想子ノード作成]

 

CentOS7でOpen vSwitchを構築する第4回目の講座となります。前回、仮想スイッチを作成しましたが、今回はLinuxのコンテナ技術を使って仮想子ノードを作成し、この仮想ノードを仮想スイッチに接続します。前回の記事"CentOS7で構築 Open vSwitch オープンブイスイッチ[3. 仮想スイッチ作成]をまだ未読の方はそちらを先にご覧ください。前提として今回もLinuxの知識が中級レベル以上の人を対象にしています。

 

1. Linuxコンテナ(LXC)のインストール

LXCのインストールとセットアップについては公式サイト(https://linuxcontainers.org/)を参照して、最新情報を取得してください。ここではあくまで例として紹介します。

例)ここでは以下の内容で作成します。

Node: node1

Network:以下の要件で作成

Interface Network specification Memo
eth0 ip address:192.168.5.71/16 仮想インターフェース。データトラフィック用ネットワークのインターフェースとして、Open vSwitchのブリッジへ接続する。
eth1 ip address:172.16.201.71/24 仮想インターフェース。管理用のネットワークインターフェースとして利用。リナックスブリッジに接続する。

lxc1

ステップ

1.リポジトリの追加

#yum install -y epel-release

 

2.Yumアップデート

#yum update

 

3.インストールLXC

#yum install lxc lxc-templates lxc-doc lxc-libs rsync

 

4.作業ディレクトリの作成

#mkdir /work/lxc/

 

5.OVSで作成したブリッジへポートを追加/削除するためのスクリプト作成

# vi /work/lxc/ovs_ifup

#!/bin/bash

ifup $5

ovs-vsctl del-port ovsbr1 $5

# vi /work/lxc/ovs_ifdown

#!/bin/bash

ifdown $5

ovs-vsctl del-port ovsbr1 $5

 

6.LXCノード"node1"作成時に使用するコンフィグファイルの作成

このファイルの中で2つのネットワークインターフェースを設定します。またそれぞれ、OVSブリッジへの接続のための記述と、リナックスブリッジへの接続のための記述を行います。

# vi /work/lxc/lxc_node1_config

lxc.network.type=veth

lxc.network.name=eth0

lxc.network.ipv4=192.168.5.71/24

lxc.network.flags=up

lxc.network.script.up=/work/lxc/ovs_ifup

lxc.network.script.down=/work/lxc/ovs_ifdown

lxc.network.veth.pair = lxc0

 

lxc.network.type = veth

lxc.network.name = eth1

lxc.network.ipv4=172.16.201.71/16

lxc.network.flags = up

lxc.network.link = lxbr1

lxc.kmsg = 0

7.CentOSのテンプレートを使用して、LXC ノード"node1"を作成

#lxc-create -n bss1 -t centos -f /work/lxc/lxc_node1_config

作成に成功すると以下のディレクトリがLXCノード'node1'のルートディレクトリとなり、ファイル群が作成されます。

/var/lib/lxc/<NODE NAME>

また、このノード用のコンフィグファイルが以下に作成されます。LXCノード作成後はこちらのコンフィグファイルが正となります。

/var/lib/lxc/<NODE NAME>/config

 

8.以下にあるnode1のネットワーク設定ファイルを準備します。

/var/lib/lxc/node1/rootfs/etc/sysconfig/network-scripts

node1を起動する前に、node1内のネットワーク設定ファイルをチェックしてください。また必要に応じて修正をします。(デフォルトでdhcpになっている場合があるのでその場合はstaticへ変更します。)

 

9.node1を起動後にログインするための初期パスワードを確認します。

#vi /var/lib/lxc/node1/ tmp_root_pass

 

10. 実際にLXCノード'node1'を起動します。

#lxc-start -n node1 –d

 

11. node1へログイン後、192.168.5.X 及び172.16.X.Xのネットワークにある他ノードへpingを打ち、疎通を確認。

 

いかがでしたでしょうか。4回にわたり、オープンブイスイッチ(OVS)と仮想ノードによる接続方法を紹介してきました。 ご存知の通り、OVSはOpenFlowプロトコルに対応していればどのようなコントローラでも基本的に接続することが可能です。一旦連載は終了しますが、どこかでこれら、OVS、コントローラ、仮想ノードを使用した有用な事例を紹介できればと思います。

 

 

<<CentOS7で構築 Open vSwitch オープンブイスイッチ[3. 仮想スイッチ作成]

 

記事に対するご質問、ご要望等はこちらのお問い合わせフォームからお願いします。ご気軽に!