OpenStack2013.12.09 13:05

그동안 모두들~~~ 안녕하셨죠?

어느새 2013년이 다 지나가고, 12월도 얼마 남지 않았습니다. 어떻게 연초에 계획했던 일들은 다들 잘 이루셨나요? 모두들 소원하는 것들을 이루셨으리라 믿습니다. 



저는 이번에 그동안 활동해 왔던 "Openstack 한국 커뮤니티"의 새로운 대표가 되었습니다. 

오픈스택을 처음 만났을 때가 2011년 9월이였고, 그때의 오픈스택 버전은 막 Diablo 가 릴리즈 되었을 무렵이였습니다. 제가 처음으로 맡았던 건 Object Storage였던 Swift 였고, Swift를 설치하면서 경험했던 삽질들을 메뉴얼화 하여 오프스택 한국 커뮤니티 홈페이지에 공개를 했던 기억이 납니다. 그리고, 그때 처음으로 Daum에서 개최한 Devon에 커뮤니티 부스로 참여를 했었습니다. 오픈소스~ 클라우드~ 시스템~ 네트워크~ 처음에는 전부 다 생소하고, 어렵기만 했는데, 하나씩 하나씩 매일 매일 들여다 보고, 테스트하고, 설치를 밥먹듯이 하니, 조금씩 조금씩 하나씩 하나씩 알아가는 것이 너무 너무 재미있기만 했었습니다. 지금도 물론 그렇구요~~~ 그리고, 가장 즐거웠던 건 커뮤니티를 통해 사람들을 만나고, 내가 모르는 것들을 그들을 통해 배우고, 내가 알고 있는 것들을 다른 이들에게 나눠줄 수 있다는 것이였습니다. 


요즘 들어 "오픈스택"에 대한 사람들의 관심도가 높아지고 있습니다. 

하루에 페이스북 오프스택 그룹에 가입하는 신입 회원들의 수가 늘고 있습니다. 

처음 오픈스택을 시작했을 때보다 "오픈스택"을 하는 회사들이 점점 늘고 있습니다.

3개의 프로젝트로 시작한 오픈스택이 이제는 무려 10개의 프로젝트로 늘어났습니다.

오픈소스 클라우드 플랫폼인 오픈스택에 관심을 보이고, 사랑해 주는 사람들이 늘고, 회사가 늘고 있습니다.


재미난 것 내가 좋아하는 것을 할때는 눈에서 불꽃이 일고, 심장이 터질듯이 띈다고 하죠~!!

그만큼 열정을 다해 오픈스택 한국 커뮤니티를 이끌어 나가겠습니다. 

지켜봐 주시고, 관심 가져주시고, 아낌없는 응원과 후원, 그리고 참여 부탁드립니다.


2013년 12월의 어느날~~



오픈스택 공식 홈페이지 : http://www.openstack.org

한국 커뮤니티 홈페이지 : http://www.openstack.or.kr

페이스북 그룹 : https://www.facebook.com/groups/openstack.kr/

Posted by 나리 짱!!! naleejang
OpenStack2013.07.24 17:32

오랜만에 다시 OpenStack을 설치하고 운영을 할 수 있는 기회가 저에게 다시 돌아왔습니다.

그리하여 새로운 마음으로 우선 VM에 Devstack을 이용하여 Openstack을 설치를 했습니다. 그리고, 이것 저것 실험도 하고, 명령어는 어떤 것들이 있는지 확인하기 위해 SSH 쉘 창에서 명령어를 입력하는 순간 아래와 같은 메시지를 만났습니다. 순간, 일전에 어느분이 이런 질문을 남긴 걸 본 기억이 나서 다음에는 잊어버리지 말자!! 하는 생각으로 몇 자 적어봅니다.





DevStack으로 오픈스택을 설치한 후 CLI 명령어를 실행할 때 다음과 같은 인증 정보를 입력하라는 메시지를 만날 수 있다.

 stack@ubuntu:~/devstack$ keystone tenant-list

 You must provide a username via either --os-username or env[OS_USERNAME]



이럴땐 인증 정보를 입력해 주기만 하면 된다. 우선, vi 에디터를 열어 다음과 같이 입력한 후 저장하고 빠져 나온다.

 stack@ubuntu:~$  vi userInfo


 export OS_USERNAME=admin

 export OS_PASSWORD=openstack

 export OS_AUTH_URL=http://192.168.0.37:5000/v2.0

 export OS_TENANT_NAME=admin

 

 :wq



그리고 입력한 정보는 source를 이용하여 현재 터미널에 적용시킨다.

stack@ubuntu:~$ source userInfo 



이제 한번 명령어를 입력해 보자. 이제는 잘 실행이 될 것이다.

stack@ubuntu:~$ keystone tenant-list

+----------------------------------+--------------------+---------+

|                id                                |            name           | enabled |

+----------------------------------+--------------------+---------+

| 4aa34116defb4e4d9c2dadf1e376745b |       admin              |   True  |

| 41a139d9e39c4c56b07cdbea6ae27dfa |      alt_demo          |   True  |

| 1afbf6b04179463886ddb5c25f45c9ea   |        demo              |   True  |

| a64d919a434b4ac0a4d92c19cbf0151a | invisible_to_admin   |   True  |

| 500af432c95549f7a42262a222035c4e   |      service             |   True  |

+----------------------------------+--------------------+---------+



명령어도 많이 바뀌고, UI도 바뀌고, 프로젝트 모듈명도 바뀌고, 바뀐 부분이 상당히 많이 보이네요~!! 

이런 자료들도 조만간 정리해서 곧 올려드릴께요~!!  

Posted by 나리 짱!!! naleejang
OpenStack2013.07.23 15:30

오랜만에 Openstack과 관련된 글을 쓰는 것 같습니다. 

사실 그동안 프로젝트 하느라 openstack을 들여다 볼 시간적 여유가 없었거든요~!! 

얼마전에 오픈스택 3주년 기념 세미나 때 오픈스택 아키텍쳐를 최초에 설계한 Ken Pepple 이 과거 오픈스택이 처음 탄생했을 때의 아주 단순했던 아키텍쳐부터 지금까지의 아키텍쳐 변화를 그림과 함께 설명을 했었습니다. 


사실 요즘 오프스택 아키텍쳐를 보면 눈에 잘 들어오지 않습니다. 너무 커서~~~ 말입니다. 그래서 오늘은 그 아키텍쳐를 한번 부분별로 살펴 볼까 합니다. 그러면 더 눈에 잘 보이지 않을까요?



Conceptual Architecture

아래 그림은 개념적으로 설계한 Conceptual Architecture 이다. 기본 3개의 프로젝트에 4개의 추가 프로젝트로 구성되어 있다. 단 이번 Grizzly 버전을 업그레이드하면서 Network Service인 Quantum 프로젝트가 Neutron 으로 이름이 변경이 되었다.


Logical Architecture

정말 복잡한 그래서 눈에 잘 들어오지 않는 논리적으로 설계한 Logical Architecture이다. 오늘은 이 복잡한 아키텍처를 프로젝트별로 나누어서 살펴보고자 한다.


Compute

아래 그림은 논리 설계도 중 Compute 서비스에 해당하는 Nova 프로젝트에 대한 아키텍쳐이다. 구조를 살펴보면, Queue 중심으로 nova-api, nova-compute, nova-consoleauth, nova-scheduler, nova-conductor, nova-cert 가 메시지를 서로 주고 받을 수 있도록 설계되어 있으며, hypervisor는 libvirt나 XenApi를 통해 nova-compute와 연동이 되어 있다. 


Object Store

오브젝트 스토리지 서비스를 제공하는 Swift는 의외로 간단하다. Swift 별도로 구성을 했을 경우에는 오브젝트 스토리지로 Compute 서비스와 연동해서는 Glance 이미지의 이미지 백업 스토리지로 사용할 수 있다. Swift는 Proxy를 중심으로 account, container, object 가 존재한다.

Image Store

이미지 서비스를 제공하는 Glance는 glance.conf 파일에서 설정해 둔 Glance 스토리지에 Image 파일을 등록 및 수정, 삭제 등의 관리를 담당한다. 이전 Folsom 버전까지만 해서 이미지 파일을 등록하기 위해서는 CLI Command 를 이용해야만 했었는데 지금은 Dashboard에서 UI로 관리가 가능해 졌다.

Network

네트워크 서비스를 위해 별도로 분리된 Quantum 프로젝트는 Grizzly를 업데이트 하는 과정에서 Neutron 이라는 이름으로 그 명칭이 변경이 되었다. Neutron에는 Server, agent, plugins으로 구성되어 있으며, 기본 네트워크는 openvswitch로 되어 있다. 사용 가능한 플러그인은 Big switch networks의 Floodlight(http://www.bigswitch.com/products/open-source-projects), cisco의 ncclient, linuxbridge, ml2(Modular layer 2), NEC OpenFlow, Nicira NVP, ryu, PLUMgrid(http://plumgrid.com/solutions/openstack/) 와 같은 것들이 있다.

Block Storage

블록 스토리지는 컴퓨터 서버에 디바이스처럼 추가하여 사용할 수 있는 스토리지로 cinder-volume, cinder-backup, database, volume provider, cinder-scheduler 가 존재한다. 이전에는 Nova-Volume이 이 기능을 대신하였으나, Cinder라는 별도 프로젝트로 분리하여 현재는 cinder가 블록 스토리지를 관리하고 있다. 기본적으로는 LVM을 생성하여 cinder-volume으로 사용하나 이 외에도 다음과 같은 스토리지 서비스를 대신할 수 있다. 
IBM (Xiv, Storwize and SVC), SolidFire, Scality, Coraid appliances, RADOS block storage (Ceph), Sheepdog, NetApp, Windows Server 2012 iSCSI, HP (Lefthand and 3PAR), Nexenta appliances, Huawei (T series and Dorado storage systems), Zadara VPSA, Red Hat’s GlusterFS, EMC (VNX and VMAX arrays), Xen and linux iSCSI.

Identity

인증 서비스를 담당하고 있는 Keystone은 오픈스택의 모든 서비스들의 인증을 담당하며, 테넌트, 사용자, 인증 토큰, End Point URL, LDAP 등을 관리한다. Flosom 버전에서는 서비스들의 권한만 생성하면 되었지만, Grizzly로 와서는 사용자 권한 및 Role, 인증 토큰, 인증키까지도 관리되도록 업그레이드 되었다.

Dashboard

Dashboard 서비스를 담당하는 Horizon~!! 사용자들이 오픈스택을 쉽게 사용할 수 있도록 지원해 주는 가장 가까운 곳에서 사용들을 만나는 UI 서비스이다. Horizon 서비는 날이 가면 갈수록 점점 더 버전이 업그레이드 되고 있다. 오픈스택의 각 프로젝트에서 제공하는 API를 이용하여 Dashboard를 구현하였으며, Apache2 서버에 Python 장고 프레임웍을 사용한다.


Posted by 나리 짱!!! naleejang
OpenStack2013.07.19 00:39

안녕하세요~!! 


2013년 7월 18일 오픈스택 한국 커뮤니티에서 오픈스택 탄생 3주년을 기념하는 행사가 있었습니다. 

그 행사에서 발표한 "오픈스택~!! 이틀이면 할 수 있다! 시즌2" 를 오픈스택 한국 커뮤니티 회원분들과 공유하고자 합니다.

발표자료가 거의 대부분이 그림이여서 지난번 아름다운 개발자 세미나 때처럼 간단한 발표요약도 함께 해 보았습니다. 



오픈스택 3주년을 기념하는 세미나에서 어떤 이야기를 하면 좋을까? 하고 고민하다가 오픈스택 이야기를 하는게 좋을것 같다는 생각을 했다. 오픈스택은 클라우드이니까 오픈스택을 이야기하기 전에 클라우드 이야기를 살짝 하고, 오픈스택 이야기 그리고, 클라우드의 핵심인 하이퍼 바이저 이야기를 하면 좋을 것 같다는 생각을 했다. 


내가 경험한 것을 위주로 일반사람들이 알고 있는 클라우드는 어떤 것이며, 우리.. 오픈스택 커뮤니티 회원이라면 알아야 할 클라우드와는 어떻게 다른지를 비교해 보았다. 그리고, 그 중에서도 오픈 소스형 클라우드 플랫폼은 어떤 것들이 있는지를 알아보았으며, 오픈 소스 클라우드 커뮤니티 간의 인기 순위도 알아보았다. 인기순위를 알아보면서 확실히 오픈스택이 많이 알려졌구나~!! 인기가 정말 좋구나~!! 라는 생각을 많이 하게 되었다.


오픈스택은 2010년 6월 나사와 랙스페이스가 손을 잡고 아파치 2.0 라이센스로 오픈한 오픈 소스형 클라우드 플랫폼이다. 현재 7번의 릴리즈를 거쳤으며, 지난 4월에 릴리즈 한 버전이 Openstack Grizzly이다. 다음번 릴리즈는 올 10월에 있을 예정이며, 이름은 Openstack Havana이다. 


현재 오픈스택커뮤니티가 있는 국가는  87개이며, 1만명이 넘는 사용자들이 오픈스택을 사용하고 있고, 공부하고, 커뮤니티를 이끌어나가고 있다. 


오픈스택은 컴퓨트 서비스인 Nova, 이미지 서비스인 Glance, 오브젝트 스토리지 서비스인 Swift 이렇게 세가지의 기본 서비스에 인증은 위한 Keystone, 블록스토리지 관리를 위한 Cinder, 네트워크를 위한 Quantum, 사용자 UI인 Horizon 이렇게 크게 7가지 서비스로 이루어져 있다. 


설치하는 방법은 몇가지가 되는데, 초보자들도 따라하기 쉬운 Devstack을 이용한 설치, 표준 버전을 설치하기 위한 매뉴얼 방식 이렇게 두가지가 있으며, Devstack 같은 경우에는 현재 계속 업데이트 되고 있기 때문에 단지 스터디용 혹은 테스트용이 적당하며, 설치할때마다 매번 소스가 업데이트되어 설치가 잘 되는 경우도 있고, 그렇지 않은 경우도 매우 많다. 그러나 매뉴얼 방식의 패키지 형태로 설치를 하게 되면 안정적이고, 서버가 재부팅되어도 프로세스가 다시 재시작된다는 점이 Devstack과는 다른 점이다. 


클라우드의 핵심~!! 하이퍼 바이저 같은 경우에는 우선 먼저 정의부터 알아보았다. 

하이퍼 바이저는 한 호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위한 논리 플랫폼으로 Native와 Hosted 형태로 나뉠 수 있다. Native는 하드웨어에 바로 하이퍼 바이저를 설치하여 게스트 OS를 생성하는 반면 Hosted는 이미 설치되어 있는 운영체제 위에 프로그램처럼 하이퍼바이저를 설치하고 그 위에 게스트 OS를 생성하는 방법이다.


Native 하이퍼 바이저의 종류로는 크게 Xen, Ctrix의 XenServer, KVM, Hyper-V, VMWare ESX server 등이 있으며, Hosted 방식은 우리가 많이 쓰는 오라클사의 Virtualbox, 패러럴사의 Workstation, Desktop, Qemu, VMWare의 Workstation과 Fusion 등이 있다. 


그럼, 오픈소스 클라우드 플랫폼들은 어떤 하이퍼 바이저를 지원할까? 대표적으로 오픈스택 경우에는 Xen, KVM, Qemu를 지원하고 있었으며, 클라우드 스택 같은 경우에는 KVM, Xen, Vmware 를 지원하고 있었다. 오픈네블라 역시 KVM, Xen, Vmware 그리고 Hyper-V를 지원하고 있었으며, 유칼립투스 같은 경우도 KVM, Xen, Vmware를 지원하고 있었다.


그리고 이런 하이퍼 바이저 들이 지원하고 있는 이미지 포맷과 설명 또한 함께 찾아보았다.


내가 오픈스택을 처음 만난 건 2010년 9월이였다. 그리고 오픈스택이 탄생한 건 2010년 6월이였다. 나는 오픈스택을 만난 이래로 오픈스택과 울고 웃고, 밤을 지새고, 주말을 함께 보내며, 오픈스택 때문에 좋은 사람들을 만나고, 오픈스택 때문에 발전하고 공부한다.  내가 처음 오픈스택을 접했을때는 그게 뭐야? 하고 물어보는 사람들이 많았는데 이제는 나를 알아주고 오픈스택을 알아주는 사람들이 늘어나고 있다. 오픈스택의 발전과 많은 사람들이 오픈소스형 프로젝트인 오픈스택을 알아주고, 사용하고 활용하는 그날이 오길 기대해 본다.


Posted by 나리 짱!!! naleejang
Life2013.02.08 12:16

그동안 일하면서 스크랩했던 즐겨찾기를 한번 정리해 보았다. 무슨일을 했는지 왜 정보들을 찾았는지가 한 눈에 보인다.

물론 스크랩 해 놓고 한번도 들어가지 않은 사이트도 많았고, 없어진 사이트도 있었다. 봐도 뭐가뭔지 잘 모르겠는것도 있고, 기억이 안나는 정보들도 있다. 왜 진작에 이렇게 정리해 두지 않았을까? 하는 생각이 듬과 동시에,... 잘 했다 라는 생각도 든다.


[ 영어 ]

영어 중독 토크리시

http://talklish.whoru2.com/main/

경기도 평생학습 e-배움터

http://www.homelearn.go.kr/front/home/MainAction.do?method=index

Daum 어학사전

http://small.dic.daum.net/index.do?dic=eng

이근철의 굿모닝 팝스

http://www.podbbang.com/ch/126

Articles in Easy

http://www.english-online.at/index.htm



[ 공개소프트웨어 공식 홈페이지 ]

공개 소프트웨어 포털  

http://www.oss.kr/oss_main

한국공개소프트웨어협회

http://www.kossa.kr/

정보통신산업진흥원

http://www.nipa.kr/main.it



[ Ajax & JQuery 차트 ]

Charts - YUI Library                         

http://yuilibrary.com/yui/docs/charts/

SIMILE Widgets | Timeplot                 

http://www.simile-widgets.org/timeplot/

Google Chart Tools                 

http://code.google.com/intl/ko-KR/apis/chart/interactive/docs/index.html

flot                   

http://code.google.com/p/flot/

jqPlot Charts and Graphs for jQuery

http://www.jqplot.com/

jQuery Sparklines

http://omnipotent.net/jquery.sparkline/

jQuery

http://jquery.com/



[ 오픈스택 ]

Swauth ? Swauth v1.0.7.dev documentation

http://gholt.github.com/swauth/dev/

Openstack: 1. XCP install & configuration

http://hyper-choi.blogspot.com/2012/03/openstack-xcp-install-configuration.html?spref=fb

Keystone and Swift wi... - hpcloud

http://h30529.www3.hp.com/t5/HP-Scaling-the-Cloud-Blog/The-Road-to-Essex-Part-1-Keystone-and-Swift-with-Keystone/ba-p/411

Multi-Node Lab Server Guide - DevStack

http://devstack.org/guides/multinode-lab.html

OpenStack Folsom Quantum Devstack Installation Tutorial 

http://networkstatic.net/openstack-folsom-quantum-devstack-installation-tutorial/

RYU Openstack Folsom environment HOWTO · osrg/ryu Wiki

https://github.com/osrg/ryu/wiki/RYU-Openstack-Folsom-environment-HOWTO

Swauth API ? Swauth 1.0.6 documentation

http://gholt.github.com/swauth/1.0.6/api.html

nova: Main Page - doxygen documentation | Fossies Dox

http://fossies.org/dox/nova-2012.2.3/index.html

swift: Main Page - doxygen documentation | Fossies Dox

http://fossies.org/dox/swift-1.7.6/

glance: Main Page - doxygen documentation | Fossies Dox    

http://fossies.org/dox/glance-2012.2.3/

Welcome to Keystone, the OpenStack Identity Service!

http://docs.openstack.org/developer/keystone/index.html

Configuring Services to work with Keystone

http://docs.openstack.org/developer/keystone/configuringservices.html

Using Migration-OpenStack Compute Administration Manual 

http://docs.openstack.org/trunk/openstack-compute/admin/content/live-migration-usage.html

Building a Windows Image for OpenStack

http://networkstatic.net/building-a-windows-image-for-openstack/

Porting Windows to OpenStack  

http://poolsidemenace.wordpress.com/2011/06/16/porting-windows-to-openstack/



[ 파이썬 ]

복군 : 파이썬 개발환경         

http://anster.egloos.com/2170490

"""파이썬 문서고"""         

http://coreapython.hosting.paran.com/pygnudoc.html

Django         

http://pydev.org/manual_adv_django.html

날로 먹는 Django 웹 프로그래밍

http://wikidocs.net/read/829

왕초보를 위한 Python 2.7

http://wikidocs.net/read/book/136



[ 리눅스 & 우분투 ]

리눅스(Ubuntu) 콘솔 명령어 정리

http://blog.naver.com/redfreek2c?Redirect=Log&logNo=120107511690

[Ubuntu 10.04 LTS] 하드웨어를 확인하는 명령어

http://blog.simplism.kr/?p=1778

Check Disk Space Usage on Ubuntu

http://www.debianadmin.com/check-disk-space-usage-on-ubuntu.html

리눅스 find 명령어 사용법

http://privileged.tistory.com/305

Useful Commands in Ubuntu | Linux Poison

http://linuxpoison.blogspot.kr/2008/10/useful-commands-in-ubuntu.html

강좌와 팁 - Ubuntu에 JDK 설치하기

http://forum.falinux.com/zbxe/?document_srl=574845

How to install VNC server on Ubuntu Server 12.04

http://rbgeek.wordpress.com/2012/06/25/how-to-install-vnc-server-on-ubuntu-server-12-04/

우분투 데스크톱 11.04에 한글환경 설치

http://skcha.tistory.com/196

Linux RAID, LVM - 윈디하나의 솔라나라

http://www.solanara.net/solanara/lvm

Zzang's Story :: RAID 종류              

http://love-zzang.tistory.com/35



[  빅데이터 & 하둡 ]

MapReduce Patterns, Algorithms, and Use Cases

http://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/

빅데이터

http://www.bicdata.com/

하둡(Hadoop) 초 간단 설치! - StandAlone 방식

http://crazia.tistory.com/742

Running Hadoop On Ubuntu Linux (Single-Node)

http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/#conf-site-xml

Hadoop Shell Commands

http://hadoop.apache.org/common/docs/r0.17.2/hdfs_shell.html

Hadoop Linux(Ubuntu) Server     

http://blog.naver.com/PostView.nhn?blogId=junsu60&logNo=80167823279

Query Mongo: MySQL to Mongo Query Translator

http://www.querymongo.com/

TadpoleForDBTools

https://github.com/hangum/TadpoleForDBTools/tree/master/com.hangum.tadpole.mongodb.core/src_test/com/hangum/tadpole/mongodb/core/test



[ Chef ]

Simple Steps to Install Chef on Ubuntu 12.04                      

 http://generalthings.com/2012/05/08/simple-steps-install-chef-ubuntu-12-04-10-04/

Install Chef Server/Client on CentOS 5.4 x86_64(폐기)

http://call518.tistory.com/39

About Opscode Chef - Chef - Opscode Open Source Wiki  

http://wiki.opscode.com/display/chef/About+Opscode+Chef

Chef - Woosum wiki

http://wiki.woosum.net/Chef#fast_start_cookbook


[ GitLabHQ ]

하이브레인넷 부설연구소 ::

http://blog.hibrainapps.net/category/%EC%84%9C%EB%B2%84

gitlabhq/gitolite · GitHub

https://github.com/gitlabhq/gitolite

Installing Ruby 1.9.3 on Ubuntu 12.04  

http://lenni.info/blog/2012/05/installing-ruby-1-9-3-on-ubuntu-12-04-precise-pengolin/

gitlabhq/doc/install/installation.md

https://github.com/gitlabhq/gitlabhq/blob/stable/doc/install/installation.md



[ Cloud ]

crowbar/crowbar - GitHub 

https://github.com/crowbar/crowbar

VirtualBox 

https://www.virtualbox.org/

Apache Cloudstack 

http://docs.cloud.com/CloudStack_Documentation/Design_Documents/Object_Storage_(swift)_Functional_Spec

퍼스널 클라우드 컴퓨팅’이 다가온다

http://www.bloter.net/archives/32840

클라우드 컴퓨팅 시스템 아키텍처

http://charsyam.wordpress.com/2012/07/31/%EB%B0%9C-%EB%B2%88%EC%97%AD-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EC%BB%B4%ED%93%A8%ED%8C%85-%EC%8B%9C%EC%8A%A4%ED%85%9C-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98-%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8/

Cloud - eBuntu 

http://wiki.ebuntu.co.kr/mediawiki/index.php/Cloud

antirez/redis · GitHub 

https://github.com/antirez/redis

A Cloud.com CloudStack Demo 

https://www.youtube.com/watch?v=JfMd5eNnJLo

NIPA2011 - YouTube 

https://www.youtube.com/watch?v=sKN0s2hWu6o

아마존(AWS)이 ELB 에 고정 공인IP 를 제공하지 않는 이유? 

http://blog.daum.net/kth_cloud_plan/3

라디스 소스를 분석해보자

http://dol9.tistory.com/188


[ 트랜드 & 동향 ]

:: DIGIECO ::

http://www.digieco.co.kr/KTFront/report/report_issue_trend_list.action?board_id=issue_trend&kind=a01

LG경제연구원에 오신 것을 환영합니다. 

http://www.lgeri.com/industry/electronic/listWebzine.asp?grouping=01030200

Web2.0도 모르는데 Web3.0?

http://www.webactually.co.kr/archives/1580

웹 3.0 ~ Everything Everywhere Allways

http://www.xpressengine.com/20003180

N-Screen의 성공비결:기술을 숨겨라!

http://jeremy68.tistory.com/285

기술이야기 ≪ IT의 중심에서

http://subokim.wordpress.com/category/%EA%B8%B0%EC%88%A0%EC%9D%B4%EC%95%BC%EA%B8%B0/


[ 프로그래밍 ]

Learn REST:

http://rest.elkstein.org/

Examples from Java Network Programming

http://www.cafeaulait.org/books/jnp/javanetexamples/index.html

Script 메모리 누수에 대한 TIP

http://juin100.blogspot.com/2010/03/%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-script-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EB%88%84%EC%88%98%EC%97%90-%EB%8C%80%ED%95%9C-tip.html

PuTTY Download Page

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

JavaScript - Popups

http://www.quirksmode.org/js/popup.html

Spring3 파일 업로드 (File Upload)

http://blog.naver.com/PostView.nhn?blogId=tyboss&logNo=70122469149

File Upload Example Using Spring

http://javakart.blogspot.kr/2012/12/file-upload-example-using-spring.html

루비 : 프로그래머의 단짝 친구

http://www.ruby-lang.org/ko/



[ 디자인 ]

App Widget Design Guidelines

http://developer.android.com/guide/practices/ui_guidelines/widget_design.html

Mockups To Go - All Projects  

https://mockupstogo.mybalsamiq.com/projects

Search icons with iconlet  

http://www.iconlet.com/

Icon Search Engine | Iconfinder

http://www.iconfinder.com/



[ 블로그 ]

Joinc Wiki: libpcap을 이용한 프로그래밍

http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Network_Programing/AdvancedComm/pcap_intro

주열씨의 징검다리 건너기... ::

http://wildginseng.tistory.com/

Your wish is my command

http://blog.woosum.net

워드프레스 설치 준비하기

http://ssamture.net/archives/2199

워드프레스 설치하기

http://ssamture.net/archives/2189


[ 기타 ]

맥 osx 하드디스크 속도 측정하기

http://hiswings.blogspot.com/2011/09/osx-hdd-speed-test.html

KB MB GB TB PB 환산 Convert

http://mwultong.blogspot.com/2008/01/kb-mb-gb-tb-pb-convert.html

데이터 전송속도 계산기 Calculator

http://mwultong.blogspot.com/2008/01/bps-kbps-mbps-gbps-tbps-calculator.html

Hue Tarball Installation Guide

http://archive.cloudera.com/cdh/3/hue/manual.html#_install_hadoop_from_cdh3

검색 엔진의 원리 1: 랭킹 기술

http://markov.tistory.com/6

검색엔진의 원리와 Lucene

http://blog.daum.net/_blog/BlogTypeView.do?blogid=0MSQg&articleno=7533010&categoryId=753232&regdt=20120308182729#ajax_history_home

Trello

https://trello.com/

DHCP Protocol Basic Operation

http://www.netmanias.com/bbs/view.php?id=blogforum_networkprotocol&page=4&sn1=&divpage=1&sa=off&sn=off&ss=on&sc=on&page=4&select_arrange=headnum&desc=asc&no=227

Ganalia 설치 및 설정

http://blog.naver.com/badugizzang/60043509944

ganglia_quick_start ? ganglia

http://sourceforge.net/apps/trac/ganglia/wiki/ganglia_quick_start

성능 측정시 성능 모니터링 카운터

http://blog.naver.com/PostView.nhn?blogId=blastnam&logNo=50116728370

이클립스 기반 자바 분석 툴

http://stan4j.com/

Posted by 나리 짱!!! naleejang
OpenStack2013.01.11 17:46

2011 9! 나는 Openstack이라고 하는 오픈 소스 클라우드 프로젝트를 만났다. 그때 막 대두가 되고 있는 것들이 빅데이터, 클라우드, 가상화 라고 불리는 것들이고, 그때 접한 것이 바로 Openstack이였다. 내가 Openstack을 처음 만났을 때는 프로젝트가 시작 된지 얼마 되지 않았을 때였고, 그 누구도 OpenStack을 어떻게 설치하고, 어떻게 사용하면 되는지에 대한 방법을 제대로 알고 있는 사람이 얼마 되지 않았었다. 그때 도전한 것이 바로 Openstack Swift였다. Swift Amazon S3와 같은 개념을 가지고 있는 Object Storage이다. 기존에는 물론 Web Hard라고 하는 것이 존재를 하고 있었지만, 그것은 단지 데이터를 업로드하고 다운로드 할 수 있는 아주 단순한 기능만을 제공하고 있는 반면에 Object Storage OpenStack SwiftOpenStack Nova의 이미지 자료를 백업할 수 있는 백업용으로, 사용자들에게 웹 하드처럼 데이터를 저장하고 다운로드 받을 수 있는 공간으로 사용할 수 있게끔 누구나 시스템을 설치하고, 운영할 수 있는 방법을 제공하는 것이 바로 Openstack Swift였던 것이다.


나를 알고, 적을 알면 백전백승이다라는 옛말이 있다. Openstack을 알아야 어디에 어떻게 활용을 하고, Amazon을 알아야 우리 회사에 필요한 클라우드 시스템이 어떤 것인지를 알 수가 있는 것이다. 그럼, 지금부터 잠시 Openstack에 대해 알아보도록 하자.


Openstack 3가지 기본 서비스와 기본 서비스를 Supporting 해주는 4가지 부가 서비스들로 이루어져 있다.

-      기본서비스

n  Cloud Compute Service : Nova

n  Object Storage Service : Swift

n  Cloud Image Service : Glance

-      부가서비스

n  Identity Service : Keystone

n  Network Service : Quantum

n  Blocked Storage Service : Cinder

n  Dashboard Service : Horizon


Openstack은 위의 7가지 서비스들이 유기적으로 결합되어 하나의 서비스를 제공해 준다. 아래의 Conceptual Architecture 처럼 말이다.



처음에는 단지 Compute, Image, Object Storage 라는 3가지 기본 서비스만으로 시작한 프로젝트가 지금은 무려 7개의 프로젝트가 되었고, NASA Rackspace로 시작된 본 프로젝트는 지금 87개의 나라에 약 6695명의 사람들로 커뮤니티가 형성이 되어 있으며, 공식으로 Support하는 업체만 해도 무려 34개나 된다. 뿐만 아니라, 지난 9 19에는 Rackspace를 떠나 Openstack Foundation 이 출범되었다. 이때 물론 오픈스택 한국 커뮤니티에서도 이를 축하하는 축하의 자리도 마련했었다.



스마트 폰 시장에는 애플의 iPhone과 애플에 맞서는 구글의 Android Phone으로 나뉘어져 있다. Openstack Amazon이라고 하는 iPhone과 같은 것에 대항하는 Android 같은 Open Source라는 점에 주목을 해야 한다. 왜 많은 기업들은 앞 다투어 오픈스택을 지지하고 Supporting하는 걸까? 그것은 바로 가격! 돈이다. 상용서비스는 편하다. 하지만, 장기적으로 상용 서비스를 사용하게 되면 많은 돈이 지출된다. 사람들은 어떻게 하면 돈을 쓰지 않고 클라우드 서비스를 사용할 수 있을까? 의 해결책이 바로 Openstack이 되는 것이다. 그래서, 많은 나라에서 많은 기업들이 Openstack에 관심을 갖고, Openstack을 중심으로 한 다양한 Applications을 개발하며, 이와 관련한 Business가 활발하게 전개되고 있는 것이다. 그러면, 대한민국은 어떨까?



가장 대표적인 Case로 지난 201110KT에서는 Openstack Swift을 기반으로 한 UCloud의 스토리지 서비스를 상용화에 성공하였다. 그에 이어 2012 7월에는 ixcloud에서 Openstack을 기반으로 한 Compute 서비스를 상용화하였다. 뿐만 아니라, 여러 국책과제로 OpenStack이 지정이 되어, 시스템을 구축하고, 운영 중에 있으며, 일반 기업 내에서도 Open Source Project Openstack Private Cloud로 구축하여 운영하고 있다. 뿐만 아니라, 대용량의 스토리지 서비스를 제공하려고 하는 기업에서도 Openstack Swift 라는 Object Storage Service의 기술을 검증하고 안정화 테스트를 계속해서 진행하고 있다. 대학이나 연구소에서는 어떨까? 일부 대학에서는 클라우드를 배우는 과목이 생기고, Based System으로 Openstack을 구축하며, 연구소에서는 다양한 연구용으로 그 Based System OpenStack으로 구축한다. 대용량의 데이터를 보관해야 하는 병원에서는 Openstack Swift를 구축하여 스토리지로 활용하기도 한다. 지금 대한민국의 여러 분야에서 Open Cloud Openstack을 사용하려고 시도하는 곳이 늘어나고 있는 추세이다.


또한 Openstack은 매번 그 기능을 향상시켜 Version Up이 되고 있고, 새로운 기능이 추가될 때마다 새로운 업체들이 Openstack Join하여 Openstack의 가치를 부각시키고 있다. 얼마 전에 가상화 하면 떠오르는 가장 대표적인 업체 Vmware OpenStack Join을 하였고, 대부분의 대형 Vendor 업체들이 Openstack에 가담하고 있다.


Openstack! Android가 스마트 폰 시장의 절반을 가져 갔듯이 Cloud 시장의 절반은 Openstack이 될 것이며, 그 시장의 가치는 아마도 무궁무진할 것이다.

 

참조 URL :

http://wiki.openstack.org/Quantum

http://www.itworld.co.kr/news/77892

http://www.openstack.org/foundation/

http://www.wired.com/wiredenterprise/2012/08/vmware_openstack/

http://www.networkworld.com/news/2012/110512-rightscale-openstack-263969.html

http://docs.openstack.org/trunk/openstack-compute/admin/content/conceptual-architecture.html

Posted by 나리 짱!!! naleejang
OpenStack2012.12.13 16:21

오픈테크넷에서 세미나를 한 후 저에게 질문을 해 오시는 분들이 생기기 시작했습니다. 저도 아직 오픈스택에 대해 많은 것을 알고 있는것이 아니라, 그냥 단지 먼저 삽질을 시작한 것 뿐이고 아직 삽질하지 못한 부분이 더 많이 있습니다. 


그리고, 질문들이 제가 이전에 겪었던 그래서 커뮤니티 회원의 누군가로부터 도움을 받았던 내용들이라 저도 그 내용을 다시 전파를 해 주었습니다. 오늘은 어떤 분이 cinder 볼륨과 nova 볼륨에 대한 질문을 해 오셨기에 저도 아직 사용해 보지 않은 내용이고 많이 테스트 해 보지 않은 부분이라서 cinder 명령어를 테스트 해 보고, 정리해 보았습니다.



Cinder 명령어는 nova 명령어와 같이 cinder-manage 로 시작하는 명령어가 있고, cinder로 시작하는 명령어가 있다. 어떤 종류의 서브 명령어와 옵션들이 있는지 궁금하다면 help를 치면 친절하게 어떤 명령어들이 있는지 나온다.

$ cinder-manage --help

Available categories:

       config

       db

       host

       logs

       shell

       sm

       version

       volume

       migrate

 

$ cinder --help

Command-line interface to the OpenStack Volume API.

Positional arguments:

  <subcommand>

    absolute-limits     Print a list of absolute limits for a user

    create              Add a new volume.

    credentials         Show user credentials returned from auth

    delete              Remove a volume.

    endpoints           Discover endpoints that get returned from the

                        authenticate services

    extra-specs-list    Print a list of current 'volume types and extra specs'

                        (Admin Only).

    list                List all the volumes.

    quota-class-show    List the quotas for a quota class.

    quota-class-update  Update the quotas for a quota class.

    quota-defaults      List the default quotas for a tenant.

    quota-show          List the quotas for a tenant.

    quota-update        Update the quotas for a tenant.

    rate-limits         Print a list of rate limits for a user

    rename              Rename a volume.

    show                Show details about a volume.

    snapshot-create     Add a new snapshot.

    snapshot-delete     Remove a snapshot.

    snapshot-list       List all the snapshots.

    snapshot-rename     Rename a snapshot.

    snapshot-show       Show details about a snapshot.

    type-create         Create a new volume type.

    type-delete         Delete a specific volume type

    type-key            Set or unset extra_spec for a volume type.

    type-list           Print a list of available 'volume types'.

    bash-completion     Prints all of the commands and options to stdout so

                        that the

    help                Display help about this program or one of its

                        subcommands.


cinder-manage 의 서브 커맨드들은 9개가 존재를 하며 그중에서도 가장 많이 쓰이는 것이 host 가 아닐까 싶다.

cinder volume storage로 설정되어 있는 host 리스트 정보를 보여준다. 아직까지는 cinder가 제대로 구현이 되지 않아 debug 도 함께 보이지만, 이것도 좀 업데이트 되지 않을까 싶다.

$ cinder-manage host list

host                          zone          

2012-12-13 15:49:35 DEBUG cinder.utils [req-f93bbb68-15a9-47e6-a104-20c5cde70c3c None None] backend <module 'cinder.db.sqlalchemy.api' from '/opt/stack/cinder/cinder/db/sqlalchemy/api.pyc'> from (pid=5719) __get_backend /opt/stack/cinder/cinder/utils.py:557

openstack02                   nova          

openstack01                   nova          

openstack03                   nova


그외에 cinder-manage의 서브 커맨드들은 어떤 옵션들이 있는걸까? Help를 통해 알아보자

$ cinder-manage config   # 이 명령어는 cinder.conf 파일을 보여준다.

/usr/local/bin/cinder-manage category action [<args>]

Available actions for config category:

       list

 

$ cinder-manage db       # DB와 내용을 sync시키고, version정보를 보여준다.

/usr/local/bin/cinder-manage category action [<args>]

Available actions for db category:

       sync

       version

 

$ cinder-manage logs     # cinder를 사용하면서 발생하는 에러로그와 시스템로그를 보여준다.

/usr/local/bin/cinder-manage category action [<args>]

Available actions for logs category:

       errors

       syslog


지금까지는 cinder-manage 명령어에 대해서 알아보았다. 지금부터는 cinder 로 시작하는 명령어에 대해서 알아보도록 하자.

나는 우선 cinder 명령어를 익히기 위해서 Dashboard에서 다 지원하지만, Command 로 볼륨을 생성하고 인스턴스에 Attach를 시켜보았다. 같이 한번 해 보도록 하자.


1. 우선 내가 생성할 수 볼륨 사이즈가 어떻게 되는지 알아본다. 이건 다음과 같이 다양한 명령어로 확인할 수 있다. 

$ cinder absolute-limits

+-------------------------+-------+

|           Name          | Value |

+-------------------------+-------+

| maxTotalVolumeGigabytes |  1000 |

|     maxTotalVolumes     |   10  |

+-------------------------+-------+

 

$ cinder quota-show nalee   # nalee는 내 계정이 소속된 Tenant 명이다.

+-----------+-------+

|  Property | Value |

+-----------+-------+

| gigabytes |  1000 |

|  volumes  |   10  |

+-----------+-------+

$ cinder quota-defaults nalee

+-----------+-------+

|  Property | Value |

+-----------+-------+

| gigabytes |  1000 |

|  volumes  |   10  |

+-----------+-------+

$ cinder quota-class-show nalee

+-----------+-------+

|  Property | Value |

+-----------+-------+

| gigabytes |  1000 |

|  volumes  |   10  |

+-----------+-------+


2. cinder create 명령어로 volume을 생성한다.

$ cinder create --display-name "testvol" --display-description "test" --availability-zone "nova" 100

+---------------------+--------------------------------------+

|       Property      |                Value                 |

+---------------------+--------------------------------------+

|     attachments     |                  []                  |

|  availability_zone  |                 nova                 |

|       bootable      |                false                 |

|      created_at     |      2012-12-13T05:28:13.131825      |

| display_description |                 test                 |

|     display_name    |               testvol                |

|          id         | a6257e84-a8a9-403a-8587-ee70aa476a58 |

|       metadata      |                  {}                  |

|         size        |                 100                  |

|     snapshot_id     |                 None                 |

|        status       |               creating               |

|     volume_type     |                 None                 |

+---------------------+--------------------------------------+


이렇게 생성을 하면 Dashboard의 Volumes 메뉴에서 확인이 가능하다.

 

3. 볼륨이 잘 생성되었는지 cinder list로 확인한다.

$ cinder list

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

|                  ID                  |   Status  | Display Name | Size | Volume Type | Bootable | Attached to |

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

| 260d2060-eb6f-4ed9-9b46-c7ae999379fb | available |   testvol    | 100  |     None    |  false   |             |

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+


4. 이번에는 volume의 상세정보를 한번 확인해 보자.

$ cinder show 260d2060-eb6f-4ed9-9b46-c7ae999379fb

+------------------------------+--------------------------------------+

|           Property           |                Value                 |

+------------------------------+--------------------------------------+

|         attachments          |                  []                  |

|      availability_zone       |                 nova                 |

|           bootable           |                false                 |

|          created_at          |      2012-12-13T05:28:13.000000      |

|     display_description      |                 test                 |

|         display_name         |               testvol                |

|              id              | 260d2060-eb6f-4ed9-9b46-c7ae999379fb |

|           metadata           |                  {}                  |

|    os-vol-host-attr:host     |             openstack02              |

| os-vol-tenant-attr:tenant_id |   1e1cf5cd2c3b419a858f9730a320860e   |

|             size             |                 100                  |

|         snapshot_id          |                 None                 |

|            status            |              available               |

|         volume_type          |                 None                 |

+------------------------------+--------------------------------------+


5. 그럼 이제 인스턴스와 cinder 볼륨을 연결시켜보자. 다음과 같이 nova-list 로 인스턴스 정보를 확인하고 cinder list로 볼륨 정보를 확인한다. 

$ nova list

+--------------------------------------+--------+--------+--------------------+

| ID                                   | Name   | Status | Networks           |

+--------------------------------------+--------+--------+--------------------+

| 88b90166-88aa-4d2d-acc1-90b3ca9016c8 | testvm | ACTIVE | private=10.4.128.2 |

+--------------------------------------+--------+--------+--------------------+

$ cinder list

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

|                  ID                  |   Status  | Display Name | Size | Volume Type | Bootable | Attached to |

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

| 260d2060-eb6f-4ed9-9b46-c7ae999379fb | available |   testvol    | 100  |     None    |  false   |             |

+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+

$ nova volume-attach 88b90166-88aa-4d2d-acc1-90b3ca9016c8 260d2060-eb6f-4ed9-9b46-c7ae999379fb /dev/vdc

+----------+--------------------------------------+

| Property | Value                                |

+----------+--------------------------------------+

| device   | /dev/vdc                             |

| id       | 260d2060-eb6f-4ed9-9b46-c7ae999379fb |

| serverId | 88b90166-88aa-4d2d-acc1-90b3ca9016c8 |

| volumeId | 260d2060-eb6f-4ed9-9b46-c7ae999379fb |

+----------+--------------------------------------+


이렇게 생성하고 나면 Dashboard에서 역시 인스턴스와 볼륨이 연결되어 있는 걸을 확인 할 수 있다.



처음 오픈스택을 시작했을 때는 Help 기능이 있는지도 잘 몰라서 많이 헤매었는데 몇 개월동안 삽질을 하다보니 이제 당연히 Help를 보고 따라 쳐보면 되겠구나 라는 생각이 든다. 나도 그동안 많이 발전한 거겠지~~~ 삽질을 통해서 말이다.ㅋ


오픈스택이라는 오픈소스는 먼저 삽질을 시작한 선배들에게서 배우고, 또 이제 막 삽질을 시작한 후배들에게 정보를 공유할 수 있어 이것이 바로 오픈소스를 공부하고 사용하는 또 하나의 매력이 아닌가 싶다. ^^

Posted by 나리 짱!!! naleejang
Life2012.11.22 20:23

이번에 오픈스택을 설치하고 운영해 보고 사용해보고 또 삽질해 보면서 터득한 비밀과 노하우들을 제 37회 오픈테크넷에서 이제 막 오픈스택을 시작한 분들에게 살알짝 공유하기로 했다. 제목은 "OpenStack!! 이틀만 하면 나처럼 할 수 있다." 

점심 먹고 바로 첫 세션이라 긴장이 되긴 하지만, 이번에는 정말 쉽고 재미있는 세미나가 되었으면 한다.


참가비도 무료이고, Canonical과 midokura에서 후회하는 이번 행사는 점심식사도 무료로 제공된다.

정말 좋은 세미나가 되지 않을까 싶다. ^^


자세한 내용은 아래 URL 참조~!! ^^

http://www.oss.kr/73723






Posted by 나리 짱!!! naleejang
OpenStack2012.02.24 18:36

2월 23일 상암 누리꿈스퀘어(NIPA 소프트웨어공학센터)에서 "안드로이드 & 클라우드"를 주제로

유명환 뻔뻔강사님과 함께 세미나를 하였다.


나는 클라우드와 오픈스택이라는 주제로 세미나를 하였는데, 첫 세미나라서,..
부족한 부분이 많았을덴데 많은 것들을 보여 줄 수 없어서 조금 아쉬웠다. 

아무튼 내게는 더없이 좋은 경험이였고, 재미있는 강연이 될 수 있도록 노력했기에 듣는 분들도 만족했으리라
생각한다. ^^





Posted by 나리 짱!!! naleejang