가상머신 기반인 클라우드 환경을 구현하는 MultiNode Openstack을 구현해 보자.
오픈소스로 비용 없이 쉽게 클라우드 환경을 구현할 수 있는 Openstack을 알아보자.
*전에, SingleNode로 구성했던 Openstack을 이번에는 MultiNode로 구성해 보았습니다.
가상머신 기반으로 클라우드 환경을 구현하는 기술입니다. 이 오픈소스는 lass를 쉽게 구축할 수 있도록 플랫폼 지원과, 대시보드를 통해 스토리지, 프로세싱, 네트워킹 등 대시보드를 통해 자원들을 제어할 수 있게 해줍니다.
Openstack을 사용하는 가장 큰 이유는 시스템 사용에 대한 비용이 전혀 들지 않는다는 것입니다.
Openstack의 장점으로는 우선 확장성과, 모듈성, 오픈소스이므로 비용이 들지 않는다는 점과 많은 사람들이 사용하며, 개발하기 때문에 안정화와, 버전 릴리즈가 빠릅니다. 하지만 단점으로는 버전 릴리즈가 빠를수록 잦은 업데이트가 이루어진다는 것이 단점이 될 수도 있습니다.
[멀티노드] 노드 3대 같은 사양으로 진행했습니다.
-
| OS : (VM)Ubuntu20.04 CLI
-
| CPU : 4core
-
| RAM : 16GB
-
| Disk : 50GB
[호스트 네임은 꼭 별도로 다르게 설정해 주셔야 합니다.]
-
gpuadmin1 192.168.0.32 *hostname=gpusystem Controller Node
-
gpuadmin2 192.168.0.34 *hostname=node1 Computing Node 1
-
gpuadmin3 192.168.0.37 *hostname=node2 Computing Node 2
(1) 멀티노드 오픈스택을 구성해 보겠습니다.
stack 계정 생성하기.
-
#sudo useradd -s /bin/bash -d /opt/stack -m stack
stack 계정에 sudo 권한 주기.
-
#sudo echo "stack ALL=(ALL) NOPASSWD: ALL" |sudo tee /etc/sudoers.d/stack
-
#sudo chown -R stack:stack /opt/stack
(1-2) devstack 설치와, local.conf 값 주기.
devstack 다운로드
-
#git clone https://opendev.org/openstack/devstack
local.conf 설정.
-
#cp devstack/samples/local.conf devstack/local.conf
-
#vi devstack/local.conf
(1-3) 아래는 local.conf 값입니다.
-
[local.conf] Controller Node *gpuadmin1
-
HOST_IP=192.168.0.32
FIXED_RANGE=10.4.128.0/20 #임의의 IP를 넣어줍니다.
FLOATING_RANGE=192.168.0.240/25 #어디까지 IP를 사용할지 지정해 줍니다.
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=Itmaya #원하시는 패스워드를 넣으시면 됩니다.
DATABASE_PASSWORD=supersecret
RABBIT_PASSWORD=supersecret
SERVICE_PASSWORD=supersecret
-
[local.conf] Compute Node *gpuadmin2,gpuadmin3 (두 대다 해당 아이피 넣어주기.)
-
HOST_IP=192.168.0.34,37 #Compute Node의 IP를 넣어줍니다.
FIXED_RANGE=10.4.128.0/20
FLOATING_RANGE=192.168.0.240/25
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=Itmaya
DATABASE_PASSWORD=supersecret
RABBIT_PASSWORD=supersecret
SERVICE_PASSWORD=supersecret
DATABASE_TYPE=mysql
SERVICE_HOST=192.168.0.32
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,c-vol,placement-client,ovn-controller,ovs-vswitchd,ovsdb-server,q-ovn-metadata-agent
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_lite.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
(1-5) 아래 이미지는 설치가 완료된 이미지입니다.
(1-6) 아래는 웹으로 오픈스택을 들어간 사진입니다.
(TIP) 그 외, 에러가 나왔을 때 대처 방법입니다.
-
#sudo /usr/share/openvswitch/scripts/ovs-ctl start
-
#sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-client bridge-utils virt-manager
안될 시..
-
#sudo ovs-vsctl --no-wait init
-
#sudo ovs-vswitchd --pidfile --detach
-
local.conf에서 q-agt를 삭제 후, ./unstack 한번해 주시고 ./stack.sh 해주세요.