OpenStack2019.06.07 23:09

Hello, My blog vistors


How about your days? In my case, I am working about openstack security for my customer site. so I am very busy nowadays. But I have learend a lot of things like OpenStack, Container, Linux, Network and Security through this project.


In this post, I'd like to share about OpenStack Container Architecture and how to install and manage openstack services with container. Actually, Nowadyas I am working about openstack security. so I have thinking about how to set security vulnerable items in openstack container environment. 


I had to anaylsis openstack container environment and architecture. Because I had only installing docker exprience. so I didn't know commands for operating container environment well. But I can do it now. 


Anyway, I discovered that docker and host's directory mount to each mapped directory like below architecture. We can modify configuration of openstack services through host's mapped directory. And we can monitor openstack service logs also through the host's mapped directory. However we can't modified somthing inside docker operating system. If something modify inside docker operating system, docker's configuration will back after docker restart. The mean is that docker environment can't modify.

I was curious why container environment of RHOSP13(Red Hat OpenStack Platform 13) can't modify. I wanted to know how to launch and manage container for openstack services. so I was looking openstack documents and finding various things on the internet. And I noticed that OpenStack containers launch and manage using paunch. If you visit following the site (, you can see below contents.



Utility to launch and manage containers using YAML based configuration data



  • Single host only, operations are performed via the podman client.
  • Zero external state, only labels on running containers are used when determining which containers an operation will perform on.
  • Single threaded and blocking, containers which are not configured to detach will halt further configuration until they exit.
  • Co-exists with other container configuration tools. Only containers created by paunch will be modified by paunch. Unique container names are assigned if the desired name is taken, and containers are renamed when the desired name becomes available.
  • Accessable via the paunch command line utility, or by importing python package paunch.
  • Builtin debug command lets you see how individual containers are run, get configuration information for them, and run them any way you need to.


Debugging with Paunch

The paunch debug command allows you to perform specific actions on a given container. This can be used to:

  • Run a container with a specific configuration.
  • Dump the configuration of a given container in either json or yaml.
  • Output the podman command line used to start the container.
  • Run a container with any configuration additions you wish such that you can run it with a shell as any user etc.

The configuration options you will likely be interested in here include:

--file <file>                  YAML or JSON file containing configuration data

--action <name>        Action can be one of: "dump-json", "dump-yaml", "print-cmd", or "run"

--container <name>   Name of the container you wish to manipulate

--interactive                Run container in interactive mode - modifies config and execution of container

--shell                         Similar to interactive but drops you into a shell

--user <name>           Start container as the specified user

--overrides <name>   JSON configuration information used to override default config values


In the first paunch's features, it is [Single host only, operations are performed via the podman client]. I was curious about podman. So I searched about podman on the internet. The description what I found is like below. If you visit following site (, you can see podman more detail.



Libpod provides a library for applications looking to use the Container Pod concept, popularized by Kubernetes. Libpod also contains the Pod Manager tool (Podman). Podman manages pods, containers, container images, and container volumes.

Overview and scope

At a high level, the scope of libpod and Podman is the following:

  • Support multiple image formats including the OCI and Docker image formats.
  • Support for multiple means to download images including trust & image verification.
  • Container image management (managing image layers, overlay filesystems, etc).
  • Full management of container lifecycle.
  • Support for pods to manage groups of containers together.
  • Resource isolation of containers and pods.
  • Support for a Docker-compatible CLI interface through Podman.
  • Integration with CRI-O to share containers and backend code.

This project tests all builds against each supported version of Fedora, the latest released version of Red Hat Enterprise Linux, and the latest Ubuntu Long Term Support release. The community has also reported success with other Linux flavors.


After I learned about things that I want, I started to analysis RHOSP13 provisining process. RHOSP13 have undercloud and overcloud. Undercloud is for openstack deployment, Overcloud is for openstack service. In the undercloud node, it have installed various openstack packages for deploying openstack like below process. Ansible has playbooks that deploy openstack container service to overcloud. Ansible will deploy openstack to overcloud node using the playbooks. And It is step 5.


In the step 1, It will be common services tagging. Common services are like haproxy, Memcahed, RabbitMQ, MySql and Redis.

In the step 2, It will be Openstack services logging like below.

In the step 3, It will be OpenStack services DbSync. Ofcourse, these openstack services are all containers.

In the step 4, It will be OpenStack services configuration. 

In the last step 5, It will be Storage service configuration like cinder, cinder backup, conder volume and manila.


Today, I write about OpenStack container. Nowadays, Technical trend is moving to containers. However I think container is not perfect yet.  But It will improve continue. So I am interested about container technology. If I have any posting, I want to write about container architecture more deeply.


See you next time. Bye~~~

'OpenStack' 카테고리의 다른 글

OpenStack Container  (1) 2019.06.07
How to design OpenStack for Security  (0) 2019.05.28
Octavia Amphora Instance  (0) 2019.05.10
Load balancer as a service Octavia  (0) 2019.05.06
openstack heat template for create network and server  (3) 2018.03.13
Red Hat OpenStack Package Update Process  (3) 2017.09.29
Posted by 나리 짱!!! naleejang
OpenStack2019.05.28 22:44

Hello, My friends who visit to my blog.


How have you been these days? In my case, I have been working OpenStack project nowadays. so I am very busy and tired now. Actually, I wanted to post in English on my blog continue. but I have to had solving the virous problems everyday and everytime. so I didn't have any time for posting in English on my blog.


Today, I will share about how to design OpenStack for security before I forget that I get my OpenStack experiance. 

I visited site for checking OpenStack deployment methods. and I discoverd OpenStack architecture is changed. Now OpenStack is not using only virtual machines. We can use various resources like bare metal, virtual machines and containers.

What is OpenStack?

So how can we use our cloud resources more security? Openstack use REST API for using cloud resources. So it have http or https uri. Https is hypertext transfer protocol over secure. So https encrypted session data through ssl or tls protocol. ssl is secure socket layer. It needs certificate and secure key like below diagram.


Most OpenStack environment configured in data center. so it need many servers and there are many servers. Therefore we need to manage a lot of server's secure key and certification. How can we manage these keys and certifications?


Red Hat Openstack 13 can install ssl/tls using IDM server. IDM Server provides to manage users, domains, certificates and servers. For using ssl/tls with IDM Server, it needs domain of all Openstack  networks like below architecture.

Everywhere SSL/TLS with IDM Server

It has installed openstack packages in the director nodes. The packages are for installing openstack to other baremetal nodes. Let's see the process. 1. First, the director node registered domain to the IDM server. 2. And director will install controller and compute nodes with IDM server. 3. IDM server will check domain of overcloud's nodes and give the certificate to overcloud nodes.


If it finish to install openstack by director node, its system architecture is like below.

Nowadays OpenStack System Architecture

IDM server has apache httpd, ntp, dns, kerberos KDC, certmonger and SSSD(System Security Service Daemon)

Theses services provides features about manage overcloud nodes, domains, certificates and etc.

Director has openstack packages for overcloud(openstack for service) and docker. Because Openstack 13 version(queens) changed overcloud components. Previous openstack was installed only packages. Nowadays openstack main services are working in docker container.

If it install OpenStack with everywhere SSL/TLS, users can access by https based external network only. And each services can communicate with SSL/TLS only. The resources of OpenStack must certify by Keystone. If the certification is succesful, users can use OpenStack services. Also all networks of OpenStack isolated by network purpose. so If we design like below network, this OpenStack services will be secure. 

How to connect OpenStack Resources

How is this posting? If you have any opinion, please let me know it.

If I have free time, I will post about docker containers of openstack. 

'OpenStack' 카테고리의 다른 글

OpenStack Container  (1) 2019.06.07
How to design OpenStack for Security  (0) 2019.05.28
Octavia Amphora Instance  (0) 2019.05.10
Load balancer as a service Octavia  (0) 2019.05.06
openstack heat template for create network and server  (3) 2018.03.13
Red Hat OpenStack Package Update Process  (3) 2017.09.29
Posted by 나리 짱!!! naleejang
OpenStack2019.05.10 17:59

오늘은 지난 포스팅에 이어 이번에는 Amphora 인스턴스를 한번 파헤쳐볼까 합니다. 지난 포스팅에서 보았던 Amphora 인스턴스에 대한 아키텍처를 혹시 기억하시나요? 지난 포스팅에서 저는 Octavia가 뭔지? 그리고, Octavia를 이용하여 로드밸런서 생성까지 해보았습니다. 그때 테스트로 미리 생성해 둔 대역의 인스턴스들을 기억하시나요? 해당 설정을 적용하여 다시 그려본 아키텍처가 아래 그림입니다.



## How to connect octavia amphora instance

시스템을 운영하다보면 가끔 때로는 인스턴스에 직접 들어가 시스템 상태를 체크해야 할 경우가 종종 있습니다. 그때를 대비해서 시스템에 어떻게 접근을 하는지 알고 있다면 참 많은 도움이 되겠죠!!


Amphora 인스턴스에 접속을 하기 위해서는 우선 인스턴스에 접속하기 위한 고정 IP주소와 액세스를 하기 위한 ssh key가 필요합니다. IP주소는 대쉬보드의 인스턴스 목록에서 대역의 IP를 확인 할 수 있습니다. 앞에서 만든 인스턴스의 고정 IP 주소는이였습니다. 그리고, 필요한것은 ssh key입니다. 레드햇 오픈스택은 TripleO라는 배포 노드를 통해 오픈스택을 설치하는데 이때 설치과정에서 Octavia가 사용할 network, flavor, amphora image, security group, ssh key를 만들어 줍니다. 이때 사용되는 ssh key는 배포 노드의 stack 계정에 생성되어진 ssh public key와 private key를 사용합니다. 그러니 ssh key는 배포 노드의 stack 게정에 생성된 ssh private key를 컨트롤러 노드에 복사하면 되겠죠!!


1. 그럼, 복사한 ssh key를 이용하여 아래와 같이 amphora 인스턴스에 접속할 수 있습니다.

[heat-admin@con1 ~]$ ssh -i octavia_key cloud-user@

The authenticity of host ' (<no hostip for proxy command>)' can't be established.

ECDSA key fingerprint is SHA256:+R8/b/0Kc9LXoezkoCWDV7niPPjy/RLsNeJk5dPeBsg.

ECDSA key fingerprint is MD5:97:f5:87:b6:6c:aa:1c:82:7f:72:0e:2f:4a:5f:21:fa.

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

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

[cloud-user@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]$ 


2. Amphora 인스턴스에 접속을 했습니다. 우선, 먼저 IP를 확인해 보겠습니다. 네트워크 디바이스는 eth0 하나이고, 고정IP 주소를 통해 들어온이 설정되어 있는것을 확인할 수 있습니다. 

[cloud-user@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]$ ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

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

    inet scope host lo

       valid_lft forever preferred_lft forever

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

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

    link/ether fa:16:3e:01:c3:59 brd ff:ff:ff:ff:ff:ff

    inet brd scope global noprefixroute dynamic eth0

       valid_lft 65661sec preferred_lft 65661sec

    inet6 fe80::f816:3eff:fe01:c359/64 scope link

       valid_lft forever preferred_lft forever

[cloud-user@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]$


3. 이번에는 프로세스 목록을 확인해 보겠습니다. 프로세스 목록에서 우리는 amphora-agent가 실행이 되고 있고, haproxy 가 실행되고 있는것을 확인할 수 있습니다.

[cloud-user@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]$ ps -ef



root      3180     1  0 Apr22 tty1     00:00:00 /sbin/agetty --noclear tty1 linux

root      3181     1  0 Apr22 ttyS0    00:00:00 /sbin/agetty --keep-baud 115200 38400 9600 ttyS0 vt220

root      3184  2844  0 Apr22 ?        00:00:29 /usr/bin/python2 /usr/bin/amphora-agent --config-file /etc/octavia/amphora-agent.conf

root      3188     1  0 Apr22 ?        00:00:00 rhnsd

root      3191  2844  0 Apr22 ?        00:00:00 gunicorn: worker [gunicorn]

root      3234     1  0 Apr22 ?        00:00:00 /usr/sbin/sshd -D

root      3667     1  0 Apr22 ?        00:00:00 /usr/sbin/haproxy-systemd-wrapper -f /var/lib/octavia/aabe2b08-ebcb-4243-b411-33c24ecca342/haproxy.cfg -f /var/lib/octavia/haproxy-default-user-group.conf -p /var/lib/oct

nobody    3795  3667  0 Apr22 ?        00:00:00 /usr/sbin/haproxy -f /var/lib/octavia/aabe2b08-ebcb-4243-b411-33c24ecca342/haproxy.cfg -f /var/lib/octavia/haproxy-default-user-group.conf -p /var/lib/octavia/aabe2b08-eb

nobody    3796  3795  0 Apr22 ?        00:00:16 /usr/sbin/haproxy -f /var/lib/octavia/aabe2b08-ebcb-4243-b411-33c24ecca342/haproxy.cfg -f /var/lib/octavia/haproxy-default-user-group.conf -p /var/lib/octavia/aabe2b08-eb


cloud-u+ 16522 16503  0 01:17 pts/0    00:00:00 ps -ef

[cloud-user@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]$


4. 그럼, VIP는 어디에 설정이 되어 있는걸까요? 우선, sudo 명령어를 이용하여 root 계정으로 전환한 후 ip netns 명령어를 이용하여 가상 네트워크를 확인해 보겠습니다. 가상 네트워크 목록에는 amphora-haproxy라는 가상 네트워크가 생성되어 있는걸을 확인할 수 있습니다.

[cloud-user@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]$ sudo -i

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]# ip netns show

amphora-haproxy (id: 0)

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]#


5. 가상 네트워크의 환경설정 정보를 확인해보면 아래와 같이 eth1이라는 가상 네트워크 디바이스와 인스턴스 목록에서 확인되었던 IP, 그리고 로드밸런서의 VIP를 함께 확인할 수 있습니다. VIP는 바로 여기 숨어 있었습니다. 

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]# ip netns exec amphora-haproxy ip a

1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000

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

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

    link/ether fa:16:3e:6d:d2:69 brd ff:ff:ff:ff:ff:ff

    inet brd scope global eth1

       valid_lft forever preferred_lft forever

    inet brd scope global secondary eth1:0

       valid_lft forever preferred_lft forever

    inet6 fe80::f816:3eff:fe6d:d269/64 scope link

       valid_lft forever preferred_lft forever

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]#


6. 그럼, 이번에는 haproxy 모듈의 환경설정 파일을 살펴보도록 하겠습니다. 앞에서 이미 프로세스 목록을 확인했습니다. 그리고, 프로세스 목록을 통해 haporxy 환경설정 파일이 어느 디렉토리에 위치하는지를 확인했습니다. 확인된 디렉토리에 들어가 ls 명령어를 이용하여 파일 목록을 확인해 보면 아래와 같이 UUID와 같은 디렉토리명과 conf 파일 하나를 확인할 수 있습니다. conf 파일을 내용을 확인해 보니 특별한 내용은 없는듯 합니다.

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf ~]# cd /var/lib/octavia/

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf octavia]# ls

3c22219d-7c34-48f3-acf6-6e15f76ec9a1        haproxy-default-user-group.conf  plugged_interfaces

3c22219d-7c34-48f3-acf6-6e15f76ec9a1.sock                  plugged_interfaces.sorted

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf octavia]# cat haproxy-default-user-group.conf


    group haproxy

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf octavia]# 


7. UUID와 같이 보이는 디렉토리로 들어가서 파일 목록을 확인해 보면 haproxy.cfg라는 환경설정 파일을 확인할 수 있습니다.

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf octavia]# ll

total 24

drwxr-xr-x. 2 root root 4096 Apr 22 21:28 3c22219d-7c34-48f3-acf6-6e15f76ec9a1

srw-rw-rw-. 1 root root    0 Apr 22 21:28 3c22219d-7c34-48f3-acf6-6e15f76ec9a1.sock

-rw-r--r--. 1 root root   25 Jan 10 10:32 haproxy-default-user-group.conf

-rwxr-xr-x. 1 root root  209 Jan 10 10:32

-rw-r--r--. 1 root root   23 Apr 22 21:26 plugged_interfaces

-rw-r--r--. 1 root root   23 Apr 22 21:26 plugged_interfaces.sorted

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf octavia]# cd 3c22219d-7c34-48f3-acf6-6e15f76ec9a1

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf 3c22219d-7c34-48f3-acf6-6e15f76ec9a1]# ls  haproxy.cfg

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf 3c22219d-7c34-48f3-acf6-6e15f76ec9a1]#


8. haproxy.cfg 파일 내용을 확인해 보니 로드밸런서를 생성할때 지정해 주었던 인스턴스들의 IP가 보이고, 로드밸런서 VIP도 확인할 수 있습니다.

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf 3c22219d-7c34-48f3-acf6-6e15f76ec9a1]# cat haproxy.cfg

# Configuration for cmp-was-lb



    user nobody

    log /dev/log local0

    log /dev/log local1 notice

    stats socket /var/lib/octavia/3c22219d-7c34-48f3-acf6-6e15f76ec9a1.sock mode 0666 level user

    maxconn 1000000



    log global

    retries 3

    option redispatch

    timeout connect 5000

    timeout client 50000

    timeout server 50000


frontend 3c22219d-7c34-48f3-acf6-6e15f76ec9a1

    option tcplog

    maxconn 1000000


    mode tcp

    default_backend 42e1058e-a298-42b3-83ce-1123c2d94547


backend 42e1058e-a298-42b3-83ce-1123c2d94547

    mode tcp

    balance roundrobin

    stick-table type ip size 10k

    stick on src

    timeout check 5s

    fullconn 1000000

    server 8d712f3b-1ee1-47ef-8c0a-4779fd044365 weight 1 check inter 5s fall 10 rise 10

    server a523158c-cddb-4528-b5bd-660971ff08a1 weight 1 check inter 5s fall 10 rise 10

[root@amphora-93b939b0-c1ff-48a0-a2f0-31378aaf5abf 3c22219d-7c34-48f3-acf6-6e15f76ec9a1]# exit

[heat-admin@con1 ~]$ 


이제 아래 그림이 이해가 가시나요? 왜 이런 그림이 나왔는지, 어떻게 동작하는지도 조금은 이해를 하셨으리라 생각이 듭니다.



이렇게해서, 2019년도 두번째 포스팅을 마무리해 봅니다. 모두들!!! 즐거운 주말되세요~~~

'OpenStack' 카테고리의 다른 글

OpenStack Container  (1) 2019.06.07
How to design OpenStack for Security  (0) 2019.05.28
Octavia Amphora Instance  (0) 2019.05.10
Load balancer as a service Octavia  (0) 2019.05.06
openstack heat template for create network and server  (3) 2018.03.13
Red Hat OpenStack Package Update Process  (3) 2017.09.29
Posted by 나리 짱!!! naleejang
OpenStack2019.05.06 20:19



그동안 어떻게 지내셨나요? 저는 그동안 여러 프로젝트를 하느라 정말 바쁜 나날을 보내고 있었습니다. 그래서, 블로그에 글을 올릴 시간조차 없었네요! 오늘도 사실은 영어로 포스팅을 하려고 하다가 시간도 너무 오래 걸리고, 영어로 바로 쓰려니 무슨말을 어떻게 써야할지 생각조차 나질 않더라구요! 그래서, 그냥 2019년에 처음으로 쓰는 블로그 글이니까 그냥 한글로 오랜만에 써보기로 했어요. 그리고나서, 다시 영어로 바꿔 쓰면 되니까요!!


오늘은 Octavia에 대해서 한번 써보려고 해요. 오픈스택이 뭘하는건지는 다들 아실테고, 오픈스택이 어떤 서비스로 이루어져 있는지도 다들 아실꺼라 생각이 듭니다. 아래 그림이 레드햇에서 제공하는 오픈스택 아키텍처입니다. 요즘 오픈스택에는 너무나도 많은 서비스들이 있기 때문에, 그 중에서도 가장 많이 사용하는 서비스들을 아래와 같이 레드햇에서 제공을 하고 있습니다. 


그럼, 오늘 이야기할 Octavia가 뭐냐구요? 뭐냐하면, 바로 Load Balancer 서비스입니다. 로드밸런서가 뭐냐구요? 로드밸런서는 한마디로 말해서 많은 사용자가 웹사이트를 사용할때 웹사이트의 부하를 분산해주는 부하 분산 처리기라고 할 수 있습니다. 종류도 L3(IP기반), L4(IP+Port 기반), L7(사용자 어플리케이션 기반) 으로 여러가지입니다.


아래 그림은 오픈스택의 Octavia라는 로드밸런서의 아키텍처입니다.

쉽게 이야기하면 사용자는 웹사이트를 접속하기 위해 Amphora라는 인스턴스에서 실행되는 https 또는 http 리스너를 통해 웹사이트에 접속을 합니다. 이때 접속할 웹사이트들의 집합을 Pool이라고 하고 웹사이트들을 Pool의 Member라고 합니다. 그리고, Member들이 잘 살아있는지, 정상적으로 동작을 하는지를 체크하는 모니터링 도구를 Pool Health Monitor라고 합니다.   


이렇게 Octavia에서 제공하는 로드밸런서는 아래와 같은 서비스들로 구성되어 있습니다.

- 로드밸런서

- Amphora 인스턴스

- 리스너(Listener)

- 풀(Pool)

- 멤버(Member)

- 헬스체크 모니터(Health-check Monitor)


여기서 가장 중요한 역할을 하는건 바로 amphora 라고 불리는 인스턴스입니다. amphora 인스턴스는 Red Hat Enterprise Linux 7.6 기반에 Haproxy 데몬이 설치되어 있습니다. 그리고, Octavia-agent가 Octavia-server로부터 명령을 받아 Listener를 생성하고 Haproxy에 환경설정을 하고 VIP를 Virtual Network로 생성을 하는 역할을 합니다. 그러면, 클라이언트는 Octavia-agent에 의해 생성된 VIP를 통해 Haproxy가 연결해주는 VM으로 접근을 하게 되는 것입니다. 



그럼, 이제 데쉬보드를 통해 로드밸런서를 한번 만들어 볼까요? 

레드햇 오픈스택 13 버전의 데쉬보드에서는 Project > Network > Load Balancers 메뉴를 통해 로드밸런서를 만들수 있습니다. 아래와 같이 메뉴를 찾아 들어가면 로드밸런서 목록을 확인할 수 있습니다. 그러나 생성된 로드밸런서가 없으니 아무것도 없겠죠! 


상단의 [+Create Load Balancer] 버튼을 클릭하면 아래와 같이 Load Balancer 화면이 뜹니다. 그러면, 아래와 같이 Name을 입력합니다. 이때 고정IP를 사용하고 싶다면 IP address에 사용하고자 하는 IP를 입력합니다. 그리고, 해당 IP가 포함된 서브넷을 선택합니다. 입력하지 않는다면 DHCP에 의한 IP가 할당됩니다.

- Name : 로드밸런서 이름

- Description : 로드밸런서 설명

- IP address : 로드밸런서로 사용할 VIP 주소

- Subnet: VIP가 포함된 네트워크 서브넷


이번에는 리스너를 만들어보겠습니다. 아래와 같이 리스너 Name, Protocol, Port를 입력합니다.

- Name: 리스너 이름

- Description: 리스너 설명

- Protocol: 프로토콜로 HTTP, TCP, UDP를 선택할 수 있음.

- Port: 리스닝을 할 포트

- Connection Limit: 접속 제한, -1은 제한을 하지 않겠다는 의미임


리스너 정보 입력이 끝나면 풀에 대한 정보를 입력합니다.

- Name: 풀 이름

- Description: 풀 설명

- Session Persistence: 세션 지속 방법

- Algorithm: 로드밸런서 방법


풀에 대한 정보 입력후 이번에는 멤버를 선택합니다. 앞에서 이미 서브넷을 선택했습니다. 따라서 해당 서브넷에 이미 생성된 인스턴스 목록을 Available Instances 에서 확인할 수 있습니다. 그럼, 로드밸런싱을 할 인스턴스를 2개 이상 선택합니다. 여기서는 앞에서 HTTP를 선택했기 때문에 자동으로 80 port가 설정되지만, 만일 TCP나 UDP를 선택했다면 해당 Port를 입력해야 합니다.


마지막으로 모니터링에 대한 정보를 입력합니다. 여기서는 모니터링 타입을 Ping으로 선택했습니다. 그리고, 하단의 [Create Load Balancer] 버튼을 클릭합니다.


그러면 로드밸런서 목록에서 아래와 같이 로드밸런서가 생성되고 있는것을 확인할 수 있습니다.


로드밸런서 생성이 완료되면 아래와같이 Provisioning Status가 Pending Create 에서 Active로 변경됩니다.


생성이 완료된 로드밸런서에 외부에서 접속이 가능할 수 있도록 Floating IP를 설정해 보도록 하겠습니다. Floating IP를 할당할 로드밸런서 우측 버튼을 클릭하여 [Associate Floating IP] 버튼을 클릭하고 아래와 같이 External IP나 서브넷을 선택하고 하단의 [Associate] 버튼을 클릭합니다.


할당된 IP는 로드밸런서 상세정보에서 아래와 같이 확인할 수 있습니다.


상세정보에서 Listeners 탭을 클릭하면 아래와 같이 리스너 목록을 확인할 수 있습니다.


리스너 목록에서 리스너를 클릭하면 아래와 같이 리스너 정보와 풀 목록을 확인할 수 있습니다.


풀 목록에서 풀을 클릭하면 해당 풀의 상세정보와 함께 Health Monitors와 Members 목록을 확인 할 수 있습니다.


생성된 로드밸런서용 amphora 인스턴스는 관리자 계정으로 들어가서 Admin > Compute > Instances 메뉴에서 아래와 같이 확인할 수 있습니다.



이제 로드밸런싱이 제대로 되는지 테스트를 해보도록 하겠습니다. 컨트롤러 노드에서 ip netns를 명령어를 이용하며 가상 네트워크 및 라우터 정보를 확인할 수 있습니다. 테넌트 네트워크가 포함된 라우터 정보를 ip netns exec 명령어를 이용하여 해당 테넌트의 VIP에 curl를 실행하면 아래와 같이 로드밸런싱이 되는 것을 확인할 수 있습니다. 또한 연결해 준 Floating IP로 curl를 실행하면 역시 로드밸런싱이 되는것을 확인 할 수 있습니다.

[root@overcloud-controller-0 ~]# ip netns exec qrouter-355b554a-a5a2-4ff5-878f-1fb3f0de6509 curl 

Welcome to

[root@overcloud-controller-0 ~]# ip netns exec qrouter-355b554a-a5a2-4ff5-878f-1fb3f0de6509 curl

Welcome to

[root@overcloud-controller-0 ~]# curl

Welcome to

[root@overcloud-controller-0 ~]# curl

Welcome to

[root@overcloud-controller-0 ~]#



이렇게 해서 오픈스택의 로드밸런서 서비스인 Octavia에 대해서 알아보았습니다. 다음에는 Octavia 인스턴스에 접속을 해서 Octavia가 어떻게 구성이 되었는지 확인해 보도록 하겠습니다. 

Posted by 나리 짱!!! naleejang
OpenStack2018.03.13 22:33

오픈스택 Heat 템플릿으로 테넌트 네트워크, 라우터, 그리고 인스턴스 만들기

1. 아래 yaml 파일 다운로드 받기



2. 오픈스택 데쉬보드 접속 후 오케스트레이션 메뉴로 가기

3. 스택 시작 버튼 클릭해 다운로드 받은 템플릿 파일 선택하기

4. 다음 클릭해 스택이름 입력 후 admin 계정 비밀번호 입력하기. 그리고, 파라메터들이 제대로 들어왔는지 확인하기

5. 파라메터 확인 후 하단의 실행 버튼 클릭하기

6. 스택 목록에 생성된 스택 확인하기

7. 생성된 스택 클릭을 하면 아래와 같은 토폴로지를 확인할 수 있음.

8. 개요 탭을 클릭하면 스택의 상세 정보를 확인할 수 있음.

9. 리소스 탭에서는 생성된 자원 정보를 확인할 수 있음.

10. 이벤트 탭에서는 어떤 순서로 작업이 이루어졌는지 확인할 수 있음.

11. 템플릿 탭에서는 사용된 템플릿을 확인할 수 있음.

12. 네트워크 토폴로지에서 생성된 네트워크를 확인할 수 있음.

13. 인스턴스 목록에서 생성된 인스턴스를 확인할 수 있음.

14. 인스턴스 상세정보의 콘솔 탭에서 인스턴스에 접속할 수 있음.

Posted by 나리 짱!!! naleejang
OpenStack2017.09.29 10:03

In this time, I need to update OpenStack packages. so I summarize update process.

I feel my mind is also clear.

I think that I need to summarize anything


Posted by 나리 짱!!! naleejang
OpenStack2017.09.29 09:47

정말 오랜동안 글을 쓰지 않았다. 

레드햇에 입사하고 시간이 없었을 뿐더러, 게을러져서 글을 써야겠다는 생각은 아예 하지도 않은 듯 하다.

오랜만에 시간이 나서 그동안 있었던 일도 정리하고, 새로운 마음으로 글도 올려보고자 한다. 

오픈스택이 이제 Pike 버전이 나온 이 시점에서 Newton 버전에 대한 오픈스택 설치 메뉴얼을 올리는게 맞는건가 하는 생각이 들기는 하지만, 여전히 아직도 현장에서는 Newton 버전을 많이 사용하고 있기 때문에 도움이 될꺼라는 생각을 했다.

물론, 해당 메뉴얼을 가지고 완벽하게 에러없이 오픈스택을 설치할 수 있는건 아니다.

10일 삽질할꺼 5일만 삽질해도 된다는거... 삽질을 좀 줄여준다는 의미에서 매우 의의가 있다고 생각한다.

Red Hat OpenStack with TripleO 10 (newton) Installation Manual-K

Posted by 나리 짱!!! naleejang
OpenStack2016.02.24 19:25


다시 또 오랜만에 블로그에 글을 올리는 것 같습니다. 제 1회 오픈스택 데이 행사를 준비하던때가 엊그제 같은데 어느새 행사가 3회째를 맞이하였습니다. 늘 그래왔듯이 연말이 되면 오픈스택 한국 커뮤니티에서는 오픈스택 데이라고 하는 컨퍼런스 준비를 합니다. 

지난해 역시 마찬가지였습니다. 그런데 이상하게도 지난 12월에는 운영진들이 모두 바뻤습니다. 그래서, 차일피일 미루고 있던 행사를 12월 말이나 되어서야 본격적으로 시작을 하게 되었습니다. 행사의 컨셉을 기획하고, 후원사를 모집하면서 행사 준비는 시작이 됩니다. 

저는 사실 이번에 행사 준비를 하면서 행사 준비 기간이 짧아 많은 분들 오실까? 이런 걱정을 많이 했었습니다. 늦게 행사를 준비하였는데도 많은 분들이 오셔서 얼마나 기뻤는지 모릅니다. 

저희는 정말 많은 것들을 국내에 오픈스택을 사랑하고 관심을 가져주시는 모든 분들에게 많은 것들을 드리고 싶었습니다. 그래서, 세션도 지난해보다 하나 더 늘리고, 지난해에 없었던 업스트리밍 세션도 추가를 하였습니다. 이렇게 조금 무리해서 행사를 진행을 하다보니 지난해보다 예산이 훨씬 더 많이 들었지만, 저희가 후원을 받은 금액은 지난해와 비슷한 수준이였습니다.  그래서, 오시는 분들에게 좀 더 좋은 식사와 기념품을 드리고 싶었지만, 예산 문제때문에 그렇게 할수가 없었습니다. 

저는 늘 그랬듯이 행사 전날에 미리 행사장에 가서 행사장을 둘려보고 여러분들에게 드릴 기념품도 미리 확인해 보았습니다.


행사 당일날은 정말 깜짝 놀랐습니다. 이렇게 많은 분들이 오실꺼라고는 상상도 못했기 때문입니다. 정말 감사합니다. 이렇게 참여해주셔서 진심으로 감사드립니다. 게다가 이번 행사는 오픈스택 파운데이션으로 공식적으로 지정한 글로벌 행사로 처음 가진 컨퍼런스였습니다. 그래서, 오픈스택 파운데이션 페이스북을 통해 계속 홍보가 되었던 것들 여러분들도 보셨으리라 생각합니다. 

올해는 이상하게도 다이아몬드 스폰서를 해 주신 곳이 많았습니다. 그리고, 커뮤니티 초청 세션도 2개나 되었습니다. 그래서, 오전 키노트가 정말 풍성했습니다. 그래서, 발표 시간을 짧게 밖에 드릴수가 없었습니다. 혹시라도 시간이 너무 짧았다고 생각되시는 분이 계시다면 너그럽게 양해 부탁드립니다.

올해는 정말 다양한 세션들을 많이 준비를 했었습니다. 발표자는 지디넷을 통해서 신청하신 이메일로 안내가 나갈 예정이며, 커뮤니티 홈페이지가 개편되는대로 홈페이지에도 함께 공개가 될 예정입니다. 잠시만 기다려 주시면 정말 감사하겠습니다.

이번 행사 준비하면서 오픈스택 한국 커뮤니티에서 가장 성과가 있었던 세션은 바로 오픈스택 업스트림 세션과 지난해에 운영하였던 오픈스택 스터디 그룹원들의 발표였습니다. 커뮤니티에서 자체적으로 함께 참여하여 무언가를 하고 그로 인해 커뮤니티가 발전되고, 이는 바로 나라의 기술 발전으로 이어지며, IT 개발자들의 문화로 이어지기 때문에는 커뮤니티의 이런 활동들은 매우 의미가 있고 가치가 있다고 생각을 합니다.  오픈스택 한국 커뮤니티는 앞으로도 이런 개발자 문화, IT 문화를 조성하는데 함께 동참할 계획입니다.


이렇게 이번 제3회 OpenStack Days Korea 라는 행사도 성공적으로 잘 개최를 할 수 있었습니다. 그 이유는 오픈스택을 사랑하고, 관심 가져 주시고, 참여해 주시고, 함께 즐길 줄 아는 여러분들이 있기 때문이라 생각합니다.

이번 제3회 OpenStack Days Korea 를 후원해 주신 기업 관계자분들, 오픈스택 사용 경험을 공유해 주신 발표자분들, 행사가 원활하게 진행될 수 있도록 도와 주신 자원 봉사자분들, 그리고 행사의 주인공이 되어 참여해 주신 많은 분들께 다시 한번 더 진심으로 감사의 말씀을 드립니다.

2016년 2월 24일

- 오픈스택 한국 커뮤니티 제2대 대표 장현정 -

Posted by 나리 짱!!! naleejang
OpenStack2016.02.11 19:24


설 연휴는 잘들 보내셨나요? 저는 연휴에도 오는 2월 18일에 개최하는 OpenStack Days Korea를 성공적으로 개최하기 위해 홍보용 동영상도 만들고, 발표 자료도 만들었습니다. 물론 맛있는 음식도 많이 먹어서 몸무게도 함께 늘었답니다. 몇일 안남았지만, 몇일 안 남은 기간동안 열심히 다이어트도 함께 해야 할까 봅니다.  

이제 "제 3회 OpenStack Days Korea" 가 얼마 남지 않았습니다. 

행사를 준비하는 기간동안은 많이 설레이고 떨리는 것 같습니다. 이 설레임 그대로 않고, 행사 당일날 많은 분들에게 인사드리고 싶습니다.

행사 참여는 어떻게 하냐구요??

아래 사이트에서 사전등록을 클릭하시고, 등록하시면 됩니다.

오픈스택 한국 커뮤니티 운영진은 오픈스택 파운데이션과 함께 올해도 정말 열심히 준비했습니다. 또한 이번 제3회 OpenStack Days Korea는 OpenStack Foundation에서 지정한 글로벌 첫 공식 행사로 더욱 더 의미있는 자리입니다. 

아래 이미지는 이번 행사를 준비하면서 커뮤니티에서 준비한 인사말입니다. 

기술 세션도 다양하고 다채롭게 준비했습니다. 키노트 뿐만 아니라 대학생들을 대상으로 하는 해커톤, 실습 위주의 오픈스택 업스트리밍 트레이닝도 함께 준비했습니다. 관심 있는 분들의 많은 참여부탁드립니다.

이번에는 저자 싸인회를 하지 않습니다. 대신, 제가 근무하고 있는 회사를 대표로 해서 해외 사례로 보는 OpenStack Billing System에 대해서 발표를 할까 합니다. 물론 회사 제품 홍보는 거의 배제하고 기술 이야기, 오픈소스 이야기를 할 예정입니다. 사실은 이번에 소개할 OpenStack Billing Solution이 오픈소스화가 되었거든요~!! 역시 관심 있으신 분들의 많은 관람 부탁드립니다. 제 발표 말고도 정말 좋은 기술 세션들을 많이 많이 준비하였습니다. 주목할 만한 세션으로 지난해에 진행했던 오픈스택 스터디 그룹원들의 발표와 오픈스택 한국 커뮤니티 부대표님의 발표도 기대해 볼만 합니다.

다양한 경품도 준비했습니다. 이번에는 경품으로 스마트워치를 한번 준비해 봤습니다. 사실은 저도 갖고 싶은 품목 중에 하나랍니다.

뿐만 아니라, 불빛이 반짝거리는 스카이디지털 기계식 키보드 2대와 로지텍 게이밍 마우스, 인터넷 공유가 가능한 도시바 외장 하드 등을 준비했습니다.  경품만 준비한 건 아닙니다. 등록하신 분들께 드릴 기념품도 준비했으니 경품에 담청되지 않았다고 너무 슬퍼하지는 마세요~!!

이번에 이렇게 열심히 준비했습니다. 많이 많이 오셔서 본 행사를 즐기고 가셨으면 좋겠습니다. 관심 있는 기술 세션도 들으시고, 업계에서 유명한 분들과 이야기도 하고, 비즈니스 기회도 가져 갈 수 있는 그런 자리였으면 좋겠습니다.

아~ 마지막으로 오픈스택 한국 커뮤니티의 지난 1년에 대한 추억을 영상으로 제작해 보았습니다. 함께 감상하시죠~!!

Posted by 나리 짱!!! naleejang
OpenStack2016.01.12 10:17


새해들어 처음으로 글을 올려보는 것 같습니다. 

제 블로그에 방문해 주시는 모든 분들~!! 새해 복 많이 받으십시오. 그리고, 올 초에 계획하셨던 일들이 있다면 계획하셨던 일~ 하나라도 실천하는 한해가 되길 바랍니다. 아직, 계획을 세우지 않았다면, 5년 10년 후의 나를 그려보고 그걸 이루기 위해 지금 내가 해야하는 일이 무엇일까? 올해 내가 해야 하는건 무엇일까? 하고 생각해 본다면 쉽게 계획을 세울수 있을꺼라 생각합니다.

제 새해 계획은 

이번에 개최하는 "제 3회 OpenStack Day in Korea"를 성황리에 잘 진행하는 일입니다. 

이런 큰 행사는 저 혼자서 잘 하고 싶다고 할 수 있는 일도 아니고, 오픈스택 커뮤니티 운영진만 할 수 있는 일도 아닙니다.

발표를 신청해 주시는 스피커들, 행사를 후원해 주신 회사 대표님들, 아무 보수도 받지 않고 도와주시는 자원봉사자들, 행사를 기획하고 진행하는 운영진, 무엇보다 행사에 참여하고 즐길 수 있는 분들이 있어야만 행사를 성공적으로 잘 진행할 수 있다고 생각합니다.

제 3회 OpenStack Day in Korea는 아래와 같이 개최합니다.

- 주제 : A Powerful hub for emerging network technology

- 언제 : 2016년 2월 18일 목요일 아침 9시~ 오후 6시

- 어디서 : 잠실 롯데 호텔

- 규모 : 4 트랙, 28 세션

- 예상 참석자 : 800 ~ 1,000 명

- 행사 페이지 :

현재 마지막 후원사와 발표자를 모집하고 있습니다. 참여해야지~ 하고 생각하셨던 분들 빨리 빨리 신청해 주세요~!!

이번주가 지나고 나면 기회가 없습니다. 

우리 함께 멋있고 재미있는 컨퍼런스를 만들어 보아요~!!

Posted by 나리 짱!!! naleejang
OpenStack2015.09.12 01:02


다들 잘 살고 계시나요? 어느새 2015년도 반이 지나가 버렸네요~!! 어떻게 생각했던 일들은 잘 진행이 되고 있나요? 지금쯤에서 한번쯤은 연초에 계획했던 일들이 잘 진행이 되고 있는지 점검을 해 보는것도 나쁘지 않을것 같다는 생각이 듭니다.

정말 오랜만에 글을 올리는 것 같습니다. 사실 제가 요즘 하는 일이 좀 많습니다. 

회사일도 해야 하고, 커뮤니티 일도 해야하고, 영어공부에, 아이와 수다도 떨어야 합니다. 그래서, 이런 일들을 하다보면 블로그에 글을 올리는 시간은 없어져 버립니다. 모든것을 제가 할 수는 없으니까요~!! 저는 슈퍼우먼이 아니거든요~!! ㅎㅎㅎ

요 근래에 정말 많은 세미나를 다니면서 오픈스택을 소개하고 다녔습니다.

오픈스택 한국 커뮤니티 소개, 클라우드 컴퓨팅이 뭔지? 그런 클라우드 컴퓨팅을 구축할 수 있는 오픈스택 소개, 커뮤니티에 참여하는 방법, 기술 동향 등에 대한 소개를 했습니다. 그래서, 한번쯤은 자료를 정리해서 많은 분들에게 공유를 해야겠다라는 생각을 계속 하고 있었는데 이제서야 글을 올리게 되었습니다.

자료는 슬라이드쉐어에 아래와 같이 올렸습니다. 역시 이번에도 약간의 설명이 있으면 세미나에 참석하지 못하신 분들에게 도움이 될 것 같아 몇글자 적어봅니다.

항상 빠지지 않는 건 제소개죠~!! ㅎㅎㅎ

그리고, 어떤 내용을 말할건지에 대한 목차가 있습니다. 

1. 커뮤니티 소개

오픈스택 한국 커뮤니티는 2011년 2월 안재석 박사님에 의해서 만들어졌습니다. 1대 대표로써 3년동안 정말 열심히 오픈스택이라는 기술을 전파하러 다니셨고, 현재도 오픈스택 커뮤니티를 위해서 가장 많은 의견을 개진하고 계십니다.

2013년 12월에 제 2대 대표가 선출되었습니다. 바로 저죠~!! ㅎㅎ 그리고, 저를 도와줄 부대표님과 6개의 분과로 이루어져 있습니다. 홈페이지 주소는 http://openstack.or.kr이며, 저희는 주로 페이스북 그룹 활동을 합니다. 현재 페이스북 그룹의 회원수는 4천명이 넘었습니다. 방금 확인해 보니 4천3백명이 넘었군요~!! 그러나 여전히 여성 회원들은 별로 없습니다.

저희는 한달에 한번 기술세미나를 개최합니다. 그리고, 매년 7월이 되면 오픈스택 생일 파티를 합니다. 2월에는 오픈스택 데이라는 큰 행사를 한번 진행합니다.

오픈스택 운영그룹은 대표운영진인 저와 부대표이신 안승규님, 글로벌 커뮤니티와 커뮤니케이션을 하기 위한 글로벌분과의 최주열님 안재석님, 행사지원을 위한 마케팅분과 유명환님 정만기님, 세미나 진행을 위한 세미나분과 공용준님 이어형님, 스터디그룹을 담당하는 최영락님, 번역분과 강성진님, 특별분과 안명호님으로 구성되어 있습니다.

오픈스택 한국 커뮤니티는 지난 8월 5일날 제5회 오픈스택 탄생 기념파티를 개최했었습니다. 함께 즐기고, 사진도 찍고 정말 즐거운 시간들이였습니다. 다음에는 여러분들도 함께 참여해 보아요~!! 더 즐겁고 재미있는 시간이 될것입니다.

글로벌 커뮤니티도 정말 많은 성장을 하였습니다.

165개의 나라에서 509개의 조직이 사용하고 있으며, 3만명에 달하는 커뮤니티 가입 회원이 있으며, 4천명에 가까운 개발자들이 있습니다. 유저그룹은 80개 가랑이 됩니다.

오픈스택은 오는 10월 15일에 Liberty를 릴리즈합니다. 그리고, 바로 이어 옆나라인 도쿄에서 써밋을 합니다. 내년 4월에는 Mitaka가 릴리즈를 할 예정이며, 그때는 바로 이어 Austin에서 써밋을 개최합니다.

2. 클라우드 이야기

클라우드 컴퓨팅은 서버, 스토리지, 네트워크와 같은 자원을 인터넷에서 가져다가 이를 활용하여 서비스를 하는 모든 기술을 뜻합니다. 어떤것을 서비스하느냐에 따라 인프라 자원을 서비스하는 IaaS, 개발 플랫폼을 서비스하는 PaaS, 소프트웨어를 서비스하는 SaaS로 이루어집니다. 인터넷상에 공개를 하느냐 그렇지 않느냐에 따라 퍼블릭, 프라이빗, 하이브리드로 나누어 집니다. 오픈스택은 인프라를 제공하는 서비스이며, 요 근래에는 플랫폼까지 제공하는 영역으로 확대되고 있습니다.


3. 오픈스택 이야기

오픈스택은 2010년 6월에 나사와 랙스페이스가 함께 연구하던 프로젝트를 아파치 2.0 라이센스로 오픈한 인프라스트럭처 기반의 오픈소스 플랫폼입니다. 2010년 10월에 Austin 릴리즈를 시작으로 총 11번의 릴리즈가 있었으며, 현재 릴리즈 버전은 Kilo입니다. 

오픈스택은 컴퓨트 서비스인 Nova, 오브젝트 스토리지 서비스인 Swift, 이미지 서비스인 Glance 로 출발하여 네트워크 서비스인 Neutron, 인증서비스인 Keystone, 블로스토리지 서비스인 Cinder, 데쉬보드 서비스인 Horizon으로 정점을 한번 찍고, 모니터링 서비스인 Ceilometer, 오케스트레이션 서비스인 Heat로 이루어 집니다. 요즘은 개발 플랫폼인 빅데이터를 위한 Hadoop 서비스인 Sahara, 데이터베이스 서비스인 Trove, 베어메탈 서비스인 Ironic이 정식 서비스로 추가되었습니다. 이외에도 많은 서비스들이 개발되어지고 있습니다.

그 중에서도 가장 많이 사용하는 그리고, 오픈스택에서 빠지면 안되는 기술~!! 바로 하이퍼바이저죠~!! 하이퍼바이저는 서버에 바로 설치되는 Native 방식과 운영체제 위에 프로그램으로 설치되는 Hosted형이 있습니다. 오픈스택은 KVM으로 시작하여 현재는 많은 하이퍼바이저를 지원하고 있습니다.

4. 커뮤니티 참여하기

오픈소스는 정말 많습니다. 오픈스택은 그런 오픈소스들의 총집합이라고 해도 과언이 아닙니다. 정말 많은 오픈소스가 사용되었으며, 이런 커뮤니티가 존재하다는 건 혼자서 모든것을 할 수 없기 때문입니다. 우리는 함께 있을 때 더 많은 것들을 만들수 있으며, 더 큰 가치를 만들수 있습니다. 

도전하세요~!! 오픈소스를 공부해 보세요~!! 그리고, 최선을 다해보세요~!! 안 풀리는 문제를 끝까지 해결하려고 노력하세요~!! 단 목표일을 정해서 집중적으로 하세요~!! 해결되면 공유하고 나누어 줍니다. 무엇으로? 글로 그림으로 말입니다. 그러면, 내 실력이 늘어나죠~!! 그러면 변화가 찾아옵니다. 말하기 실력도 올라갑니다. 결국 좋은 회사에 취업할 수 있겠죠~!! 

5. 기술 동향

클라우드를 구축할 수 있는 오픈소스는 크게 4가지가 있습니다. 그런데 그중에서 하나를 HP Heilon에서 인수를 했습니다. 그래서, 지금은 3개만 남았습니다. 가장 인기있는 오픈소스는 오픈스택입니다. 가장 많이 사용하는 오픈소스도 오픈스택입니다. 

이제 클라우드는 먼 이야기가 아닙니다. 우리 주변에서 쉽게 찾아볼 수 있습니다. 아마존이 먼저 시작하였죠~!! 우리는 절대 따라갈 수 없습니다. 그래서, 어쩌면 더 돈을 벌 수 있는 기회가 생기는 건지도 모르겠습니다. 사용하는 곳은 많은데, 없는 기능들이 많아서 개발을 해야 하니까요~!!

해외에는 오픈스택을 이용해서 퍼블릭 클라우드 사업을 하는 곳도 나왔고, 프라이빗 클라우드 구축사업을 하는 곳도 있습니다. 또한 하이브리드 클라우드를 위해 관리해 주는 플랫폼도 있죠~!! 데이터센터를 위해 자동으로 설치해 주는 기술은 너도 나도 다 하고 있습니다. 

국내에서도 오픈스택을 사용하는 회사들은 점점 늘어나고 있죠~!! 돈 많은 회사들은 이미 시작하였고, 돈이 없는 회사들도 관심을 갖기 시작했습니다. 그리고, 연구활동에도 오픈스택이 빠지지 않습니다. 그래서, 커뮤니티를 찾아주는 곳도 정말 많이 생겼습니다. 그래서, 저는 앞으로도 오픈스택이라는 기술을 계속해서 알리고, 전파할 생각입니다. 

오픈스택이 없어진다 하여도 오픈스택을 하고 나면 시스템을 다룰줄 아는 능력과 실력이 생기고, 오픈소스를 사용하는 방법과 이를 기반으로 한 개발 실력이 향상됩니다. 그러므로 전혀 손해보는건 없는것이겠죠~!!

이렇게해서 그동안 제가 발표하고 다녔던 자료를 한번 정리해 보는 시간을 가져보았습니다.오픈스택을 이해하는데 조금이나마 도움이 되었으면 좋겠습니다. 그럼, 모두들 즐거운 주말 보내세요~!!

다음 포스팅 때에 다시 인사드리겠습니다.

Posted by 나리 짱!!! naleejang
OpenStack2015.07.23 16:29


이틀 연속으로 삽질만 하네요~!! 평소에 써보지 않았던 새로 산 맥북을 쓰려고 하다보니 서로 다른 표현때문에 계속 삽질을 하고 있습니다. 개념은 분명히 같을텐데 왜 안될까? 윈도우에서처럼 똑같이 했는데 왜 안될까? 하고 고민했습니다. ㅠㅠ

제가 그동안 너무 윈도우에 익숙해져 있었나 봅니다. ㅎㅎㅎ

오늘은 맥에서 설치한 버철박스를 이용하여 VM을 만들었습니다. 그리고, VM의 네트워크 어댑터를 NAT(Network Address Translation) 로 설정했습니다. 분명히 윈도우 버철박스에서 VM을 생성할 때와 동일하게 NAT를 설정하고 포트포워딩을 했는데 왠일인지 아무리해도 접속이 안되는건 왜 그런걸까요?

게다가 버철박스 화면도 서로 살짝 다르게 생겼습니다. 아래그림은 맥용 버철박스입니다.

그리고, 요 아래 그림은 윈도우용 버철박스입니다. 윈도우용 버철박스는 메뉴가 바로 위에 보이는데 맥은 어플하고 분리되어 상단에 올라가 있으니 당연히 메뉴가 없다고 생각을 했을겁니다. ㅠㅠ 

이번에는 네트워크 설정에서 NAT 설정하는 부분입니다. 맥은 아래 그림처럼 메뉴가 상단에 있습니다.

그런데 윈도우는 상단이 아닌 좌측에 있습니다. 아닌가? 우측인가? 이제는 방향도 햇갈리네요~!! 여튼 옆에 있습니다.

자~!! 이렇게 똑같이 NAT로 설정하고 아래 그림처럼 포트포워딩도 설정했습니다. SSH 접속을 할 예정이니 22번 포트만 눈여겨 보시면 됩니다.

윈도우도 똑같이 SSH용 호스트 포트는 2022, 게스트 포트는 22로 설정을 했습니다.

원도우즈는 아래처럼 localhost로 접속하면 됩니다. 정말 아주 잘됩니다.


그런데 맥은 안됩니다. 게다가 위와 같은 툴도 어떻게 설치하는건지 잘 모르겠고, 그냥 아래와 같이 ssh로 바로 접속~~

naleejangui-MacBook-Pro:~ naleejang$ ssh nalee@localhost

ssh: connect to host lcalhost port 22: Connection refused. 

안되네요~!! 뭐지?? 이거?? 왜 안되지?? 혼자서 나름 해결해 볼라구 검색도 해 보고 했지만 도무지 모르겠습니다. ㅠㅠ 결국 맥 쓰는 회사 동료한테 물어봤습니다.

맥은 아래처럼 네트워크도 윈도우와 살짝 다른데요. 

lo0은 로컬 네트워크를 나타내는것 같고, en0이 기본 인터넷이 네트워크로 보입니다.

en1과 en2는 bridge0으로 해서 묶여있는데 뭔지 잘 모르겠네요~!! 

p2p0은 맥끼리 통신이 된다고 들었는데 그때 쓰이는 네트워크처럼 보입니다. 

awdl0, gif0, stf0은 뭔지 제가 잘 모르겠습니다. 

vboxnet0은 버철박스용 네트워크로 제가 만들어 준 네트워크 입니다. 맥은 버철박스를 설치할 때 네트워크를 자동으로 설치를 안해 주더라구요~!! 윈도우는 자동으로 같이 설치를 해 주는데 말입니다. 그래서, 별도로 생성을 해 주어야 합니다. 이참에 버철박스용 네트워크 생성 명령어도 같이 남겨 놔야 겠네요~!! 제가 자꾸 까먹거든요~~ 기억을 잘 못해요.. ㅠㅠ

 naleejangui-MacBook-Pro:~ naleejang$ VBoxMange hostonlyif create


Interface 'vboxnet0' was successfully created

그리고, 윈도우와는 다르게 ifconfig로 리눅스처럼 확인을 하면 됩니다. 물론 이건 터미널에서 확인을 한 겁니다. 

naleejangui-MacBook-Pro:~ naleejang$ ifconfig

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384


         inet6 ::1 prefixlen 128

         inet netmask 0xff000000

         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1

         nd6 options=1<PERFORMNUD>

gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280

stf0: flags=0<> mtu 1280


         ether a4:5e:60:c5:e4:df

         inet6 fe80::a65e:60ff:fec5:e4df%en0 prefixlen 64 scopeid 0x4

         inet netmask 0xffffff00 broadcast

         nd6 options=1<PERFORMNUD>

         media: autoselect

         status: active



         ether 4a:00:01:9e:2d:90

         media: autoselect <full-duplex>

         status: inactive



         ether 4a:00:01:9e:2d:91

         media: autoselect <full-duplex>

         status: inactive


         ether 06:5e:60:c5:e4:df

         media: autoselect

         status: inactive



         ether a6:5e:60:5c:91:00


                   id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0

                   maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200

                   root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0

                   ipfilter disabled flags 0x2

         member: en1 flags=3<LEARNING,DISCOVER>

                 ifmaxaddr 0 port 5 priority 0 path cost 0

         member: en2 flags=3<LEARNING,DISCOVER>

                 ifmaxaddr 0 port 6 priority 0 path cost 0

         nd6 options=1<PERFORMNUD>

         media: <unknown type>

         status: inactive


         ether 92:d7:fd:8e:5e:a0

         inet6 fe80::90d7:fdff:fe8e:5ea0%awdl0 prefixlen 64 scopeid 0x9

         nd6 options=1<PERFORMNUD>

         media: autoselect

         status: active

vboxnet0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500

         ether 0a:00:27:00:00:00

         inet netmask 0xffffff00 broadcast

naleejangui-MacBook-Pro:~ naleejang$ 

이때 생성한 vboxnet0 보이시죠? 이 주소를 통해서 ssh 접속을 해야 버철박스에서 생성된 VM에 접속을 할 수가 있습니다. 그냥 localhost를 쓰면 접속이 안되더라구요~!! 그래서, 저는 이렇게 그림과 함께 직접 명령어와 그 결과까지 함께 포스팅해 주는 센스~~ 이런게 정말 좋더라구요~!! 

마지막으로 어떻게 접속하면 되는지 보여드리고 포스팅 마무리 하도록 하겠습니다. 아래와 같이 vboxnet0의 IP를 사용해서 접속을 하되 반드시 뒤에 -p로 포트정보를 넣어주는 센스~~ 그러면 아래와 같이 ssh로 우분투에 접속이 잘 된걸 확인할 수 있습니다.

naleejangui-MacBook-Pro:~ naleejang$ ssh nalee@ -p 2022

nalee@'s password:

Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64)


 * Documentation:


  System information as of Thu Jul 23 13:50:37 KST 2015


  System load:  0.08              Processes:           87

  Usage of /:   28.4% of 3.87GB   Users logged in:     0

  Memory usage: 1%                IP address for eth0:

  Swap usage:   0%


  Graph this data and manage this system at:


106 packages can be updated.

60 updates are security updates.



The programs included with the Ubuntu system are free software;

the exact distribution terms for each program are described in the

individual files in /usr/share/doc/*/copyright.


Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by

applicable law.


Last login: Thu Jul 23 13:50:37 2015


오늘의 삽질~~ 여기서 정리하도록 하겠습니다. 

저처럼 윈도우 쓰시다가 맥으로 바꾸시는 분들을 위하여 포스팅 해 보았습니다. 

Posted by 나리 짱!!! naleejang
OpenStack2015.07.21 18:45


정말 오랜만에 글을 올리는 것 같습니다. 

요즘 너무 바뻐서 글을 올릴 시간이 거의 없었습니다. 

낮에는 일하느라 밤에 애 보느라 몸이 두개였으면 좋겠다는 생각을 정말 많이 하는것 같습니다. 

오픈스택(OpenStack)이 탄생한지 5주년을 맞이하였습니다그래서, 이를 기념하기 위한 파티가 세계 여러 나라의 사용자 그룹에서 열리고 있습니다. 따라서, 오픈스택 한국 커뮤니티에서도 이를 기념하기 위한  작은 파티를 준비하였습니다.

현재 한국은 MERS라는 문제로 큰 행사를 하기가 매우 조심스러운 상황입니다. 따라서 이번 행사는 오픈스택을 정말 사랑하는 사람들의 모임으로 작은 파티를 할까 합니다. MERS를 이길 수 있는 오픈스택 한국 커뮤니티 회원님이시라면 오픈스택 탄생 5주년을 함께 축하해  주세요~!!

어디서 신청하냐구요?

바로 여기서 신청하시면 됩니다. ----->>>>

저희가 상황에 맞추어서 참석 인원은 유동적으로 조정을 할 생각입니다. 그러니 주저하지 마시고, 관심있으신 분들은 참여신청을 해 주세요~!! 저는 이번에 뭘 하느냐구요?? 행사 진행~!! 그리고, 인사하러 다녀야죠~!! 그게 제 할 일이니까요~!

다들 아시죠~~~ 커뮤니티는 함께 참여할때 그 가치가 배가 된다는 것을요~!!

그럼, 많이들 참여 부탁드립니다. ^^

Posted by 나리 짱!!! naleejang
OpenStack2015.06.26 05:51


오랜만에 블로그에 또 글을 올리는 것 같습니다.

커뮤니티 활동을 하면서 참 많은 것을 받은 것 같습니다. 

커뮤니티 때문에 정말 좋은 분들을 그것도 열정이 넘치는 분들을 많이 만났어요~!!

커뮤니티 때문에 평소에 할 수 없었던 가치있는 경험들을 정말 많이 가졌어요~!!

커뮤니티 때문에 꿈이 생겼고, 그 꿈을 향해 달릴 수 있었던 것 같아요~!!

커뮤니티 때문에 하고 싶은 일을 할 수 있는 회사에 입사를 했고, 지금은 너무나도 행복하게 잘 살고 있습니다.

커뮤니티가 주는게 참 많죠~!!

그런데 이 커뮤니티는 IT분야의 기술 커뮤니티이고, 오픈소스를 혼자서는 공부할 수 없기 때문에 모여서 함께 공부해보자는 취지로 만들어 진것이 커뮤니티라고 생각을 합니다. 그래서, 문득 오픈소스 클라우드 플랫폼으로 가장 인기가 많은 오픈스택에서 사용하는 오픈소스들을 무엇이 있을까? 라는 궁금증이 생겼습니다. 오픈스택 자체가 오픈소스인데 무슨 또 오픈소스냐구요? 오픈스택도 전체를 모두 다 개발을 한것이 아니랍니다. 많은 오픈소스들을 가지고 와서 다시 새로운 오픈소스를 만들어낸것이 바로 오픈스택입니다. 그러고보니 오픈소스의 위력이 대단한 것 같습니다. 

여러분~!! 오픈스택 Kilo 버전이 릴리즈 되면서 Conceptual 아키텍처가 바뀐걸 아시나요? Juno 버전에서는 알록달록 예쁜 색깔 띄고 있는 아키텍처가 지금은 아무 색도 없는 아키텍처로 바뀌었습니다. 그리고, 기존에 못 보던 것들이 두개가 더 들어갔고, 배치도 많이 바뀌었죠~!! 어떤 것이 새로 들어갔을까요? Sahara와 Trove입니다. 컨셉셜 아키텍처에 들어갔다는것은 아주 큰 의미를 가지고 있습니다. 오픈스택의 기본 서비스가 되었다는 증거이죠~!! 

오픈스택에서 현재 진행 하고 있는 프로젝트가 아주 많다는 것쯤은 다들 아시죠? 그 많은 프로젝트 중에 선택받은 프로젝트들이니 그 의미가 아주 대단한 것이 되는것 같습니다. 

중요한 것은 그게 아니고, 

오픈스택에서 사용하는 오픈소스들이 아래와 같이 아주 많다는 것입니다. 

오픈스택이 어려운 이유를 알겠죠~!! 

오픈스택을 하려면 아래에 있는 모든 오픈소스를 알아야 하고, 적어도 그 오픈소스들이 어떤 기능을 하고 어느 프로젝트에서 설치가 되는지 환경설정은 어떻게 하는건지는 알아야만 하니까요~!!

그래서, 저는 오픈스택이 오픈소스 생태계를 더 많이 활성화시키는 아주 중요한 역할을 하는게 아닐까 하는 생각을 종종 하곤 합니다. 아래 그림은 오픈스택이 사용하는 오픈소스들을 그림으로 표현해 본것입니다. 사실 오픈스택을 하시는 분들이라면 다 알고 있는 내용이지만, 이렇게 그림으로 정리된 자료는 없더라구요~!! 그래서, 제가 한번 정리해 봤어요~!!

그림으로 정리하고 나서 보니 오픈스택에서 어떤 오픈소스들을 사용하는지 대략 알것 같아요~!! 

자~ 이제 오픈스택에서 사용된 오픈소스들이 대체 무엇을 하는 건지 한번 알아봐야겠죠~!! 그건 커뮤니티의 또 다른 분이 정리해 주실꺼라고 생각합니다. 그리고, 당연히 공유도 해 주시겠지요~!! 

오늘의 특별강좌 어땠나요? 

많이 많이 좋아해 주시고, 댓글도 많이 달아주세요~!! 

제가 블로그 활동을 하고, 정보를 공유하는 유일한 낙이랍니다. 

퍼가셔도 좋습니다. 퍼가실때는 제 블로그에서 가져가신거라고 꼭 알려주세요~!! 

그래야 저도 신이 나지 않을까요~!! 

그럼, 다음에 다시 또 시간나면 새로운 정보들을 다시 또 공유하도록 하겠습니다. 

모두들 즐거운 하루 되세요~~~~ ^^

Posted by 나리 짱!!! naleejang
OpenStack2015.02.09 16:32


"제2회 OpenStack Day in Korea" 행사를 잘 마쳤습니다. 

지난해 많은 분들이 보여주신 관심과 참여로 이번 제 2회 OpenStack Day는 좀 더 많은 분들이 참여하고 좀 더 좋은 곳에서 좀더 수준높은 강연을 준비하기 하기 위해 노력했습니다. 처음 행사를 기획하고 준비하는 과정에서 지난해보다 살짝 늦은감이 있게 행사 페이지를 오픈하여 과연 많은 분들이 참여하실까? 행사를 성공적으로 잘 할 수 있을까? 라는 걱정을 했었습니다.

지난해 때와는 다르게 이번 행사에서는 유료로 진행을 했습니다. 

아무래도 좀 더 좋은 곳으로 많은 분들을 모시고자 했기 때문에 행사가 지난 행사와는 다르게 유료로 진행을 할 수 밖에 없었습니다. 그럼에도 불구하고 사전 등록이 마감될 정도로 많은 분들이 관심을 가져주시고, 참여해 주셔서 정말 감사했습니다. 또한 참여하고 싶었으나 참여하지 못하신 분들에게도 미안할 정도로 관심을 가져주셔서 정말 행복했습니다. 

후원사를 모집하고 강사님들을 모집하고, 세션 테이블을 만들면서 운영진들을 밤 늦게까지 계속 회의하고 토론을 했었습니다. 운영진을 떠나서 국내에서 오픈스택을 현재 업무에 활용하고 있는 회사들의 오픈스택 사용 경험담을 생생하게 들을 수 있도록 노력하였고, 기존에 아무곳에서도 알려주지 않았던 그런 내용들을 이번 행사에서 들을 수 있도록 준비하였습니다. 

또한 이번에는 지난해와 다르게 기념티를 준비하지 않고, 고급 텀블러를 준비하였습니다. 이번에도 티셔츠를 할까 고민을 했었으나, 티셔츠를 하게되면 사이즈 및 각종 문제가 발생을 하였기 때문에 그런 문제를 해결하고자 겨울이니까 따뜻한 물 한잔 드실 수 있도록 텀블러를 선택하였습니다. 

모든분들이 다 가져가실 수 있도록 수량을 준비하였고, 직접 시장조사를 하여 선택하였습니다. 경품 또한 시장조사를 통하여 어떤 제품이 IT를 하는 사람들 사이에서 가장 인기가 좋은지를 조사하였고, 그렇게 하여 모든 경품을 준비하였습니다.

아쉬운게 있다면 그 모든 선물들을 운영진은 가질수 없다는게 가장 아쉬웠던것 같습니다. 그러면서, 모두들 다음번에는 참관객으로 참석하겠다고 농담도 하곤 했었습니다. 

행사 당일~!!

모든 운영진과 스탭들은 이른 아침 일찍 모두 행사장에 모여 어떻게 행사를 진행할 것인지에 대해 공유를 하고 준비를 하였습니다. 하루 종일 발에 땀이 나게 뛰어다니면서 행사를 함께 진행하였습니다. 행사장 안내를 맡아주신 이태헌, 황학범, 김정혁, 김정석님 감사합니다. 세션 트랙 진행 보조를 맡아주신 서지현, 박희수, 정이슬, 송지현, 차동휘, 최영락님 감사합니다. 그리고, 이렇게 예쁜 사진 찍어주신 윤도열, 한승진님 정말 감사드립니다. 또한 행사 기획부터 진행까지 멋진 행사를 만들수 있도록 도와주신 지디넷의 송경석 팀장님, 구정원 대리님, 정민하님께도 이 글을 통하여 감사인사 드립니다. 

먼 곳에서 키노트를 위해 와주신 OpenStack Foundation의 Mark Collier 및 관계자 여러분 정말 감사합니다. 행사를 위해 정말 많은 도움을 주신 SKT 최진성 전무님, 그리고, HP의 박관종 상무님 외 관계자 여러분들께도 감사드립니다. 이 외에도 행사를 후원해 주신 Cisco, Hitachi & Hyosung Information Systems,Huawei,NetApp, Pivotal, RedHat, SolidFire, Atto Research, nuage networks, Ncloud24, SmileServ, Zadara storage, 사이냅 소프트, Cubrid 관계자 여러분 감사합니다. 행사 소식을 알려주고, OpenStack Day in Korea 행사를 많은 분들이 알수 있게 해 준 미디어 후원 업체인 ZDNet, Bloter, 디지털데일리, 마이크로 소프트웨어, 모든 강연의 동영상을 찍어주신 한국공개소프트웨어협회(KOSSA), 개발자들에게 지식을 전달해 주는 책을 후원해 주신 길벗, 지앤선, 제이펍, 한빛미디어 관계자 여러분들께도 진심으로 감사드립니다.

이번 행사에서는 KAIST의 밴드공연팀인 "알고리듬"에서 점심 시간을 이용하여 참관객들에게 공연을 선물해 주었습니다. 저는 다른 일때문에 들어보지 못했지만, 정말 좋은 공연이였으니라 생각합니다. 공연을 해 주신 KAIST "알고리듬"팀에게도 감사인사 드립니다.

그 무엇보다 감사드릴 분들은 강연장을 가득 메워주신 여러분들이 아닐까 싶습니다. 어떻게 저희가 준비한 본 행사에서 많은 것들을 가지고 가셨는지 모르겠습니다. 늘 행사가 끝나고 나면 아쉬운 점, 부족한 점이 있게 마련입니다. 그래도, 이렇게 좋은 행사 될 수 있도록 참여해 주신 모든 분들께 오픈스택 한국 커뮤니티 대표로써 감사 인사 드립니다.

지난해 행사 후기 작성하면서 운영진 이야기를 쓰지 않았었는데, 다들 많이 서운해 하시더라구요~!!

이번 행사 준비를 가장 열심히 해 주었던 운영진~ 늘 항상 옆에서 힘이 되어 주는 운영진인 안승규, 안재석, 안명호, 정만기, 유명환, 최정대, 공용준, 강성진님 정말 고맙고, 수고 많으셨습니다.

늘 항상 발전하고, 서로가 서로를 도와주며, 살기 좋은 대한민국 IT인이 되기 위해 노력하는 오픈스택 한국 커뮤니티가 되도록 늘 항상 노력하겠습니다. 지켜봐 주시고, 관심 가져주시고, 좋은 커뮤니티 문화를 정착해 갈 수 있도록 앞으로도 계속 참여 부탁드리겠습니다. 

발표자료는 금주내에 사전등록하신 이메일로 전달 예정이며 오픈스택 홈페이지에도 게시할 예정입니다. 또한 동영상은 추후에 OLC센터에서 확인 가능합니다.


2015년 2월 9일

- 오픈스택 한국 커뮤니티 대표 장현정 -

Posted by 나리 짱!!! naleejang
OpenStack2015.01.28 00:17


요즘들어 제가 많이 부족하다는 생각이 듭니다.

처음 책을 쓸때는 좋은 마음으로 썼는데, 좀 더 꼼꼼하게 체크하고 검토했어야 했는데,...

마음만 급해서 제대로 신경을 쓰지 못했다는 생각이 많이 듭니다. 물론 밤 늦게 작업하고 피곤한 가운데 집필을 하다보니 생각지도 못한 오류들이 많이 발생했던 것 같습니다. 나중에는 내용이 너무 많아서 그냥 대충 보고 넘어간 부분도 없지 않아 있었던 것 같습니다. 그래서, 책을 구매해 주신 분들에게 한편으로는 너무 미안한 마음이 듭니다. 

그리고, 제가 숫자하고 별로 친하지 않다는것은 이미 알고 있었지만, 확실하게 숫자 계산하고는 친하지 않다는것은 한번 더 알았습니다. ㅠㅠ 

지금까지 오류나 오타에 대한 부분들을 알려주신 분들께 정말 진심으로 감사드립니다. 그리고, 이를 통해서 저 또한 발전하는 것 같습니다. 그리고, 다음에는 정말 더 꼼꼼해져야 되겠다는 생각을 더욱더 많이 했습니다.

책을 내고 문의가 많이 들어오는데, 해당 문의들에 대한 답변을 제가 다 해 드릴수가 없습니다.

이미 6개월전에 설치해 보고 지금 제게 장비는 사라지고 없습니다. 

테스트 해 볼 장비가 없어서 잘 기억이 나지 않는 부분도 솔직히 말해서 있습니다.

버철박스 뛰워서 테스트해 보는것도 한계가 있습니다. 힘드네요~~~ 

더군다나 요새는 그럴 시간조차 없습니다.

제대로 답변 안준다고 맘 상해 계시는 분들 분명히 계실꺼라 생각하는데, 

어디선가 저 원망하고 계시는 분들 반드시 있을 꺼라 생각하는데,

조금만 이해해 주시면 정말 감사하겠습니다. 

그래서, 오늘은 CentOS 6.5에서 OpenStack Swift 설치 매뉴얼을 공개할까 합니다. 

늘 우분투에서만 설치를 해 봐서 CentOS에서도 설치를 한번 해 보고 싶었습니다.

그리고, 몇년전에 공개한 매뉴얼에서 바뀐 부분도 있고 해서 이번에 설치를 하게 되었습니다.

서비스를 위한 매뉴얼은 아닙니다. 단지 테스트를 위한 스터디를 위한 매뉴얼입니다.

장비가 없어서 서버 한대에 모두 돌려보는 그런 매뉴얼입니다.

많은 분들에게 도움이 되었으면 좋겠네요~!! 

참 따라하실때 IP 똑같이 할려고 애 쓰시는 분들 계시는데 그럴 필요 없습니다. 

좀 더 쉽게 이해하시라고 영문 설명 대신 IP를 넣었습니다.

OpenStack Swift on CentOS 6 Installation Manual.pdf

*** 혹시라도 이 글을 읽고 장비를 지원해 주어야겠다 라는 생각이 드시는 분 절대 완전 환영합니다. 연락주십시요.

Posted by 나리 짱!!! naleejang
OpenStack2015.01.20 12:38


2013년도 12월에 오픈스택 한국 커뮤니티의 새로운 대표가 되었습니다. 

그리고, 처음으로 OpenStack Day in Korea라는 행사 개최를 했었습니다. 

그런데, 어느새 일년이라는 시간이 지나 두번째 OpenStack Day in Korea라는 행사를 개최하게 되었습니다.

오픈스택은 일년동안 많은 성장을 하였고, 오픈스택에 관심을 갖고 참여하기 시작한 회사도 많이 늘었습니다. 

작년에 비해 오픈스택을 공부하려고 시도하는 대학의 학생들도 많아졌습니다.

올해는 지난해보다 좀 더 다양하고 규모있는 행사가 될수 있도록 준비해 보았습니다.

그래서 주제 역시 Beyond OpenStack입니다. 오픈스택을 넘어서 서비스, 어플리케이션, 플랫폼까지 모두 담아보았습니다.

행사 참여는 어디서 하냐구요? 바로 여기서 하시면 됩니다. ===> 

그리고, 이번 행사에서는 제가 출간한 "오픈스택을 다루는 기술" 서적의 저자싸인회를 개최할까 합니다.

책을 구매하신 분들은 책을 가지고 오셔서 싸인을 받으시면 되구요~~

미처 책을 구매하지 못한 분들은 행사날 책도 같이 판매를 할 예정이니 그날 바로 제 싸인을 받으실 수 있습니다.

또한 이번 행사에는 OpenStack Foundation의 주요 멤버들이 모두 한국을 방문할 예정입니다. 앞으로의 오픈스택이 어떤 방향으로 나갈지를 알아볼 수 있는 자리가 되지 않을까 싶습니다.

아래 이미지는 지난해 OpenStack Day in Korea 의 사전 등록 페이지의 디자인을 담당자해 주신 디자이너가 디자인해 준 메인 탑 이미지에 행사개요와 스폰서들을 추가해 보았습니다. 정말 최선을 다해서 준비했습니다. ^^

아래 그림은 저희가 이번 행사 준비하면서 여러분들께 드리는 인사말입니다. 

이번 행사에서는 아래와 같이 많은 회사들이 후원을 해 주셨습니다. 후원해 주신 회사만 봐도 알겠죠~!! 지난해에 비해 얼마나 많이 오픈스택의 인기가 올라갔는지를 말입니다. ^^

행사에 오셨으니 좋은 세션 좋은 발표 많이 많이 듣고 가셔야죠~!! 정말 좋은 연사님들을 모시고 좋은 강의 마련하였으니 오시는 다 듣고 많이 많이 얻어 갈 수 있으면 좋겠습니다.

오픈스택으로 직접 개발도 하고 관련 소프트웨어도 만들고, 관련 장비도 개발하는 여러 회사들도 만나봐야겠지요~!! 후원해 주시는 업체를 비롯해 대한민국에서 오픈스택으로 일을 하고 있는 회사들까지 모두 총 출동했습니다. 2월 5일 행사날 만나보실 수 있습니다.  

이렇게 준비하느라 정말 힘들었는데 주인공인 여러분들이 빠지면 정말 슬플꺼예요~!! 많이 많이 오셔서 참여하시고, 행사를 마음껏 즐기다 가셨으면 좋겠습니다. 

아 그리고, 참여하시는 모든 분들께는 호텔에서 제공하는 점심을 제공해 드릴 예정이며, 점심 시간에는 공연도 준비가 되어 있다죠~!! 게다가 커뮤니티에서 준비한 기념품까지... 정말 만원이 하나도 아깝지가 않습니다~~~

그럼, 모두들 2월 5일 행사날 만나요~~~

Posted by 나리 짱!!! naleejang
OpenStack2015.01.10 01:04


오랜만에 글을 써 보는 것 같습니다. 

요즘 얼마 남지 않은 OpenStack Day in Korea 2015 행사 준비때문에 정말 정신없이 하루가 지나가 버리곤 하거든요~!! 

그런데, 오늘 이렇게 글을 올리는 이유는 어느분께서 올려주신 블로그의 방명록 글 때문입니다. 정말 장문의 글을 올려 주셔서 이건 포스팅을 안하면 안될 것 같다는 생각이 들었습니다. 그래서, 어떻게 설명을 하면 좀 더 이해를 쉽게 할 수 있을까? 하고 고민을 하다가 이렇게 글을 올립니다. 

오픈스택을 시작하신 대부분의 사람들이 기존 레거시 네트워크인 nova-network와 SDN 개념이 들어가 있는 neutron 네트워크에 대해 많이들 혼동을 하는 것 같습니다. 

그래서 오늘 이 두가지 네트워크에 대해 정리를 한번 해 보았습니다.


nova-network는 기존 nova 프로젝트 내에서 네트워크를 관리해 주는 프로세스입니다. 그래서 nova-network를 사용할때 nova-api를 사용하여 네트워크를 관리합니다. 또한, nova-network는 외부 통신을 할때 주어지는 Floating IP 범위가 오픈스택이 설치되는 서버와 같은 IP 대역을 사용하기 때문에 사용 가능한 IP 대역이 상당히 제한적입니다.


그래서, 이런 제한적인 IP 대역을 해결하고자 나온 개념이 바로 SDN(Software Defined Network)입니다. Neutron은 바로 이 SDN을 이용하여 인스턴스의 Floating IP와 Fixed IP를 관리하겠다는 것입니다. 그래서, 위에 보이는 nova-network를 사용할때는 보이지 않던 ML2 플러그인, 에이전트, OpenvSwitch 등이 존재하며, OpenFlow Controller와 OpenvSwitch가 존재하는 것입니다. 기존 네트워크 장비들은 물리 네트워크와 네트워크를 컨트롤하는 소프트웨어가 장비안에 모두 포함되어 있었습니다. 그런데, 이것을 장비 안에 포함시키는 것이 아니라, 별도의 서버에 네트워크를 컨트롤 하는 프로그램을 따로 두고, 네트워크를 관리하겠다는 의미에서 나온 것이 바로 SDN입니다. 

Neutron을 사용하면 물리 스위치를 그대로 이용하는 것이 아니라, 인스턴스가 가상이듯이 스위치도 가상으로 만든 스위치를 사용하게 됩니다. 이때 주로 사용하는 스위치가 바로 OpenVSwitch입니다. OpenVSwitch는 인스턴스별로 하나씩 생성되어 할당이 되며, 인스턴스의 통신을 담당합니다. 그런데, 물리적으로 멀리 떨어져 있는 인스턴스끼리 서로 통신을 할려면 길을 알아야만 통신을 할 수 있습니다. 예전에는 이 길을 물리 네트워크 장비가 모두 가지고 있었지만, SDN에서는 별도의 서버에서 모든 네트워크 정보를 가지고서 길을 알려줍니다. 이에 대표적인 것이 바로 OpenFlow 입니다. 그래서, OpenFlow에는 모든 인스턴스의 네트워크 정보를 가지고서 길을 알려주는 컨트롤러와 인스턴스별로 생성되는 가상 스위치가 존재하게 되는 것입니다. 

Neutron을 이용한 네트워크를 사용해야겠다고 생각을 하고 가상 스위치와 같은 것들을 열심히 설치했는데, 기존에 물리 스위치를 쓰던 Nova-network를 사용하게 되면 당연히 충돌이 발생하겠죠~!! 그래서, 오픈스택은 설치도 못해보고 어떻게 생긴것지 알수도 없을것입니다. 그래서, 오픈스택 메뉴얼에 두 가지 방식의 설치 방법이 나오는 것입니다. 작은 사무실에서 오픈스택을 아주 작게 사용할 계획이라면 서버도 많이 필요하고 네트워크 카드도 많이 필요한 Neutron을 사용할 이유가 없겠죠~!! 그런데, 문제는 정말 많은 인스턴스를 생성해야 하고 관리해야 하는 데이터센터와 같은 곳이라는 것입니다. 이런 곳에서는 기존의 nova-network Floating IP 범위로는 IP를 감당하기 힘들겠죠~~ 그래서, 데이터센터와 같은 곳에서 많은 네트워크 관리를 충족시키기 위해 SDN 개념이 들어간 Neutron을 사용하는 것입니다.

아래 그림은 Neutron 네트워크 타입 중 GRE로 오픈스택을 설치했을 경우의 네트워크 구성도입니다. nova-network와는 다르게 네트워크와 관련된 모든 소프트웨어들이 모두 가상으로 생성이 되어 에이전트로 동작을 합니다. 이 마저도 무슨 뜻인지 잘 모르시겠다 하시는 분들은 네트워크 공부를 별도로 하셔야 합니다. 이것마저 제가 여기서 설명드릴수는 없잖아요~!! ^^;

이렇게해서 nova-network와 neutron에 대해서 알아보았습니다.

좀 더 많은 그리고 좀 더 깊이있는 네트워크를 알고 싶다면 이번 2015년 2월 5일에 있을 "제2회 OpenStack Day in Korea 2015"에 참석해 보는건 어떨까요?

그럼, 모두들 즐거운 주말 되세요~~~~ 

Posted by 나리 짱!!! naleejang
OpenStack2014.11.13 00:09


요즘들어 OpenStack의 인기가 급상승하고 있다는 생각을 종종 하곤 합니다. 

OpenStack에 관심이 없던 회사도 오픈스택이 대체 뭐야? 뭐가 어떻길래 오픈스택~ 오픈스택~ 하는거야? 라는 반응을 보입니다. 오픈스택하면 거들떠보지도 않았던 VMWare와 시스코까지 오픈스택을 지원하겠다고 발표를 했습니다.

오픈스택은 무엇일까요? 오픈스택은 일종의 미들웨어와 같은 역할을 합니다. 운영체제와 시스템 사이에서 사용자에게는 자원을 할당해주고 운영체제 하단에서는 가상자원 및 물리자원을 관리하는 역할을 합니다.  

대부분의 사람들은 오픈스택이 가상자원을 지원하는 하이퍼바이저나 네트워크를 담당하는 가상 스위치, 데이터를 저장하기 위한 스토리지, 그 외에 데이터베이스 및 이미지를 모두 설치하고 관리해 준다고 생각합니다. 그래서 그 모든것들이 오픈스택이라고 생각합니다. 물론 오픈스택 설치 가이드를 보면 기본적인 것들을 설치하는 방법이 포함되어 있긴 하지만, 오픈스택의 범위에 들어가지는 않습니다. 

요즘 개발하는 대부분의 시스템들은 Open API라는 것을 제공하는데, Open API는 특정 자원을 열람해 보거나 사용하기 위한 기능을 API로 제공하고 있습니다. 아주 아주 예전에는 DB끼리 연동하여 자원을 가져다 썼지만 지금은 API를 오픈하여 파라메터만 넘겨주면 내가 원하는 데이터를 받아볼 수 있습니다. 

오픈스택의 모든 서비스들은 이렇게 API를 제공합니다. API를 이용해 자원을 확인할 수 있고, 확인된 자원의 상세정보를 확인할 수 있습니다. 또한 자원을 요청할 수도 있습니다. 거기에 사용자들이 쉽게 사용할 수 있도록 웹 UI까지 지원합니다.

그렇기 때문에 오픈스택을 기반으로 하는 소프트웨어를 자유자재로 개발할 수 있는것입니다.

또한 오픈스택은 Java에서 추상화 클래스 혹은 인터페이스와 비슷하다고 생각할 수 있습니다. 인터페이스에서 구현할 기능명을 명시해 놓고 실제 구현을 하는 부분에서는 그 어떤것이 와도 되는것처럼 오픈스택 역시 사용자에게 서비스되는 모습은 같지만, 실제로 서비스 되는 밑단에는 하나가 아닌 수많은 회사의 장비와 시스템이 와도 오픈스택을 사용할 수 있는것 처럼 말입니다. 

이런 개방 구조로 오픈스택을 설계하고 개발하였기 때문에 많은 회사들이 오픈스택에 관심을 갖기 시작했고, 오픈스택을 지원하기 시작했습니다. 오픈스택을 지원하는 회사들이 늘어나고, 오픈스택에서 지원하는 서비스의 수가 늘어나다 보니, 다양한 고객층의 요구사항을 충족할 수 있으며, 대형 벤더 회사들의 홍보 및 오픈소스 활동이 활발해 졌습니다.

아래 보이는 그림은 오픈스택 각각의 서비스에 지원되는 드라이버를 한눈에 볼 수 있도록 그림으로 표현해 본 것입니다. Neutron 같은 경우에는 SDN 개념이 들어오면서 SDN을 지원하는 네트워크 장비를 비롯해 다양한 컨트롤러들이 등장하기 시작했습니다. 스토리지 같은 경우에는 스토리지를 생산하는 대부분의 업체들이 오픈스택과 연동될 수 있도록 스토리지 API를 제공합니다. Nova도 여러 하이퍼바이저를 지원합니다. 오브젝트 스토리지 서비스인 Swift는 어떤가요? 단독으로 구성될 수 있으며, AWS의 S3 API와 연동도 됩니다. Swift API는 그대로 사용하되 밑단의 스토리지 부분은 다른 스토리지를 사용할 수도 있습니다. Keystone은 또 어떤가요? 사용자 정보를 관리하고 위한 MySql을 사용하는데, 보안성을 높이기 위하여 LDAP도 사용할 수 있습니다. 게다가 근래에는 빅데이터의 핵심 기술인 Hadoop과 mongoDB까지 흡수를 하였습니다.

오픈스택은 이런 수많은 장점들 때문에 많은 회사에서 지원하고 있으며, 활용 사례 또한 증가하고 있습니다. 사례가 많다는 뜻은 오픈스택이 이제 어느정도 안정이 되었다는 의미이기도 합니다. 처음에는 불안정하여 사용하기 힘들었으나, 계속되는 업데이트 과정을 통해 매우 비교적 안정이 되어 현재는 Private 클라우드 시스템은 물론 Public 클라우드 시스템으로도 손색이 없을 정도 입니다.

또한 오픈스택의 가장 큰 인기비결은 바로 오픈스택이 오픈소스라는 점입니다. 그래서 누구나 소스를 가져다 사용할 수 있으며, 누구나 참여해 개발을 할 수 있다는 점입니다. 이렇게 큰 시스템을 혼자서 개발해야 한다고 상상을 해 봅시다. 개발 기간도 기간이지만, 기술력이며 개발인원까지 정말 어마어마하여 엄두가 나질 않습니다. 그런데 오픈소스이기에 이미 대부분의 서비스가 개발이 되어 있기 때문에 이를 활용해서 다른 서비스를 추가 개발할 수 있다는 점입니다. 

그렇기 때문에 OpenStack이 떠오르는 이유가 아닐까? 하고 조심스럽게 생각해 봅니다.

Posted by 나리 짱!!! naleejang
OpenStack2014.06.25 16:19


오픈스택이 올해로 4주년을 맞이하였습니다. 

그래서, 오픈스택 한국 커뮤니티에서도 4주년 기념 파티를 계획하였습니다.

지난 2월에 개최했던 "OpenStack Day in Korea" 처럼 많은 분들이 참여하여 함께 즐기고 시원한 맥주도 마시고, 푸짐한 경품도 받아가셨으면 좋겠습니다. 

4th OpenStack Birthday Party 참여 신청 -->

후원사를 모집합니다. 

함께 세션에 참여하고, 경품 및 당일 파티 비용을 함께 부담해 주실 후원사님께서는 언제든지 연락 부탁드립니다. 

Posted by 나리 짱!!! naleejang