OpenStack Class 22016.09.23 17:53


All-in-One으로 오픈스택을 설치해 보자

앞에서 우분투를 설치하고 데브스택을 이용해 오픈스택을 설치했다면 이번에는 레드햇 계열인 CentOS를 설치하고 RDO PackStack을 이용해서 오픈스택을 설치하겠습니다. PackStack은 쉘 스크립트를 이용해서 설치하는 데브스택과 달리 Puppet 기반의 인스톨 유틸리티를 사용합니다.

 

시스템 구성도를 그려보자

Single Node에 오픈스택을 설치할 때는 테스트나 스터디를 위한 설치이므로 사용하고 있는 컴퓨터에 VirtualBoxVMWare로 생성한 가상서버를 주로 이용합니다. 이때 생성한 가상서버에 CentOS를 설치합니다. 레드햇에서 서비스하는 RDO PackStack을 이용해서 그림 6-1과 같은 네트워크 구성으로 설치하겠습니다.



IP 공유기의 게이트웨이 IP192.168.0.1이고 서브넷 마스크는 255.255.255.0이라고 가정합니다. Neutron을 이용해 오픈스택을 설치할 예정이므로 인터넷이 되는 맥이나 윈도우 PC의 네트워크 카드를 외부 인터넷과 연결되는 가상서버의 브리지 네트워크로 설정하고 br-enp0s3 네트워크 IP192.168.0.25로 사용합니다. 관리 및 모니터링 IP는 호스트전용네트워크를 이용하는데 호스트전용네트워크의 게이트웨이 IP192.168.56.1이고 CentOS가 설치된 가상서버의 IP192.168..56.102를 사용합니다. Fixed IP Range10.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 설정

VirtualBox에서 생성한 가상서버에 CentOS 설치가 완료되면 로그인한 후 먼저 Network IP를 설정합니다. IP 설정이 완료되면 그 다음부터는 SSH 클라이언트 툴을 이용해 좀 더 쉽게 오픈스택을 설치할 수 있습니다. 이때 설정할 네트워크 IP는 시스템 구성도에서 미리 그려본 IP를 설정합니다. 만일, 어떤 IP로 구성을 해야할 지 잘 모르겠다면, 공유기의 DHCP에서 자동으로 할당받은 IP 주소를 그대로 사용하면 됩니다.

 

1.     CentOS 7를 설치하고 ifconfig 명령어를 실행하면 아래와 같이 command not found라고 명령어를 찾을 수 없다는 메시가 뜹니다. CentOS 7에서는 이전버전때와는 다르게 ifconfig 명령어를 사용할 수가 없습니다. 그래서, ip addr 또는 ip addr show와 같은 명령어를 이용하여 IP 정보를 확인하여야 합니다.

[root@centos ~]$ ifconfig

-bash: ifconfig: command not found

[root@centos ~]$ ip addr

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 08:00:27:31:fb:8d brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.25/24 brd 192.168.0.255 scope global dynamic enp0s3

       valid_lft 3320sec preferred_lft 3320sec

    inet6 fe80::a00:27ff:fe31:fb8d/64 scope link

       valid_lft forever preferred_lft forever

3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 08:00:27:a1:ec:77 brd ff:ff:ff:ff:ff:ff

[root@centos ~]$

 

2.     Ifconfig 명령어를 사용하고 싶다면 아래와 같이 net-tools를 설치하면 CentOS 7에서도 ifconfig 명령어를 사용하여 IP를 확인할 수 있습니다. yum install 명령어를 이용하여 아래와 같이 net-tools를 설치합니다.

[root@centos ~]# yum install –y net-tools

Loaded plugins: fastestmirror

base                                                                             | 3.6 kB  00:00:00    

extras                                                                           | 3.4 kB  00:00:00    

updates                                                                          | 3.4 kB  00:00:00    

extras/7/x86_64/primary_db                                                       | 131 kB  00:00:05    

Loading mirror speeds from cached hostfile

 * base: ftp.daumkakao.com

 * extras: mirror.oasis.onnetcorp.com

 * updates: centos.mirror.cdnetworks.com

Installed:

  net-tools.x86_64 0:2.0-0.17.20131004git.el7                                                          

 

Complete!

[root@localhost ~]#

 

3.     Net-tools 설치가 완료되었으면 이번에는 ifconfig 명령어가 실행이 되는지 확인을 해 봅니다. 이번에는 명령어가 잘 실행됩니다.

[root@centos ~]# ifconfig

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.0.25  netmask 255.255.255.0  broadcast 192.168.0.255

        inet6 fe80::a00:27ff:fe31:fb8d  prefixlen 64  scopeid 0x20<link>

        ether 08:00:27:31:fb:8d  txqueuelen 1000  (Ethernet)

        RX packets 597  bytes 510529 (498.5 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 333  bytes 36530 (35.6 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        ether 08:00:27:a1:ec:77  txqueuelen 1000  (Ethernet)

        RX packets 3  bytes 276 (276.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 0  (Local Loopback)

        RX packets 140  bytes 12304 (12.0 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 140  bytes 12304 (12.0 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

[root@centos ~]#

 

4.     이번에는 enp0s8IP 정보를 설정해 보도록 하겠습니다. Cd 명령어를 이용하여 /etc/sysconfig/network-scripts/ 디렉토리로 이동합니다. 그리고 ls 명령어를 이용하여 파일 목록을 확인해 보면 ifcfg라고 시작하는 파일이 3개가 보일것입니다. 해당 파일은 설치하는 운영체제의 환경에 따라 보이는 파일명과 파일 갯수가 달라질 수 있습니다.

[root@centos ~]# cd /etc/sysconfig/network-scripts/

[root@centos network-scripts]# ls

ifcfg-enp0s3     ifdown-eth   ifdown-routes  ifup-bnep  ifup-plusb     init.ipv6-global

ifcfg-enp0s8     ifdown-ib    ifdown-sit     ifup-eth   ifup-post      network-functions

ifcfg-lo         ifdown-ippp  ifdown-tunnel  ifup-ib    ifup-ppp       network-functions-ipv6

ifdown           ifdown-ipv6  ifup           ifup-ippp  ifup-routes

ifdown-Team      ifdown-isdn  ifup-Team      ifup-ipv6  ifup-sit

ifdown-TeamPort  ifdown-post  ifup-TeamPort  ifup-isdn  ifup-tunnel

ifdown-bnep      ifdown-ppp   ifup-aliases   ifup-plip  ifup-wireless

[root@centos network-scripts]#

 

5.     vi 명령어를 이용해 ifcfg-enp0s8 파일을 열어 가장 하단의 ONBOOT=noONBOOT=yes로 변경시켜 줍니다.

[root@centos network-scripts]# vi ifcfg-enp0s8

TYPE=Ethernet

BOOTPROTO=dhcp

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_PEERDNS=yes

IPV6_PEERROUTES=yes

IPV6_FAILURE_FATAL=no

NAME=enp0s8

UUID=e6bb059d-1dd0-48e3-9016-3d7b0c3efd41

DEVICE=enp0s8

ONBOOT=yes

 

6.     그리고, 아래와 같은 명령어로 네트워크 서비스를 재시작시켜 줍니다. 여기서는 service network restart 라는 명령어를 사용하였지만, CentOS 7에서는 systemctl restart network.service 라는 명령어를 이용하여 재시작할 수도 있습니다.

[root@centos network-scripts]# service network restart

Restarting network (via systemctl):                        [  OK  ]

[root@centos network-scripts]#

 

7.     이번에는 ifconfig를 이용하여 enp0s8IP 설정이 제대로 되었는지 확인해 봅니다. 그러면, enp0s8IP가 잘 설정된 것을 확인할 수 있습니다.

[root@centos network-scripts]# ifconfig

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.0.25  netmask 255.255.255.0  broadcast 192.168.0.255

        inet6 fe80::a00:27ff:fe31:fb8d  prefixlen 64  scopeid 0x20<link>

        ether 08:00:27:31:fb:8d  txqueuelen 1000  (Ethernet)

        RX packets 935  bytes 539382 (526.7 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 529  bytes 67395 (65.8 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.56.102  netmask 255.255.255.0  broadcast 192.168.56.255

        inet6 fe80::a00:27ff:fea1:ec77  prefixlen 64  scopeid 0x20<link>

        ether 08:00:27:a1:ec:77  txqueuelen 1000  (Ethernet)

        RX packets 7  bytes 2636 (2.5 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 16  bytes 2292 (2.2 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 0  (Local Loopback)

        RX packets 156  bytes 13904 (13.5 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 156  bytes 13904 (13.5 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 

[root@centos network-scripts]#

 

8.     이제 설정된 IPSSH를 통해 접속을 한번 해 보도록 하겠습니다. HOST PC의 터미널을 열어 ssh로 오픈스택을 설치할 가상 서버에 접속해 보도록 하겠습니다. 윈도우에서는 PUTTY와 같은 SSH Client 툴을 이용하면 쉽게 접속을 할수 있습니다. 여기서는 맥의 터미널을 이용하여 ssh 명령어로 해당 서버에 접속하였습니다.

naleejangui-MacBook-Pro:~ naleejang$ ssh root@192.168.56.102

The authenticity of host '192.168.56.102 (192.168.56.102)' can't be established.

ECDSA key fingerprint is SHA256:KjV0ilLibPzobLuRPKpjKp6R1AOg9sN6O23FI0R+CLs.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added '192.168.56.102' (ECDSA) to the list of known hosts.

root@192.168.56.102's password: ************

Last login: Wed May 18 21:14:44 2016 from 192.168.0.17

[root@centos ~]$

 

저작자 표시 비영리 변경 금지
신고
Posted by 나리 짱!!! naleejang
OpenStack Class 22016.09.19 14:25


CentOS에서 오픈스택 구축하기!

예전에는 오픈스택의 기본 운영체제가 우분투였지만, 지금은 다양한 종류의 리눅스에서 오픈스택을 설치하는 방법들을 지원합니다. 우분투 외에 데비안, 오픈수세와 수세, 레드햇 엔터프라이즈 리눅스, CentOS 그리고 페도라에서도 설치를 할 수 있습니다.

이들 리눅스 운영체제 중에서 서버용으로 가장 많이 쓰이는 것이 레드햇입니다. 그러나 레드햇은 라이선스 비용이 들기 때문에 이와 유사한 커널이 있는 CentOS에서 오픈스택을 설치하겠습니다. 그리고 테스트 및 스터디를 위해 Single Node 설치와 기본 서비스로 구성되는 Multi Node 오픈스택을 설치하겠습니다.



설치 환경을 만들어 보자

오픈스택을 구축할 서버가 있다면 서버를 이용해서 직접 설치할 수도 있지만 설치해본 경험이 없다면 가상서버를 준비해서 오픈스택을 한번 정도 설치해보는 것이 좋습니다. 앞에서 오픈스택을 설치할 때 VirtualBox를 이용해서 설치한 것처럼, 이번에도 VirtualBox를 이용해서 설치 환경을 만들어 보겠습니다.

 

CentOS 다운로드

CentOS 사이트(http://www.centos.org/download/) 사이트에 방문해서 최신 CentOS를 받습니다. 아래 그림에서 [DVD ISO]를 클릭하여 CentOS를 내려 받을 수 있는 페이지로 이동합니다. 그때 목록에 있는 CentOS 하나를 클릭해서 받습니다.


 

CentOS 설치를 위한 VirtualBox 가상서버 준비

VirtualBox를 설치하는 과정은 이미 앞에서 다루었으므로 이번에는 CentOS를 설치하기 위해 반드시 체크해야 하는 부분만 살펴보겠습니다.

 

1.     VirtualBox를 실행하고 [새로 만들기]를 클릭하면 다음과 같은 가상 머신 만들기 창이 열립니다. 이때 가상 머신의 이름을 입력하고, 종류는 Linux, 버전은 Red Hat(64 bit)로 선택하고 [다음(N)]을 클릭합니다. 여기서는 나중에 찾기 쉽게 “packstack” 이라는 이름을 사용하였습니다.

 

2.     가상 하드 드라이브 만들기 창이 나오면 생성할 디스크 사이즈를 입력하고 [만들기]를 클릭해서 가상 하드 드라이브를 만듭니다.


3.     가상 하드 드라이브가 만들어지면 VisualBox 메인 창에서 생성된 드라이브를 선택하고 [설정] 을 클릭합니다. 다음과 같은 설정 창이 열리면 왼쪽에서 [저장소]를 선택하고 속성에서 [CD/DVD 드라이브(D)]를 클릭한 후 CentOS를 선택합니다.

 

4.     [네트워크]를 클릭하고 [어댑터 1] 탭에서 [브리지 어댑터]를 선택합니다. 그리고 하단의 고급을 클릭하고 무작위 모드를 [모두 허용]으로 선택합니다.


5.     이번에는 [어댑터 2] 탭을 클릭하고 [호스트 전용 어댑터]를 선택합니다. 그리고 하단의 고급을 클릭하여 무작위 모드를 [모두 허용]으로 선택합니다.

 

6.     설정을 모두 완료했으면 VirtualBox 메인 창에서 [시작]을 클릭합니다. CentOS 7 설치 화면이 열리면 [Install CentOS 7]을 선택합니다.


7.     WELCOME TO CENTOS 7이라는 문구와 함께 언어를 선택하라는 화면이 뜨면, 기본 설정값인 English로 두고, 하단의 [Continue] 버튼을 클릭합니다.

 

8.     CentOS 7CentOS 6 버전때와는 다르게 운영체제의 속성값을 한 화면에서 한번에 설정을 할 수 있습니다. 아래 보이는 화면이 바로 환경설정을 할 수 있는 화면입니다.

 

9.     환경설정 화면에서 가장 먼저 [NETWORK & HOST NAME] 선택합니다.아래와 같은 네트워크를 설정할 수 있는 화면이 뜨면 좌측의 [ON/OFF] 토글 버튼을 [ON]으로 가게 설정합니다. 그러면 아래와 같이 IP가 자동으로 설정되는 것을 확인할 수 있습니다. 또한 하단의 [Host name]을 다른 이름으로 수정하면 수정된 이름으로 호스트명을 변경할 수 있습니다. 네트워크 설정을 하고 상단의 [Done] 버튼을 클릭해 다시 환경설정 화면으로 돌아갑니다.

 

10.  이번에는 환경설정 화면에서 [INSTALLATION DESTINATION]을 선택합니다. 그러면 아래와 같이 CentOS를 설치할 하드디스크를 선택하라는 화면이 나옵니다. 선택할 수 있는 하드디스크는 하나밖에 없으므로 [ATA VBOX HARDDISK]를 선택하고 상단의 [Done] 버튼을 클릭합니다.


11.  운영체제를 설치할 하드디스크 설정이 완료되었으면 이번에는 [SOFTWARE SELECTION]을 선택하고 들어와 우측의 Base Environment에서 [Minimal Install]을 선택하고 좌측의 Add-Ons for Selected Environment에서 [Debugging Tools], [Compatibility Libraries], [Development Tools], [Security Tools]를 선택하고 상단의 [Done]를 클릭합니다.

 

12.  이번에는 환경설정 화면에서 [DATE & TIME]을 선택하고 들어오면 아래와 같이 세계 지도가 보입니다. 이때 대한민국을 찾아 마우스로 클릭합니다. 그러면 자동으로 상단의 Region Asia/Seoul로 설정이 됩니다. 설정을 완료했으면, 상단의 [Done] 버튼을 클릭하고 빠져나갑니다.


13.  모든 설정이 끝나고 나면 아래와 같이 경고 표시가 없는 화면으로 바뀝니다. 설치를 하기 위해서 하단의 [Begin Installation] 버튼을 클릭합니다.

 

14.  설치가 시작이 되면서 패스워드를 설정하는 화면이 아래와 같이 뜹니다. 그러면 우측의 [ROOT PASSWORD]를 선택합니다.

 

15.  ROOT PASSWORD 설정창으로 전환되면 패스워드를 입력하고 상단의 [Done]을 클릭합니다.

 


16.  패스워드 설정을 완료했으면 설치가 완료될때까지 잠시 기다립니다.

 

 

17.  드디어 CentOS 7 설치가 완료되었습니다. 하단의 [Rootboot] 버튼을 클릭합니다.

 

18.  시스템이 재부팅되면 다음과 같이 로그인을 할 수 있는 화면으로 전환됩니다.


저작자 표시 비영리 변경 금지
신고
Posted by 나리 짱!!! naleejang