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 | 仮想インターフェース。管理用のネットワークインターフェースとして利用。リナックスブリッジに接続する。 |
作成手順
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. 仮想スイッチ作成]
記事に対するご質問、ご要望等はこちらのお問い合わせフォームからお願いします。ご気軽に!