본문

VirtualBox위에 OpenStack Liberty 설치하기 #3. 네트워크 설정

글쓰게 된 계기도 설명하고 VirtualBox를 비롯한 소소한 팁도 공유하고 Liberty 네트워크 구조도 설명했으니 본격적으로 VirtualBox위에 오픈스택 설치를 진행하고자 한다. 이전글('VirtualBox위에 OpenStack Liberty 설치하기 #2. Liberty 네트워크구조')에서 언급한대로 Self-Service Networks 구조를 바탕으로 진행하려고 하며, 이를 위해 VirtualBox로 구현된 네트워크 구조는 다음과 같다.

[그림 1,2,3] OpenStack Install Guide의 Private project network, Host networking그림과 이를 VirtualBox에서 구현한 네트워크 구조


세가지 그림이 약간씩 다른데, 공통적인 사항은 컴퓨트와 컨트롤러 노드 두개의 노드로 오픈스택이 구성되어있다는 점이다. 이때Management Network는 10.0.0.0/24 대역을 사용한다. Public 대역은 두개의 오픈스택 가이드에서는 203.0.113.0/24로, 이번에 VirtualBox로 구성하는 네트워크에서는 10.0.2.0/24로 구성되어 있다. 사실 [그림 1,3]은 서로 매핑이 잘 되는데 [그림 2]는 약간 혼동을 일으킬 수 있어서 넣지 않으려 했는데, 그래도 비슷한 의미를 담고있는것 같아서 넣어보았다.


VirtualBox에서는 두개의 가상머신(Controller 노드, Compute 노드)을 만들고 인터페이스를 다음과같이 설정해준다.


[그림 4,5,6] VirtualBox에서 어댑터 1,2,3 (eth0,1,2) 설정하기

  • 어댑터 1에서는 외부 네트워크와 격리된 관리 네트워크를 위하여 '내부 네트워크'로 설정하였다. 모든 노드가 동일한 '이름'값을 갖는지 확인하면 된다(따로 설정하지 않으면 모두 intnet으로 설정됨)
  • 어댑터 2는 NAT 네트워크로, 이에 관련한 설명은 이전게시물('VirtualBox의 NAT, 내부 네트워크, NAT 네트워크')에서 다루었으므로 참고할 수 있다. 기본적으로는 '이름'값이 정의되지 않아 네트워크를 사용할 수 없으므로 VirtualBox 메인화면에서 파일 -> 환경설정 -> 네트워크 -> (+)버튼을 눌러서 새로운 NatNetwork를 추가할 수 있다. 새로운 NatNetwork는 기본적으로 10.0.2.0/24대역을 가지므로 추가로 설정할 것은 없다.
  • 어댑터 3은 NAT으로 관리의 편의를 위하여 (apt-get으로 인터넷을 통해 프로그램을 설치한다든가) 임시적으로 추가한것으로, 설치가 완료되면 어댑터를 사용하지 않아도 된다. 큰 문제 없으면 남겨놓는게 편하긴 하다.


두개의 가상머신에서 네트워크를 위와같이 설정해주고 각각 우분투를 설치한 후 /etc/hosts에 다음을 추가한다. 별도의 dns를 사용하지 않고 그냥 controller를 호출하면 10.0.0.11으로 접속하게, compute1을 호출하면 10.0.0.31로 접속하게 하는것이다. 마치 localhost라고 입력하면 127.0.0.1으로 접속하는것과 동일한 원리이다. comptute뒤에 숫자를 붙인것은 다수의 compute를 지원하기 위해서이며, compute2의 경우 10.0.0.32, compute3의경우 10.0.0.33등으로 확장하려고 한것같다.


# controller
10.0.0.11       controller

# compute1
10.0.0.31       compute1


이후 /etc/network/interface파일을 열어 다음과 같이 설정해준다. 단, 아래는 Controller노드에 해당하는것이고 Compute노드1일경우 10.0.0.11을 10.0.0.31로 바꿔서 설정해야 한다. 첫번째 eth0항목은 'ifconfig eth0 10.0.0.11 netmask 255.255.255.0'을 실행한것과 동일한 효과를 낸다. (단 명령은 일회성이므로 재부팅하면 초기화된다) 두번째 eth1항목은 누군가는 promiscuous 모드 활성화를 시키기 위해서라고 하는데 그러려면 'up ip link set $IFACE promisc on'라고 써야하고, 따라서 이항목은 그냥 ip를 지정하지않은 상태로 인터페이스를 활성화 하기 위한것으로 이해해야 한다. (16/02/17 수정: 댓글에서 언급한대로 gateway 부분 삭제함)


auto eth0
iface eth0 inet static
address 10.0.0.11
netmask 255.255.255.0


auto eth1
iface eth1 inet manual
up ip link set dev $IFACE up
down ip link set dev $IFACE down


auto eth2
iface eth2 inet dhcp


위와같이 입력하고 재부팅하면 관련 네트워크 설정은 끝난다. 이제 네트워크 인프라 구성이 끝났으니 다음글부터는 본격적으로 오픈스택 서비스 설치를 진행하면 된다. 참고로 위의 /etc/hosts 파일과 /etc/network/interfaces파일은 루트권한으로 아래를 실행해주면 된다. (우분투 14.04기준)


curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/_etc_hosts" > /etc/hosts

  • Controller 노드에서: curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_network_interfaces" > /etc/network/interfaces
  • Compute 노드에서: curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Compute|_etc_network_interfaces" > /etc/network/interfaces


댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.