티스토리 뷰
All-in-One으로 오픈스택을 설치해 보자
앞에서 우분투를 설치하고 데브스택을 이용해 오픈스택을 설치했다면 이번에는 레드햇 계열인 CentOS를 설치하고 RDO PackStack을 이용해서 오픈스택을 설치하겠습니다. PackStack은 쉘 스크립트를 이용해서 설치하는 데브스택과 달리 Puppet 기반의 인스톨 유틸리티를 사용합니다.
시스템 구성도를 그려보자
Single Node에 오픈스택을 설치할 때는 테스트나 스터디를 위한 설치이므로 사용하고 있는 컴퓨터에 VirtualBox나 VMWare로 생성한 가상서버를 주로 이용합니다. 이때 생성한 가상서버에 CentOS를 설치합니다. 레드햇에서 서비스하는 RDO PackStack을 이용해서 그림 6-1과 같은 네트워크 구성으로 설치하겠습니다.
IP 공유기의 게이트웨이 IP는 192.168.0.1이고 서브넷 마스크는 255.255.255.0이라고 가정합니다. Neutron을 이용해 오픈스택을 설치할 예정이므로 인터넷이 되는 맥이나 윈도우 PC의 네트워크 카드를 외부 인터넷과 연결되는 가상서버의 브리지 네트워크로 설정하고 br-enp0s3 네트워크 IP를 192.168.0.25로 사용합니다. 관리 및 모니터링 IP는 호스트전용네트워크를 이용하는데 호스트전용네트워크의 게이트웨이 IP는 192.168.56.1이고 CentOS가 설치된 가상서버의 IP는 192.168..56.102를 사용합니다. 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 설정
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. 이번에는 enp0s8의 IP 정보를 설정해 보도록 하겠습니다. 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=no를 ONBOOT=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를 이용하여 enp0s8의 IP 설정이 제대로 되었는지 확인해 봅니다. 그러면, enp0s8의 IP가 잘 설정된 것을 확인할 수 있습니다.
[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. 이제 설정된 IP로 SSH를 통해 접속을 한번 해 보도록 하겠습니다. 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 ~]$
|
'OpenStack Class 2' 카테고리의 다른 글
[개정판]14. 프로젝트 및 사용자 생성하기 (1) | 2017.03.23 |
---|---|
[개정판]13. PackStack Mitaka 패키지와 PackStack 설치 (13) | 2016.10.04 |
[개정판]11. CentOS에서 오픈스택 구축하기! 설치 환경 구성! (0) | 2016.09.19 |
[개정판]10. Neutron 네트워크 구성하기 (3) | 2016.08.29 |
[개정판]9. 데브스택을 이용해서 오픈스택 Neutron 설치하기 (7) | 2016.08.18 |
- Total
- Today
- Yesterday
- 뉴트론
- 후기
- neutron
- 설치
- command
- 김미경
- NOVA
- Redhat
- 컨테이너
- 세미나
- install
- 네트워크
- Network
- ubuntu
- 명령어
- OVN
- Python
- 파이썬
- 클라우드
- 오픈스택
- 오픈쉬프트
- sdn
- 레드햇
- 우분투
- 쿠버네티스
- Java
- Swift
- cpu
- 하둡
- openstack
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |