Cloud
-
etcd 기본사용Cloud 2015. 9. 11. 09:00
coreos에서 만든 분산 key-value 스토리지 GO 언어로 개발되어 있음. 일반적으로. 데이터베이스 연결 정보, 캐시 세팅등의 설정정보들을 저장해두고 사용한다. 설치GO로 개발되었기 때문에 바이너리 파일을 다운받아서 바로 실행하면 된다. https://github.com/coreos/etcd/releases/ 요기서 OS별 실행파일 다운로드 다운받은 파일 압축풀면 실행파일이랑 참고용 문서들 들어있음. unzip etcd-v2.2.0-rc.0-darwin-amd64.zip etcd는 실제 etcd를 실행하는 파일이고 etcdctl은 etcd를 이용하기위한 클라이언트다. etcdctl이 없어도 rest api를 제공하기 때문에 curl을 통해서 사용할 수 있음. etcd를 클러스터로 구성했다면 cur..
-
libvirt 사용하기Cloud 2015. 3. 25. 09:00
KVM, Xen, VMware ESX, QEMU 같은 가상화 플랫폼을 관리할 수 있는 툴. C로 구현되어 있고 다른 여러가지 언어로 바인딩되어 있다. libvirt를 다루기 위해서는 virsh라는 명령행 도구가 가장 많이 쓰인다. libvirt가 지원하는 하이퍼바이저 LXC – 경량 리눅스 컨테이너 시스템 OpenVZ – 경량 리눅스 컨테이너 시스템 Kernel-based Virtual Machine/QEMU (KVM) – 리눅스용 오픈소스 하이퍼바이저 Xen – 베어메탈 하이퍼바이저 User-mode Linux (UML) 반가상화 커널 VirtualBox – 오라클에서 만든 하이퍼바이저 VMware ESX and GSX – 인텔 하드웨어용 하이퍼바이저 VMware Workstation and Playe..
-
가상화 이미지 빌더 도구인 OzCloud 2015. 3. 24. 09:00
Oz는 OS 설치, OS 커스터마이징, ICICLE(메니페스트 생성) 등을 지원한다. OS별 지원 현황 Operating system Install Customize ICICLE RHEL/CentOS/ScientificLinux/OEL 7.x yes yes yes RHEL/CentOS/ScientificLinux/OEL 6.x yes yes yes RHEL/CentOS/ScientificLinux/OEL 5.x yes yes yes Fedora 7 - 21 yes yes yes OpenSUSE 10.3 - 13.x yes yes yes RHEL/CentOS/ScientificLinux 4.x yes no no RHEL/CentOS 3.x yes no no Debian 5, 6, 7 yes no no Fe..
-
OpenStack 이미지 만들기Cloud 2015. 3. 23. 09:00
오픈스택에서 VM을 만들려면 VM 생성할때 이용할 VM 이미지가 있어야 함. 지원하는 이미 형식- Raw기본 이미지 형식, KVM과 Xen 에서 지원함.dd 명령어를 이용해서 블럭 디바이스형태로 붙일 수도 있음. - qcow2(QEMU copy-on-write version 2)KVM에서 주로 사용하는 형식.raw형식보다 용량이 작음.스냅샷 지원. - AMI/AKI/ARI아마존 EC2에서 지원하는 형식AMI(Amazon Machine Image) : raw형식의 vm 이미지AKI (Amazon Kernel Image) : 하이퍼바이저가 이미지를 부팅하기위한 커널 파일.ARI (Amazon Ramdisk Image) : 부팅할때 마운트되는 램디스트(ramdisk) 파일. - UEC tarballUEC (U..
-
OpenStack이 지원하는 하이퍼바이저 종류Cloud 2015. 3. 20. 09:00
OpenStack에서는 Nova에서 사용할 하이퍼바이저를 직접 선택할 수 있고, 여러가지 하이퍼 바이저 종류가 있는데, 현재(2015. 3) 가장 많은 기능을 지원하는건 KVM이고, Live Migration 이 가능하다. Baremetal역시 이용이 가능한데 지금은 Ironic이라는 프로젝트 명으로 진행되고 있다. 각 하이퍼바이저별 지원 기능 Juno 기준 Feature XenServer/XCP KVM/libvirt on (x86) QEMU/libvirt (x86) LXC/libvirt Xen/Libvirt VMware Hyper-V Baremetal Ironic Docker PowerKVM Launch ✔ ✔ ✔ ✔ ✔ *(12) ✔ ✔ ✔ ✔ ✔ ✔ Reboot ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔*(1..
-
RabbitMQ RPC(Remote procedure call)Cloud 2015. 3. 18. 09:00
예제소스 rpc_server.py #!/usr/bin/env python import pika connection = pika.BlockingConnection(pika.ConnectionParameters( host='localhost')) channel = connection.channel() channel.queue_declare(queue='rpc_queue') def fib(n): if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) def on_request(ch, method, props, body): n = int(body) print " [.] fib(%s)" % (n,) response = fib(n) ch..
-
RabbitMQ 토픽Cloud 2015. 3. 17. 09:00
특정 주제에 대한 메세지를 주고받는 기능. topic exchange로 보내지는 메세지는 반드시 routing_key를 가지고 있어야함. routing_key 크기는 255 바이트. 바인딩 키에 특수문자 사용가능. - * 하나의 단어를 의미 - # 없거나 하나이상의 단어를 의미 예제소스 emit_log_topic.py #!/usr/bin/env python import pika import sys connection = pika.BlockingConnection(pika.ConnectionParameters( host='localhost')) channel = connection.channel() channel.exchange_declare(exchange='topic_logs', type='topic'..
-
RabbitMQ 라우팅Cloud 2015. 3. 16. 09:00
원하는 메세지만 선택해서 받기 위한 기능. exchange와 큐를 바인딩하기위해 routing_key 매개변수를 이용함. 예제소스 emit_log_direct.py #!/usr/bin/env python import pika import sys connection = pika.BlockingConnection(pika.ConnectionParameters( host='localhost')) channel = connection.channel() channel.exchange_declare(exchange='direct_logs', type='direct') severity = sys.argv[1] if len(sys.argv) > 1 else 'info' message = ' '.join(sys.argv..