1. Open Stack
- private cloud를 구축하기 위한 도구
-> 클라우드는 주로 웹 인터페이스로 관리한다. - 가상 컴퓨터 제공 (1차적 목적)
- 스토리지, 네트워크 등의 부가적인 기능들을 제공하는것이 기본
- 전부 open source로 이루어져있다.
- 거의 모든 IT의 vendor들이 기여하고있다. (홈페이지에 나와있음)
- 클라우드 서비스가 어떻게 구성되어있는지 내부를 알 수 있다. (완전 똑같지는 않음)
2. Open Stack Version
- Compute ( Nova )
- 컴퓨트 서비스를 구성한다.
- 인스턴스의 생명 주기 담당
- 하이퍼바이저 제어 → kvm, qemu, zen, vmware
- 리눅스 컨테이너(LXC) 제어
- libvirtd → 가상머신을 제어하는 라이브러리 데몬
- kvm, zen, LXC, docker도 제어 가능
- 컨테이너 제어 가능하지만 현재는 Magnum이라는 프로젝트가 제어한다.
- 방화벽(Security Group) 관리 → 인스턴스 외부에 있는 방화벽 관리.
- keypair (SSH key★)
- Networking ( Neutron )
- 인스턴스의 네트워크 제공
- Nova-Network(L3기능까지만 구현) → Quantum → Neutron (Quantum과 똑같음. 이름만 바꿨다.)
- Nova-Network : LAN(Network) : L2(DHCP, VLAN), L3 Routing 제공, LB : L4, Network FW(방화벽), VPN, Flooting IP
- Floating IP → 인스턴스를 외부에 노출시키는 역할을 한다.
- Block Storage ( Cinder )
- 인스턴스의 영구 저장장치인 블록 장치를 제공
- DAS(Direct Attached Storage)
- 직접 연결된 스토리지 (SATA 등)
- Block 장치 → 디스크가 사용
- NAS(Network Attached Storage)
- File Storage
- Sharing이 목적
- NFS
- SMB(CIFS) → window에서 사용.
- CIFS ⇒ Common Internet File System
- SAMBA → 패키지. 얘로 SMB를 분석 → 리눅스에서 작동할 수 있도록 만들었다.
- SMB와 CIFS는 거의 같고 SAMBA는 둘의 기능을 담았다고 볼 수 있다.
- SAN(Storage Area Network)
- block storage 제공
- FC-SAN : FC Portocol
- IP-SAN : ISCSI, FCoE...
- Block Storage
- 운영체제가 사용
- 필요하면 파티션, 파일시스템 생성해서 마운트 하여 사용
- 논리 볼륨 만들어서 제공 가능
- 디스크의 입출력을 블록 단위로 한다.
- 비교적 사이즈가 크고 느리다. 안정성은 있지만..
- 블록이 크면 클수록 처리할 수 있는 양이 많아지기 때문에 빠르게 읽고 쓸 수 있다.
- 성능은 제일 뛰어나다.
- 공유가 안된다.
- clustering을 이용해서 전용파일을 사용하면 블록장치를 share 할 수 있다.
- File Storage
- depth를 많이 안주는게 성능에 좋다.
- OS가 사용하기도 하지만 일반적으로 user가 사용한다. 성능은 중간
- sharing이 목적
- 정형화된(형식이 있는) 데이터 저장
- Object Storage
- user/Application
- 비정형화(형식이라는게 고정되어있지 않음)된 데이터 저장
- 사용자는 그냥 파일처럼 보이지만 백엔드에 저장할 때 보면 메타데이터와 데이터로 분리한다.
- 메타데이터 → ls -l 하면 보이는거. inode table
- 성능은 제일 떨어진다.
-
Identity ( Keystone : 인증 )
-
모든 컴포넌트의 인증을 담당
-
인증용 백엔드 → SQL, LDAP
-
SQL → 기본적으로 mariadb 사용
-
카탈로그 관리
-
카탈로그 → 오픈스택의 여러 컴포넌트의 목록
-
service 목록 → nova, glance..등 컴포넌트
-
End point 목록 → 특정 서비스를 사용하기 위한 주소
-
service 목록, End point 목록이 없으면 서비스 사용 불가
-
-
-
Image ( glance )
-
인스턴스를 생성하기 위한 운영체제 디스크 이미지를 제공
-
file storage가 기본
-
이미지를 저장하기위한 저장소로 swift object 사용할 수 있다.
-
-
Object Storage (swift)
-
object storage를 제공
-
object storage는 사용자가 쓰기 위해 만든것. mount해서 쓴다 이런거 아니고 dropbox의 용도와 같다.
-
application ⇒ 직접 사용할 수 있는 스토리지
-
필수 서비스는 아니다.
-
독립적으로 작동할 수 있는 유일한 서비스. 다른 서비스들은 서로 상호작용한다.
-
Glance의 저장소로 쓸 수 있다.
-
swift를 안쓰면 local disk에 저장.
-
swift에 저장하는 이유 → 여러가지 기능이 있기 때문에
-
-
Dashboard ( Horizon )
-
오픈스택 환경을 운영 및 관리할 수 있는 웹 기반의 셀프 서비스 포탈 인터페이스를 제공
-
아파치 & python으로 만들어짐
-
API 지원
-
-
Orchestration ( Heat )
-
템플릿 기반으로 다양한 클라우드 어플리케이션을 배치하고 관리할 수 있는 오케스트레이션 기능 제공
-
IaC(Infrastructure as code) → 코드로 다 관리. 인프라를 배포하고 자동화시킨다.
-
Amazon CloudFormation과 연동이 가능
-
-
Workflow ( Mistral )
-
이벤트 처리
-
특정 이벤트가 발생하면 Mistral이 조치를 취해준다.
-
-
Telemetry ( Cellometer )
-
사용량 측정
-
확장이 불가
-
세부 프로젝트 → Aodh, Gnocchi, Panko → Cellometer가 하는일을 분리시킴.
-
-
Database ( Trove )
-
Database as a Service 기능 제공
-
데이터베이스를 서비스로 제공
-
플랫폼을 제공하는 것과 같다.
-
open source만 제공가능 → mariadb, mysql..
-
오픈 소스 기반의 비관계형 데이터베이스도 사용 할 수 있다.
-
-
Elastic Map Reduce ( Sahara )
-
빅데이터
-
-
Bare Metal ( Ironic )
-
베어메탈 시스템에 오픈스택 기능을 배포
-
베어메탈 서버를 네트워크에 연결해 놓고 사용
-
-
Messaging ( Zaqar )
-
메시지 큐 서비스를 제공
-
비동기화 통신을 할 수 있다★
-
-
Share File System ( Manila )
-
공유 파일 시스템을 제공
-
항상 이런 서비스들은 vm이 기본.
-
-
DNS ( Designate )
-
DNS as a service 기능 제공
-
-
Search ( Searchlight )
-
ElasicSearch
-
빅테이터를 빠르게 검색.
-
로그 검색도 가능.
-
검색 엔진 만들때도 사용.
-
-
인덱싱 → 검색을 빠르게 하려고 한다.
-
-
Key Manager ( Barbican )
-
key value storage → 변수 저장. 간단한 저장장치 -
-
보안 저장소
-
vault
-
-
Container ( Magnum )
-
컨테이너 엔진, 컨테이너 런타임 등을 배포
-
3. Node
-
Controller
-
오픈스택 전체를 제어
-
가장 많은 서비스들이 배치되어있음 → keystone, horizen, glance, sql, message queue, ntp, ceilometer, heat
-
SQL → 오픈 스택의 모든 정보 저장
-
오픈스택을 작동시키기 위한 message queue
-
ntp 서버를 제외하고 시스템에 다 구성이 되어있다.
-
상태라는것이 존재
-
상태가 동기화 되야한다. → cluster 필요.
-
cluster를 이용해서 이중화, 삼중화를 할 수 있다.
-
사용자 입장에서 중요하지 않다.
-
오류가 난다면?
-
인증 할 수 없음
-
웹 인터페이스 관리 못함
-
CLI 구성 안됨
-
-
-
Network
-
Neutron : 네트워크 제공
-
controller에 같이 구성이 되어있는 형태.
-
-
Compute
-
하이퍼바이저를 제공하는 시스템.
-
Nova(kvm) → 사용량을 측정하기 위해
-
에이전트 → 대신 역할을 하는 것.
-
사용자 입장에서 중요함.
-
-
Storage
-
controller에 같이 구성이 되어있다.
-
Cinder(Block)
-
Swift(Object)
-
Proxy → 요청을 주고받음
-
Storage → 데이터 저장
-
proxy와 storage는 같은 곳에 설치할수도 다른 곳에 설치할수도 있다.
-
-
Manila(File)
-
<OpenStack Administrator>
- Project
- Account
- Flavor
- Network(External)
<User(self service>
- Image
- Network(Internal)
- Router
- Security Group
- Keypair
- Instance
'Infra > 프라이빗 클라우드 인프라' 카테고리의 다른 글
Open Stack 운영.3 (user) (0) | 2020.07.02 |
---|---|
Open Stack 운영.2(user) (0) | 2020.07.01 |
Instance (0) | 2020.07.01 |
Open Stack 운영.1(admin) (0) | 2020.07.01 |
Cloud Service 개념 정리 (0) | 2020.06.29 |
댓글