본문

VirtualBox위에 OpenStack Liberty 설치하기 #6. 서비스설치 (2)

VirtualBox위에 OpenStack Liberty 설치하기 #1. 소개

VirtualBox위에 OpenStack Liberty 설치하기 #2. Liberty 네트워크구조

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

VirtualBox위에 OpenStack Liberty 설치하기 #4. 노드구성

VirtualBox위에 OpenStack Liberty 설치하기 #5. 서비스설치 (1)


이전글에서는 기본 프로그램을 설치하고 Keystone(인증)과 Glance(이미지관리)를 설치하였다. 이제는 Nova(컴퓨트)와 Neutron(네트워크), Horizon(WebGUI)을 설치하려고 한다. 지난글에서는 대부분이 컨트롤러 노드에 집중되어 설명되었지만 이제는 Horizon을 제외하고는 컴퓨트와 컨트롤러노드를 번갈아가며 진행해야 하기때문에 실수하기 쉽다. 이번 게시물까지는 주구장창 설치만 하고 다음게시물에서 실제 인스턴스 생성을 수행하도록 한다.


주의사항: 사용자의 확인 또는 입력이 필요한 부분은 <입력값> 의 형태로 나타낼 것이고 그 이외에는 그냥 복사 붙여넣기하여 설치를 진행할 수 있다. 또한 괄호없이 빨간색 글씨로 되어있는부분은 기본암호이므로 보안을 강화하기 위해서는 이 부분과, 관련한 설정파일들을 변경해 주어야 한다. Ubuntu14.04버전 기준으로 작성되어 다른 운영체제에서는 호환이 되지않을수 있다. 기본적으로 'sudo su'를 미리 실행하여 root 권한으로 진행하도록 한다.


설치목차

5-1. Nova 설치

5-2. Nova 설치 후 동작 확인

6-1. Neutron 설치

6-2. Neutron 설치 후 동작 확인

7. Horizon 설치


5-1. Nova 설치

[컨트롤러 노드]

mysql -u root -p <아래의 sql구문입력>

CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';


source admin-openrc.sh
openstack user create --domain default --password-prompt nova <NOVA_PASS>
openstack role add --project service --user nova admin
openstack service create --name nova --description "OpenStack Compute" compute
openstack endpoint create --region RegionOne compute public http://controller:8774/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute internal http://controller:8774/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne compute admin http://controller:8774/v2/%\(tenant_id\)s


apt-get install nova-api nova-cert nova-conductor nova-consoleauth nova-novncproxy nova-scheduler python-novaclient
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_nova_nova.conf" > /etc/nova/nova.conf
su -s /bin/sh -c "nova-manage db sync" nova
service nova-api restart
service nova-cert restart
service nova-consoleauth restart
service nova-scheduler restart
service nova-conductor restart
service nova-novncproxy restart
rm -f /var/lib/nova/nova.sqlite

[컴퓨트 노드]

apt-get install nova-compute sysfsutils
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Compute|_etc_nova_nova.conf" > /etc/nova/nova.conf

service nova-compute restart
rm -f /var/lib/nova/nova.sqlite


egrep -c '(vmx|svm)' /proc/cpuinfo <이 명령을 수행했을때 아무출력이 안나오면 아래를 실행하고 위의 service,rm명령을 다시실행>
vi /etc/nova/nova-compute.conf <[libvirt]항의 virt_type=kvm을 qemu로 바꿔준다>

[libvirt]
virt_type = qemu


5-2. Nova 설치 후 동작확인(오류메시지만 안나오면 OK)
[컨트롤러 노드]

source admin-openrc.sh
nova service-list
nova endpoints <이과정에서는 warning이 나와도 무시하면 된다>
nova image-list

6-1. Neutron 설치

[컨트롤러 노드]

mysql -u root -p <아래의 sql구문입력>

CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'NEUTRON_DBPASS';


source admin-openrc.sh
openstack user create --domain default --password-prompt neutron <NEUTRON_PASS>
openstack role add --project service --user neutron admin
openstack service create --name neutron --description "OpenStack Networking" network
openstack endpoint create --region RegionOne network public http://controller:9696
openstack endpoint create --region RegionOne network internal http://controller:9696
openstack endpoint create --region RegionOne network admin http://controller:9696


apt-get install neutron-server neutron-plugin-ml2 neutron-plugin-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent python-neutronclient
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_neutron_neutron.conf" > /etc/neutron/neutron.conf
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_neutron_plugins_ml2_ml2_conf.ini" > /etc/neutron/plugins/ml2/ml2_conf.ini
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_neutron_plugins_ml2_linuxbridge_agent.ini" > /etc/neutron/plugins/ml2/linuxbridge_agent.ini
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_neutron_l3_agent.ini" > /etc/neutron/l3_agent.ini
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_neutron_dhcp_agent.ini" > /etc/neutron/dhcp_agent.ini
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_neutron_dnsmasq-neutron.conf" > /etc/neutron/dnsmasq-neutron.conf
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_neutron_metadata_agent.ini" > /etc/neutron/metadata_agent.ini
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_nova_nova.conf " > /etc/nova/nova.conf
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
service nova-api restart
service neutron-server restart
service neutron-plugin-linuxbridge-agent restart
service neutron-dhcp-agent restart
service neutron-metadata-agent restart
service neutron-l3-agent restart
rm -f /var/lib/neutron/neutron.sqlite


[컴퓨트 노드]

apt-get install neutron-plugin-linuxbridge-agent
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Compute|_etc_neutron_neutron.conf" > /etc/neutron/neutron.conf
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Compute|_etc_neutron_plugins_ml2_linuxbridge_agent.ini" > /etc/neutron/plugins/ml2/linuxbridge_agent.ini
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Compute|_etc_nova_nova.conf" > /etc/nova/nova.conf
service nova-compute restart
service neutron-plugin-linuxbridge-agent restart


6-2. Neutron 설치 후 동작확인(오류메시지만 안나오면 OK)
[컨트롤러 노드]
source admin-openrc.sh
neutron ext-list
neutron agent-list

7. Horizon 설치

apt-get install openstack-dashboard
curl "https://raw.githubusercontent.com/frontjang/openstack_liberty/master/Ctrl|_etc_openstack-dashboard_local_settings.py" > /etc/openstack-dashboard/local_settings.py
service apache2 reload



이제 컨트롤러/컴퓨트 노드의 웹브라우저에서 http://controller/horizon 접속하여 설치를 확인할 수 있다.



댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.