잘 정리된 설명서가 있으면,10분이면 할 일을 하루 종일 자료 찾느라 시간을 허비하고 있다.
다음에 빠르게 Open vSwitch를 설치하기 위해서 메모를 해두어야겠다.
* Open vSwitch Source Code 다운로드 하기
wget 명령으로 openvswitch source를 다운로드한다.
# wget http://openvswitch.org/releases/openvswitch-2.3.1.tar.gz
* 압출을 풀고, openvswitch-2.3.1 디렉토리에서 아래의 명령을 수행한다.
# boot.sh
# configure--with-linux=/usr/modules/`uname -r`/build (중요: 이 경로가 잘못되면, 나중에 kernel module이 설치되지 않는다)
# make
# make install
# ln -s /usr/src/kernels/`uname -r`/include/linux generated (중요: 이 부분이 매뉴얼에는 없다. 원래 필요없는 작업인데, make 파일이 잘못만들어져서 임의로 수작업을 해야 한다. generated 디렉토리를 만들지 않으면, 아래의 make modules_install 명령이 실패한다.)
# make modules_install
# rmmod openvswitch (참고: 꼭 필요한 절차는 아니다. Old Version을 remove하기 위해서)
# modprobe openvswitch
* kernel module이 잘 insert되었는지 확인한다.
# dmesg
... ( 중간 생략 ) ...
openvswitch: Open vSwitch switching datapath 2.3.1, built Dec 20 2014 16:33:44
* 새로 빌드한 kernel module의 정보를 확인한다.
# modinfo openvswitch
filename: /lib/modules/2.6.32-431.1.2.0.1.el6.x86_64/extra/openvswitch.ko
version: 2.3.1
license: GPL
description: Open vSwitch switching datapath
srcversion: B6EF1BA3A4922A40ED09655
depends: libcrc32c
vermagic: 2.6.32-431.1.2.0.1.el6.x86_64 SMP mod_unload modversions
parm: vlan_tso:Enable TSO for VLAN packets (int)
* Open vSwitch가 사용할 DB를 초기화한다.
# mkdir -p /usr/local/etc/openvswitch
# ovsdb-tool create /usr/local/etc/openvswitch/conf.db vswitchd/vswitch.ovsschema (위에서 make 명령을 수행했던 source package directory에서 수행해야 한다. 안 그러면, 실패한다.)
* Open vSwitch의 설정 DB를 기동한다.
# ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock \
--remote=db:Open_vSwitch,Open_vSwitch,manager_options \
--private-key=db:Open_vSwitch,SSL,private_key \
--certificate=db:Open_vSwitch,SSL,certificate \
--bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \
--pidfile --detach
(참고로, 위와 같이 옵션을 추가하면 SSL을 사용하겠다는 것이다)
* DB를 처음 생성했으므로, 초기화한다.
# ovs-vsctl --no-wait init
* Open vSwitch 데몬을 기동한다.
# ovs-vswitchd --pidfile --detach
2014-12-20T08:26:52Z|00001|reconnect|INFO|unix:/usr/local/var/run/openvswitch/db.sock: connecting...
2014-12-20T08:26:52Z|00002|reconnect|INFO|unix:/usr/local/var/run/openvswitch/db.sock: connected
여기까지하면, Open vSwitch가 동작한다. 단, 구체적인 switch 설정을 하지 않았기 때문에 일을 하지는 않는다.
아래와 같이 간단하게 bridge network을 구성해보자.
* Bridge br0 라는 것을 생성한다. 그리고 Bridge br0에 물리적 NIC를 binding한다.
# ovs-vsctl add-br br0
# ovs-vsctl add-port br0 em1
# ovs-vsctl add-port br0 vmnet8
# ovs-vsctl show
Bridge "br0"
Port "vmnet8"
Interface "vmnet8"
Port "br0"
Interface "br0"
type: internal
Port "em1"
Interface "em1"
이것으로 간단한 Bridge Network까지 구성했다.
댓글 없음:
댓글 쓰기