2014년 12월 28일 일요일

['나는 한다 Openstack 설치를' 시리즈 5편]매뉴얼대로 Centos에 openstack icehouse 설치하기, compute node 설정 및 설치하기

['나는 한다 Openstack 설치를' 시리즈 5편]매뉴얼대로 Centos에 openstack icehouse 설치하기, compute node 설정 및 설치하기

이번에는 openstack에서 가상 OS를 구동해주는 compute service, compute node를 설치하겠습니다. 간략하게 compute node를 설명하면 AWS의 EC2, vmware의 vm등이 되겠습니다.

controller node에 compute 설치하기


1. controller node에 필수 패키지 설치하기

# yum install -y openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient

2. mysql에 compute 데이터베이스 저장하기

# openstack-config --set /etc/nova/nova.conf \
  database connection mysql://nova:<비밀번호>@localhost/nova

3. qpid를 사용하기 위해 compute 설정하기

# openstack-config --set /etc/nova/nova.conf \
  DEFAULT rpc_backend qpid
# openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller

4. my_ip, vncserver_listen, vncserver_proxyclient_address 설치하기

ip에는 controller node의 ip를 넣어주시면 됩니다.

# openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.137.201
# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 192.168.137.201
# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 192.168.137.201

5. nova 데이터베이스 user 만들기

# mysql -u root -p
mysql> CREATE DATABASE nova;
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY '<비밀번호>';
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'controller' \
IDENTIFIED BY '<비밀번호>';
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
IDENTIFIED BY '<비밀번호>';
mysql> exit

6. 테이블 만들기

# su -s /bin/sh -c "nova-manage db sync" nova

7. keystone에 nova user 등록하기

# keystone user-create --name=nova --pass=<비밀번호> --email=<email주소>
# keystone user-role-add --user=nova --tenant=service --role=admin

8. controller node에서 compute가 잘 실행되게 하기 위해 openstack-config 설정하기

# openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://192.168.137.201:5000
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password <비밀번호>

9. 다른 openstack service에서 원활하게 접속하게 하기 위해 compute 등록하기

# keystone service-create --name=nova --type=compute \
  --description="OpenStack Compute"
# keystone endpoint-create \
  --service-id=$(keystone service-list | awk '/ compute / {print $2}') \
  --publicurl=http://192.168.137.201:8774/v2/%\(tenant_id\)s \
  --internalurl=http://192.168.137.201:8774/v2/%\(tenant_id\)s \
  --adminurl=http://192.168.137.201:8774/v2/%\(tenant_id\)s

10. compute service들 시작하기, chkconfig에 등록하기

# service openstack-nova-api start
# service openstack-nova-cert start
# service openstack-nova-consoleauth start
# service openstack-nova-scheduler start
# service openstack-nova-conductor start
# service openstack-nova-novncproxy start
# chkconfig openstack-nova-api on
# chkconfig openstack-nova-cert on
# chkconfig openstack-nova-consoleauth on
# chkconfig openstack-nova-scheduler on
# chkconfig openstack-nova-conductor on
# chkconfig openstack-nova-novncproxy on

11. 설정 잘 되었는지 확인하기

# nova image-list

compute node 설정하기


1. compute 패키지 설치하기

# yum install -y openstack-nova-compute

2. /etc/nova/nova.conf 파일 설정하기

# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:<비밀번호>@controller/nova
# openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://192.168.137.201:5000
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http
# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service
# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password <비밀번호>

3. qpid 사용을 위한 compute 설정하기

# openstack-config --set /etc/nova/nova.conf \
  DEFAULT rpc_backend qpid
# openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller

4. 인스턴스에 원격 접속을 위해 compute 설정하기

ip는 compute node의 ip를 입력해주세요.
# openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.137.203
# openstack-config --set /etc/nova/nova.conf DEFAULT vnc_enabled True
# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_listen 0.0.0.0
# openstack-config --set /etc/nova/nova.conf DEFAULT vncserver_proxyclient_address 192.168.137.203
# openstack-config --set /etc/nova/nova.conf \
  DEFAULT novncproxy_base_url http://192.168.137.201:6080/vnc_auto.html

5. image service를 실행하는 호스트 지정하기

# openstack-config --set /etc/nova/nova.conf DEFAULT glance_host controller

6. 하드웨어 가속 여부 확인하기

# egrep -c '(vmx|svm)' /proc/cpuinfo

위의 명령어를 실행 시켜서 1이나 그 이상의 숫자가 나오면 별다른 설정이 필요없지만 0이 나왔을 경우는 밑의 명령어를 추가로 실행해야 합니다.

# openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu

7. compute service 시작하기

# service libvirtd start
# service messagebus start
# service openstack-nova-compute start
# chkconfig libvirtd on
# chkconfig messagebus on
# chkconfig openstack-nova-compute on

이렇게 compute service까지 설치를 마쳤습니다. 다음은 network service 설정하기 입니다.


댓글 없음:

댓글 쓰기