티스토리 뷰


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 ~]$

 

댓글
댓글쓰기 폼