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




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

 

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

 

 

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

<ovs_ifup>

#!/bin/bash

ifup $5

ovs-vsctl del-port ovsbr1 $5

 

# vi /work/lxc/ovs_ifdown

<ovs_ifdown>

#!/bin/bash

ifdown $5

ovs-vsctl del-port ovsbr1 $5

 

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

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

# vi /work/lxc/lxc_node1_config

<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. 仮想スイッチ作成]

 

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