티스토리 뷰
[OpenStack Class] 제42강 CentOS에서 설치해 보는 오픈스택 2편 - All-in-One 설치
naleejang 2015. 1. 5. 23:49안녕하세요~!!
All-in-One으로 오픈스택을 설치해 보자
3장에서 우분투를 설치하고 데브스택을 이용해 오픈스택을 설치했다면 이번 장에서는 레드햇 계열인 CentOS를 설치하고 RDO PackStack을 이용해서 오픈스택을 설치하겠습니다. PackStack은 쉘 스크립트를 이용해서 설치하는 데브스택과 달리 Puppet 기반의 인스톨 유틸리티를 사용합니다.
시스템 구성도를 그려보자
Single Node에 오픈스택을 설치할 때는 테스트나 스터디를 위한 설치이므로 사용하고 있는 컴퓨터에 VisualBox나 VMWare로 생성한 가상서버를 주로 이용합니다. 이때 생성한 가상서버에 CentOS를 설치합니다. 레드햇에서 서비스하는 RDO PackStack을 이용해서 그림 6-1과 같은 네트워크 구성으로 설치하겠습니다.
IP 공유기의 게이트웨이 IP는 192.168.0.1이고 서브넷 마스크는 255.255.255.0이라고 가정합니다. Neutron을 이용해 오픈스택을 설치할 예정이므로 인터넷이 되는 윈도 PC의 네트워크 카드를 외부 인터넷과 연결되는 가상서버의 브리지 네트워크로 설정하고 br-ex 네트워크 IP를 192.168.0.100으로 사용합니다. 관리 및 모니터링 IP는 다른 공유기와 연결된 Bridge를 이용하는데 Bridge의 게이트웨이 IP는 10.10.15.1이고 CentOS가 설치된 가상서버의 IP는 10.10.15.11을 사용합니다. Fixed IP Range는 10.0.0.0/24를 사용하고 Floating IP Range는 인터넷이 되는 192.168.0.0/24를 사용할 것입니다. 그리고 할당 가능한 Floating IP Pool은 192.168.0.100에서 192.168.0.200을 사용하겠습니다.
Network IP 설정
VisualBox에서 생성한 가상서버에 CentOS 설치가 완료되면 로그인한 후 먼저 Network IP를 설정합니다. IP 설정이 완료되면 그 다음부터는 SSH 클라이언트 툴을 이용해 좀 더 쉽게 오픈스택을 설치할 수 있습니다. 이때 설정할 네트워크 IP는 시스템 구성도에서 미리 그려본 IP를 설정합니다.
1. /etc/sysconfig/network-scripts/ifcfg-eth0 파일을 열어 다음과 같이 내용을 수정합니다. eth0은 모니터링 및 관리용 IP를 사용할 예정이므로 static IP로 설정합니다.
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR=08:00:27:EC:43:E0 TYPE=Ethernet UUID=84a27f42-ea7d-4f11-a965-2d735f9560e3 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=10.10.15.11 GATEWAY=10.10.15.1 USERCTL=no IPV6INIT=no PEERDNS=yes |
2. 다시 /etc/sysconfig/network-scripts/ifcfg-eth1 파일을 열어 다음과 같이 수정합니다.
# vi /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes |
3. IP 설정이 완료되면 다음과 같은 명령어로 네트워크 서비스를 재시작합니다.
# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining if ip address 10.10.15.11 is already in use for device eth0... [ OK ] Bringing up interface eth1: [ OK ] |
4. 네트워크 서비스가 정상적으로 설정되었는지 ifconfig 명령으로 확인합니다.
# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:EC:43:E0 inet addr:10.10.15.11 Bcast:10.10.15.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:feec:43e0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3313 errors:0 dropped:0 overruns:0 frame:0 TX packets:2028 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:252721 (246.7 KiB) TX bytes:230736 (225.3 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:04:A8:B0 inet6 addr: fe80::a00:27ff:fe04:a8b0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:74 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8211 (8.0 KiB) TX bytes:1662 (1.6 KiB)
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) |
PackStack 설치를 위한 사전 준비
네트워크 IP 설정를 완료하면 SSH 클라이언트 툴을 이용해서 해당 네트워크 IP로 접속합니다. 앞서 10.10.15.11로 설정했으므로 SSH 접속 시 10.10.15.11로 접속합니다. 접속한 후 PackStack을 설치하기 전에 설치를 위한 사전 준비를 합니다.
1. Yum을 이용해서 시스템을 업데이트합니다.
# yum update –y Loaded plugins: fastestmirror, security base | 3.7 kB 00:00 base/primary_db | 4.4 MB 00:00 extras | 3.4 kB 00:00 extras/primary_db | 19 kB 00:00 updates | 3.4 kB 00:00 updates/primary_db | 3.2 MB 00:00 Setting up Update Process …. yum-plugin-security.noarch 0:1.1.30-17.el6_5 yum-utils.noarch 0:1.1.30-17.el6_5
Complete! |
2. 시스템 업데이트가 완료되면 stack 계정을 다음과 같이 추가합니다.
# useradd stack # passwd stack New password: Retype new password: passwd: all authentication tokens updated successfully. |
3. 생성한 stack 계정으로 sudo 명령을 사용하기 위해 /etc/sudoers 파일에 쓰기 권한을 추가합니다. 그리고 /etc/sudoers 파일을 열어 “stack ALL=(ALL) ALL”을 추가합니다.
# chmod u+w /etc/sudoers # vi /etc/sudoers stack ALL=(ALL) ALL |
4. Sudoers 파일 수정을 완료하면 아무 때나 수정할 수 없도록 다음과 같이 쓰기 권한을 제거합니다.
# chmod u-w /etc/sudoers |
5. 이제 stack 계정으로 전환합니다.
# su stack $ |
PackStack IceHouse 패키지와 PackStack 설치
네트워크 IP 설정과 사전 준비가 끝나면 설치할 버전의 레파지토리 rpm을 받아와야 합니다. 우리는 icehouse를 설치할 예정이므로 icehouse 패키지를 받아오겠습니다. 만일 다른 버전을 설치하고 싶다면 패도라 레파지토리 사이트(http://repos.fedorapeople.org/repos/openstack)에 방문하면 해당 패키지를 받을 수 있습니다.
1. Yum install을 이용해서 icehouse 패키지를 다음과 같이 설치합니다.
$ sudo yum install -y http://rdo.fedorapeople.org/openstack-icehouse/rdo-release-icehouse.rpm Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: centos.tt.co.kr * extras: centos.tt.co.kr * updates: centos.tt.co.kr Setting up Install Process rdo-release-icehouse-4.noarch.rpm | 12 kB 00:00 Examining /var/tmp/yum-root-TSVoyE/rdo-release-icehouse-4.noarch.rpm: rdo-release-icehouse-3.noarch Marking /var/tmp/yum-root-TSVoyE/rdo-release-icehouse-4.noarch.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package rdo-release.noarch 0:icehouse-4 will be installed --> Finished Dependency Resolution
Dependencies Resolved
========================================================================= Package Arch Version Repository Size ========================================================================= Installing: rdo-release noarch icehouse-4 /rdo-release-icehouse-4.noarch 8.7 k
Transaction Summary ========================================================================= Install 1 Package(s)
Total size: 8.7 k Installed size: 8.7 k Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : rdo-release-icehouse-4.noarch 1/1 Verifying : rdo-release-icehouse-4.noarch 1/1
Installed: rdo-release.noarch 0:icehouse-4
Complete! |
2. 패키지 설치가 완료되면 packstack을 설치합니다. Yum install을 이용해서 openstack-packstack을 설치합니다. 다음과 같은 메시지들이 지나가면서 오픈스택 icehouse 버전으로 설치가 되는 것을 확인할 수 있습니다.
$ sudo yum install openstack-packstack Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: centos.tt.co.kr * extras: centos.tt.co.kr * updates: centos.tt.co.kr foreman | 3.6 kB 00:00 foreman/primary_db | 61 kB 00:00 foreman-plugins | 2.9 kB 00:00 foreman-plugins/primary_db | 23 kB 00:00 openstack-icehouse | 2.9 kB 00:00 openstack-icehouse/primary_db | 732 kB 00:02 puppetlabs-deps | 2.5 kB 00:00 puppetlabs-deps/primary_db | 23 kB 00:00 puppetlabs-products | 2.5 kB 00:00 puppetlabs-products/primary_db | 110 kB 00:00 Setting up Install Process …. Dependency Installed: compat-readline5.x86_64 0:5.2-17.1.el6 openstack-packstack-puppet.noarch 0:2014.1.1-0.12.dev1068.el6 openstack-puppet-modules.noarch 0:2014.1-12.el6 ruby.x86_64 0:1.8.7.352-13.el6 ruby-irb.x86_64 0:1.8.7.352-13.el6 ruby-libs.x86_64 0:1.8.7.352-13.el6 ruby-rdoc.x86_64 0:1.8.7.352-13.el6 rubygem-json.x86_64 0:1.5.5-1.el6 rubygems.noarch 0:1.3.7-5.el6
Complete! |
3. PackStack은 데브스택의 localrc와 같은 환경 설정 파일을 자동으로 생성합니다. 다음 명령어를 실행하면 PackStack을 설치하기 위한 파라메터 템플릿이 자동으로 생성됩니다.
$ packstack --gen-answer-file=my_answers.txt |
** my_answers.txt 파일을 생성했다면 본 파일의 내용을 확인하고, 아래와 같은 명령어로 설치하면 됩니다. 만일 생성을 하지 않고 바로 실행을 하고자 한다면 4번과 같이 설치합니다.
$ packstack --answer-file=my_answers.txt |
4. 서버 한 대에 오픈스택을 설치할 예정이므로 allinone 옵션을 사용해서 다음과 같이 설치합니다. 설치 완료까지는 수십 여분이 소요되므로 모니터링 하면서 잠시 기다립니다.
$ packstack --allinone Welcome to Installer setup utility Packstack changed given value to required value /home/stack/.ssh/id_rsa.pub
Installing: Clean Up [ DONE ] Setting up ssh keys [ DONE ] Discovering hosts' details [ DONE ] Adding pre install manifest entries [ DONE ] Adding MySQL manifest entries [ DONE ] … Preparing servers [ DONE ] Installing Dependencies [ DONE ] Copying Puppet modules and manifests [ DONE ] Applying 10.10.15.11_prescript.pp 10.10.15.11_prescript.pp: [ DONE ] Applying 10.10.15.11_mysql.pp … Applying Puppet manifests [ DONE ] Finalizing [ DONE ]
**** Installation completed successfully ******
Additional information: * A new answerfile was created in: /home/stack/packstack-answers-20140609-134419.txt * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. * File /root/keystonerc_admin has been created on OpenStack client host 10.10.15.11. To use the command line tools you need to source the file. * Copy of keystonerc_admin file has been created for non-root user in /home/stack. * To access the OpenStack Dashboard browse to http://10.10.15.11/dashboard . Please, find your login credentials stored in the keystonerc_admin in your home directory. * To use Nagios, browse to http://10.10.15.11/nagios username : nagiosadmin, password : 231887a7862e4495 * Because of the kernel update the host 10.10.15.11 requires reboot. * The installation log file is available at: /var/tmp/packstack/20140609-134418-LSGqHh/openstack-setup.log * The generated manifests are available at: /var/tmp/packstack/20140609-134418-LSGqHh/manifests |
이렇게 해서 오픈스택을 설치해 보았습니다. 다음시간에는 설치된 오픈스택 데쉬보도에 접속을 해 보고, Neutron 네트워크도 설정해 보도록 하겠습니다.
그럼, 다음 시간에 다시 만나요~!!
'OpenStack Class' 카테고리의 다른 글
[OpenStack Class] 제44강 CentOS에서 설치해 보는 오픈스택 4편 - Multi node 설치 (4) | 2015.02.12 |
---|---|
[OpenStack Class] 제43강 CentOS에서 설치해 보는 오픈스택 3편 - All-in-One 설치 (15) | 2015.02.10 |
[OpenStack Class] 제41강 CentOS에서 설치해 보는 오픈스택 1편 - CentOS 설치하기 (8) | 2014.12.29 |
[OpenStack Class] 제40강 서비스가 가능한 오픈스택 설치12편 - 컴퓨트 노드 설치3 (1) | 2014.12.22 |
[OpenStack Class] 제39강 서비스가 가능한 오픈스택 설치11편 - 컴퓨트 노드 설치2 (2) | 2014.12.19 |
- Total
- Today
- Yesterday
- sdn
- 레드햇
- 오픈쉬프트
- command
- Java
- ubuntu
- 쿠버네티스
- 오픈스택
- Python
- OVN
- 컨테이너
- Swift
- 네트워크
- openstack
- NOVA
- 명령어
- neutron
- 후기
- cpu
- 세미나
- 김미경
- Network
- 클라우드
- 파이썬
- Redhat
- 우분투
- 뉴트론
- 하둡
- install
- 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |