0503
오픈스택(Openstack)
- 오픈스택은 IaaS(Infrastructure as a Service) 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트다.
- 2012년 창설된 비영리 단체인 Openstack Foundation에서 유지, 보수하고 있으며 아파치 라이선스 하에 배포된다.
- AMD, 인텔, 캐노니컬, 수세 리눅스, 레드햇, 시스코 시스템즈, 델, HP, IBM, NEC, VM웨어, 야후 등 150개 이상의 회사가 이 프로젝트에 참가하고 있으며, 주로 리눅스 기반으로 운용과 개발이 이루어지고 있다.
- 프로세싱, 저장공간, 네트워킹의 가용자원을 제어하는 목적의 여러개의 하위 프로젝트로 이루어져 있고 대시보드 프로젝트는 다른 하위 프로젝트의 운영 제어를 웹 인터페이스를 통해 담당한다.
- 오픈스택은 열린 설계와 개발을 지향하며 커뮤니티는 6개월의 릴리즈 사이클로 개발을 진행하고 있다.
- 매 사이클의 기획단계에서는 오픈스택 디자인 서밋(Openstack Design Summit)을 개최하여, 개발자 작업을 지원하고, 로드맵을 설정하고 있다.
네트워크
ip 범위
Network ID Host ID
8 8 8 8
192. 168. 0. 29
11000000 10101000 00000000 01111111
255. 255. 255. 0 기본 서브넷 마스크
11111111 11111111 11111111 00000000
0 ~ 255
192. 168. 0. 0 네트워크 주소
192. 168. 0. 255 브로드캐스트 주소
11111111 11111111 11111111 10000000 /25
0 ~ 127
192. 168. 0. 0 네트워크 주소
192. 168. 0. 127 브로드캐스트 주소
128 ~ 255
192. 168. 0. 128 네트워크 주소
192. 168. 0. 255 브로드캐스트 주소
255. 255. 255. 128
11111111 11111111 11111111 11000000 /26
255. 255. 255. 192
0 ~ 63
64 ~ 127
128 ~ 191
192 ~ 255
11111111 11111111 11111110 00000000 /23
255. 255. 254. 0
192. 168. 0 0 ~ 255
192. 168. 1 1 ~ 255
192. 168. 0. 0 네트워크 주소
192. 168. 0. 255 브로드캐스트 주소
11111111 11111111 11000000 00000000 /18
255. 255. 192. 0
192. 168. 0. 0 네트워크 주소
192. 168. 0. 255
192. 168. 1. 255
192. 168. 2. 255
192. 168. 3. 255 브로드캐스트 주소
1 네트워크 비트
0 호스트 비트
ip 공유기 설정 변경
서브넷 마스크 확인
0504
오픈스택(Openstack)
서브넷마스크
bit mask | Subnet Mask | network | host |
---|
/25 | 255.255.255.128 | 2 | 256/2 = 128 |
/26 | 255.255.255.192 | 4 | 256/4 = 64 |
/27 | 255.255.255.224 | 8 | 256/8 = 32 |
/28 | 255.255.255.240 | 16 | 256/16 = 16 |
/29 | 255.255.255.248 | 32 | 256/32 = 8 |
/30 | 255.255.255.252 | 64 | 256/64 = 4 |
/31 | 255.255.255.254 | 128 | 256/128 = 2 |
/32 | 255.255.255.255 | 256 | 256/256 = 1 |
- 256/256 = 1 : 특정 ip 하나를 의미 (host only)
- 192.168.0.100/32의
/32
- 1의 갯수가 32개, 나머지가 호스트
개념적 아키텍처
-
Core Service 5가지
- nova : vm에게 cpu와 메모리 공급/설정, 인스턴스 (VM) 생성
- giance : 이미지 os, 이미지 받아오는 곳
- neutron : 네트워크 서비스 제공, 네트워크 관리
- cinder : 블록 스토리지, 볼륨 관리
- keystone : 보안, ID/PW, 오픈스택 인증 토큰 발급
-
Optinal Service
- swift : webshare 볼륨 백업, 파일 공유(오브젝트 스토리지), 이미지 저장하는 곳
- horizon : 웹 ui, 유저 인터페이스
- heat : IaC, 자동화도구, 오케스트레이션
논리적 아키텍처
오픈스택 서비스 관계도
구성요소 (서비스)
- 클라우드 운영 체제라고도 하는 오픈스택 프로젝트는 여러 다른 프로젝트로 구성된다. 오픈스택 설치 시 여러 프로젝트 중 일부만 포함 가능하다.
- 5 Core Service
- Compute Service (CPU, RAM) Nova, AWS EC2
- Storage Service (SSD, HDD) : Cinder, AWS EBS, AWS s3, Swift
- Network Service (G/W, S/W) : Neutron, AWS VPC
- Image Service (OS) : Glance, AWS AMI
- Identity Service (AUTH, Keypair) : KeyStone, AWS IAM
- Orchestration Service (IaC) : Heat, AWS CloudFormation
OpenStack Compute (Nova)
- 이 서비스는 모든 클러스터 노드 컴퓨터에 설치된다. 인스턴스 (프로세서, 메모리, 블록장치, 네트워크)의 추상화 수준을 관리한다. 또한 하이퍼 바이저 (KVM - type1)을 통햬 인스턴스(=vm)의 라이프 사이클을 관리한다. Nova는 가상 머신, 베어메탈 서버 생성을 지원하며 (ironic 사용을 통해) 시스템 컨테이너에 대한 지원이 제한적이다. Nova는 해당 서비스를 제공하기 위해 기존 linux 서버 위에 데몬세트로 실행된다.
- 노바 설치 = 설치된 노드 = vm 설치 > 노드 3개 위치 > 노드 안에 vm 위치 > 무중단 서비스를 위해 여러개의 클러스터 > 클러스터 안 vm ? > vm 유지! > 노드의 묶음 클러스터?
- compute node 3개 > 이를 제어할 control node (controller) => 이런 에코 시스템 클러스터!
OpenStack Identification (Neutron)
- 이 서비스는 네트워크 연결을 담당한다. 사용자는 가상 네트워크 및 가상 라우터를 생성하고 floating IP(공인 IP = AWS EIP) 기능을 통해 인터넷 공급자(IP) 주소를 설정할 수 있다. 이 메커니즘 덕분에 인스턴스는 외부로부터 고정 IP 주소를 얻을 수 있다. 또한 네트워크 부하분산 서비스와 방화벽, VPN 등의 기능을 모듈로 설치하여 이용 가능하다.
OpenStack Identification (Keystone)
- 이 서비스는 클라우드 운영 체제의 통합 인증 시스템으로 작동한다. 사용자 게정의 유효성과 OpenStack 프로젝트 및 역할에 대한 사용자의 일치 여부를 확인한다. 그리고 다른 서비스에 액세스하기 위한 토큰을 제공한다.
OpenStack Image Service (Glance)
- 이 서비스는 인스턴스의 이미지를 관리하며 인스턴스를 실행하기 위한 템플릿으로 사용 가능하다. 이 서비스는 또한 백업과 스냅샷 생성 기능을 제공한다. vhd, vmdk, vdi, iso, qcow2 및 ami를 포함한 다양한 형식을 지원한다.
OpenStack Block Stroage (Cinder)
- 이 서비스는 인스턴스를 실행하여 사용할 수 있는 블록 스트리지를 관리한다. 인스턴스를 위한 영구 데이터 스토리지이며 스냅샷을 사용할 수있다. 데이터 저장 및 복원 또는 복제 대부분의 경우 GNU/Linux 서버 기반의 데이터 스토리지는 Cinder와 함께 사용된다.
OpenStack Object Stroage (Swift)
- 이 서비스는 객체 저장소이며 사용자가 파일을 저장할 수 있다. 분산 아키텍처를 갖추고 있어 장애 조치를 위한 수평 확장 및 복제가 가능하다.
OpenStack Orchestration (Heat)
- 이 서비스는 AWS CloudFormation 형식의 템플릿을 사용하여 다른 모든 OpenStack을 관리한다. 대부분 유형의 리소스(가상 머신, 볼륨, 유동 IP, 사용자, 보안 그룹 등)를 생성할 수 있다. 또한 Ceilometer의 데이터를 사용해 응용 프로그램 스케일링을 자동으로 만들 수 있다..
개념
Core Service
- Compute Service (CPU, RAM) :
- Nova, EC2(Elastic Compute Cloud)
- Storage Service (SSD, 구글드라이브, NAS) :
- Cinder; Block Storage, EBS (Elastic Block Store)
- Swift; Object Storage, S3 (Simple Storage Service)
- Manila; File Storage, EFS (Elastic File System)
- Network Service (IP, Subnet) :
- Neutron, VPC(Virtual Private Cloud; 격리된(isolated))
- Image Service (OS) :
- Glance, AMI (Amazon Machine Image)
- Identity Service (User(ID/PW), Group, Role ...) :
- Keystone, IAM (Identity Access Management)
Optional Service
- Orchestration Service(IaC; Infra as a Code) :