오픈 스택 | 오픈스택(Openstack)의 개념과 핵심 키워드 1/2부, 안명호 Mhr 대표 9874 좋은 평가 이 답변

당신은 주제를 찾고 있습니까 “오픈 스택 – 오픈스택(OpenStack)의 개념과 핵심 키워드 1/2부, 안명호 mhr 대표“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 데브멘토(Devmento : Real IT Portal) 이(가) 작성한 기사에는 조회수 6,926회 및 좋아요 32개 개의 좋아요가 있습니다.

오픈 스택 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 오픈스택(OpenStack)의 개념과 핵심 키워드 1/2부, 안명호 mhr 대표 – 오픈 스택 주제에 대한 세부정보를 참조하세요

“오픈스택에 대한 정확한 개념이 먼저 서야 할 것이다. 가만히 보면 오픈스택에 대한 오해가 있다. 대부분 오픈스택은 가상화 소프트웨어로 생각하는 경우가 상당히 많다. vmware나 시트릭스로 생각하는 분이 많다. 오픈스택을 사용하면 버추얼라이제이션 환경을 빨리 만들 수 있다 있다고 생각하지만, 기존 가상화 소프트웨어하고 오픈스택이 지향하는 기술적 관점은 굉장히 다르다.”
안명호 MHR 대표는 데브멘토가 후원하고 한양대 오픈소스SW사업단이 주최한 ‘오픈스택 이론 및 실전’ 교육에서 오픈스택에 대한 개념을 먼저 잡아야 한다고 강조했다. 안 대표는 “가상화 소프트웨어는 목적이 설치, 쉬운 사용이라고 한다면 오픈스택은 클라우드OS개념을 많이 갖고 있다”면서 “오픈스택은 오픈소스 기반의 클라우드 컴퓨팅 솔루션”이라고 말했다. (1부)

오픈 스택 주제에 대한 자세한 내용은 여기를 참조하세요.

OpenStack(오픈스택)이란 무엇일까요? – Red Hat

OpenStack은 퍼블릭 클라우드 환경 구축을 위한 선도적인 오픈소스 솔루션 입니다. 수십억 달러 규모의 기업이든 스타트업 기업이든 OpenStack을 사용해 주요 퍼블릭 …

+ 더 읽기

Source: www.redhat.com

Date Published: 3/13/2022

View: 2978

오픈스택 – 위키백과, 우리 모두의 백과사전

오픈스택(OpenStack)은 IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트이다. 2012년 창설된 비영리 단체인 OpenStack Foundation에서 유지, 보수하고 있으며 아파치 …

+ 더 읽기

Source: ko.wikipedia.org

Date Published: 6/28/2021

View: 2550

오픈스택

Tel. 031-724-4890Fax. 031-724-4938E-mail : [email protected] 오픈스택 주식회사 (우)13511 경기도 성남시 분당구 판교로 697 분당테크노파크 A동 906-1호.

+ 여기에 자세히 보기

Source: www.openstack.co.kr

Date Published: 4/17/2022

View: 8809

OpenStack: Open Source Cloud Computing Infrastructure

OpenStack is an open source cloud computing infrastructure software project and is one of the three most active open source projects in the world.

+ 여기를 클릭

Source: www.openstack.org

Date Published: 4/7/2021

View: 3431

Openstack – 나무위키

공식 홈페이지의 설명에 따르면 클라우드 인프라스트럭처를 위한 소프트웨어 컴포넌트의 집합이다. 사용자가 요청할 때마다 가상 머신 등의 리소스를 공급 …

+ 여기에 표시

Source: namu.wiki

Date Published: 5/21/2021

View: 3987

OpenStack – 클라우드 운영체제(OS), 오픈스택이란? – 락플레이스

오픈스택은 퍼블릭 클라우드와 프라이빗 클라우드 서비스를 구축하기 위해 필요한 모든 소프트웨어를 제공하는데 그 목적이 있는 오픈 소스 프로젝트 입니다. 지금 이순간 …

+ 여기에 표시

Source: rockplace.co.kr

Date Published: 5/12/2021

View: 2278

오픈스택을 다루는 기술 – 더북(TheBook)

오픈스택 클라우드 구축과 운영을 위한 현장 밀착 입문서 … 인스턴스 생성, 유동 IP 할당, 볼륨 스토리지 생성 등 오픈스택을 사용하고 운영하는 기본 방법들을 설명 …

+ 자세한 내용은 여기를 클릭하십시오

Source: thebook.io

Date Published: 8/21/2022

View: 1667

오픈스택 – KINX

오픈스택은 서버, 네트워크, 스토리지 등 기존의 물리 자원을 가상화해 클라우드 환경을 구축하고 대시보드, API를 통해 가상 자원들을 관리할 수 있도록 하는 플랫폼 …

+ 여기에 자세히 보기

Source: www.kinx.net

Date Published: 3/29/2022

View: 1562

오픈 스택의 주요 용어 정리

오픈스택 Nova는 컴퓨트 서비스의 핵심이며 하이퍼바이저(VM을 생성하고 구동하는 소프트웨어), 메시지 Queue, 인스턴스 접속을 하는 콘솔 등 다양한 기능 …

+ 더 읽기

Source: velog.io

Date Published: 1/1/2022

View: 9666

기업에서는 오픈스택을 왜 사용할까? 처음 시작은 어떻게 해야 …

오픈스택은 오픈 소스 소프트웨어를 기반으로 구축되는 시스템이기 때문에 사업자가 직접 구축하여 사용할 수 있습니다. 물론 오픈스택을 상용화하여 판매 …

+ 자세한 내용은 여기를 클릭하십시오

Source: itguava.tistory.com

Date Published: 1/20/2022

View: 8927

주제와 관련된 이미지 오픈 스택

주제와 관련된 더 많은 사진을 참조하십시오 오픈스택(OpenStack)의 개념과 핵심 키워드 1/2부, 안명호 mhr 대표. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

오픈스택(OpenStack)의 개념과 핵심 키워드 1/2부, 안명호 mhr 대표
오픈스택(OpenStack)의 개념과 핵심 키워드 1/2부, 안명호 mhr 대표

주제에 대한 기사 평가 오픈 스택

  • Author: 데브멘토(Devmento : Real IT Portal)
  • Views: 조회수 6,926회
  • Likes: 좋아요 32개
  • Date Published: 2015. 11. 10.
  • Video Url link: https://www.youtube.com/watch?v=Iiu8RbrUCko

OpenStack(오픈스택)이란 무엇일까요?

OpenStack은 풀링된 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼입니다. OpenStack 플랫폼을 포함하는 툴, 일명 “프로젝트”는 컴퓨팅, 네트워킹, 스토리지, Identity 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리합니다. 또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있습니다.

가상화에서는 다양한 벤더별 프로그램에서 스토리지, CPU, RAM과 같은 리소스를 추상화해 하이퍼바이저를 통해 분할한 다음 필요에 따라 배포합니다. OpenStack은 일관된 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API) 세트를 사용해 해당 가상 리소스를 분리된 풀로 1단계 더 추상화하며, 이를 기반으로 하는 표준 클라우드 컴퓨팅 툴에서 관리자와 사용자가 직접 인터랙션할 수 있습니다.

위키백과, 우리 모두의 백과사전

오픈스택(OpenStack)은 IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트이다. 2012년 창설된 비영리 단체인 OpenStack Foundation에서 유지, 보수하고 있으며 아파치 라이선스하에 배포된다.[2]

AMD, 인텔, 캐노니컬, 수세 리눅스, 레드햇, 시스코 시스템즈, 델, HP, IBM, NEC, VM웨어, 야후! 등 150개 이상의 회사가 이 프로젝트에 참가하고 있으며, 주로 리눅스 기반으로 운용과 개발이 이루어진다.[3][4][5][6]

프로세싱, 저장공간, 네트워킹의 가용자원을 제어하는 목적의 여러 개의 하위 프로젝트로 이루어져 있다. 대시 보드 프로젝트는 다른 하위 프로젝트의 운영 제어를 웹 인터페이스를 통해 담당한다.

오픈스택은 열린 설계와 개발을 지향한다. 커뮤니티는 6개월의 릴리즈 사이클[7] 로 개발을 진행하고 있다. 매 사이클의 기획단계에서는 오픈스택 디자인 서밋(OpenStack Design Summit)[8]을 개최하여, 개발자 작업을 지원하고, 로드맵을 설정하고 있다.

역사 [ 편집 ]

미국 항공우주국의 네불라 플랫폼

2010년 7월 랙스페이스(Rackspace)사와 미국 항공우주국이 오픈스택 오픈 소스 프로젝트를 시작하였다. 오픈스택은 일반적인 서버에서 클라우드 컴퓨팅 서비스를 생성하고 실행할 수 있도록 해준다. 첫 번째 릴리즈 (코드명 Austin)는 프로젝트 시작 4개월 이후에 공식 릴리스되었고, 이후 공식 버전은 6개월마다 릴리스된다. 처음에는 미국 항공우주국의 네불라 플랫폼과 랙스페이스의 클라우드 파일 플랫폼의 소스를 기반으로 하였다. 오픈스택은 우분투[9]와 레드햇[10] 배포판에 포함되었다.

출시 역사 [ 편집 ]

출시명 출시일 포함된 구성 요소 코드 이름[11] Austin 2010년 10월 21일[12][13] Nova, Swift Bexar 2011년 2월 3일[14] Nova, Glance, Swift Cactus 2011년 4월 15일[15] Nova, Glance, Swift Diablo 2011년 9월 22일[16] Nova, Glance, Swift Essex 2012년 4월 5일[17] Nova, Glance, Swift, Horizon, Keystone Folsom 2012년 9월 27일[18] Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Grizzly 2013년 4월 4일[19] Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Havana 2013년 10월 17일[20] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer Icehouse 2014년 4월 17일[21] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove Juno 2014년 10월 16일[22] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara Kilo 2015년 4월 30일[23] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic Liberty 2015년 10월 16일[24] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight Mitaka 2016년 4월 7일[25] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum Newton 2016년 10월 6일[26] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher Ocata 2017년 2월 22일[27] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher Pike 2017년 8월 30일[28] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher Queens 2018년 2월 28일[29] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun Rocky 2018년 8월 30일[30] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling (40개 서비스) Stein 2019년 4월 10일[31] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events-api, placement (44개 서비스) Train 2019년 10월 16일[32] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events-api, placement (44개 서비스) Ussuri 2020년 5월 13일[33] Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events-api, placement, adjutant (44개 서비스) Victoria 2020년 10월 14일[34] Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Karbor, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events-api, Murano, Neutron, Nova, Octavia, Panko, Placement, Qinling, Sahara, Searchlight, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (42개 서비스) Wallaby 2021년 4월 14일[35] Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events-api, Murano, Neutron, Nova, Octavia, Panko, Placement, Sahara, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (39개 서비스) Xena 2021년 10월 06일[36] Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events-api, Murano, Neutron, Nova, Octavia, Placement, Sahara, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (38개 서비스)

구성 요소 [ 편집 ]

오픈스택은 구성 요소별로 다양한 코드 이름이 있는 모듈 방식의 아키텍처를 가지고 있다.[11]

컴퓨트 (Nova) [ 편집 ]

오픈스택 컴퓨트 (Nova)는 IaaS 시스템의 주가 되는 부분인 클라우드 컴퓨팅 패브릭 컨트롤러(fabric controller)이다. 컴퓨터 자원의 풀을 관리하고 자동화하도록 설계되어 있으며 베어 메탈, 고성능 컴퓨팅(HPC) 구성뿐 아니라 널리 이용 가능한 가상화 기술들과 함께 동작할 수 있다. 하이퍼바이저 기술(가상 머신 모니터)로서 KVM, VM웨어, 젠 중 하나를 선택할 수 있으며, 여기에 하이퍼-V 및 LXC와 같은 리눅스 컨테이너 기술을 함께 사용할 수 있다.[37][38]

파이썬으로 작성되어 있으며 Eventlet(병행 프로그래밍용), Kombu(AMQP 통신용), SQLAlchemy(데이터베이스 접속용)와 같은 수많은 외부 라이브러리들을 사용한다.[39] 컴퓨트의 아키텍처는 어떠한 사유 하드웨어 및 소프트웨어 요구 사항 없이 표준 하드웨어 위에서 수평적 확장을 하기 위해 설계되어 있으며 레거시 시스템들과 서드파티 기술들과 연동하는 기능을 제공한다.[40]

기업 수준의 인프라스트럭처로의 통합이 확산되면서 일반적으로 오픈스택의 성능을 모니터링하는 것과 특히 Nova의 성능을 측정하는 것이 규모 면에서 매우 중요한 이슈가 되었다. 종단 간 성능을 모니터링하려면 Nova, Keystone, Neutron, Cinder, Swift 등의 서비스로부터 메트릭을 추적하는 것뿐 아니라 메시지 전달을 위해 오픈스택 서비스들이 사용하는 RabbitMQ의 모니터링이 필요하다.[41][42]

네트워킹 (Neutron) [ 편집 ]

오픈스택 네트워킹(Neutron)은 네트워크와 IP 주소들을 관리하기 위한 시스템이다. 오픈스택 네트워킹은 네트워크가 병목 현상에 처하지 않도록 보증하며 심지어는 네트워크 구성을 통해서 사용자에게 자체 서비스 기능을 제공한다.

오픈스택 네트워킹은 각기 다른 애플리케이션이나 사용자 그룹을 위한 네트워킹 모델을 제공한다. 표준 모델은 서버와 트래픽을 분리시키는 VLAN이나 플랫 네트워크를 포함한다. 오픈스택 네트워킹은 IP 주소를 관리함으로써 전용 정적 IP 주소나 DHCP를 허용한다. 유동 IP 주소들은 트래픽이 IT 인프라스트럭처 안의 모든 리소스에 동적으로 이어질 수 있게 함으로써 사용자들은 유지보수나 실패 상황에서 트래픽을 다른 곳으로 넘겨줄 수 있다.

사용자들은 자신의 네트워크를 만들고 트래픽을 통제하며 서버와 장치들을 하나 이상의 네트워크에 연결할 수 있다. 관리자들은 오픈플로(OpenFlow)와 같은 소프트웨어 정의 네트워킹(SDN) 기술을 이용하여 높은 수준의 멀티테넌시와 막중한 규모를 지원할 수 있다. 오픈스택 네트워킹은 침입 탐지 시스템(IDS), 부하 분산, 방화벽, 가상 사설망(VPN)과 같은 추가 네트워크 서비스들을 배치시키고 관리할 수 있는 확장 프레임워크를 제공한다.

블록 스토리지 (Cinder) [ 편집 ]

오픈스택 블록 스토리지(Cinder)는 오픈스택 컴퓨트 인스턴스에 사용할 지속적인 블록 레벨 스토리지 장치들을 제공한다. 블록 스토리지 시스템은 블록 장치들을 서버에 작성, 부착, 제거하는 일을 관리한다. 블록 스토리지 볼륨들은 클라우드 사용자들이 자신만의 스토리지의 필요한 부분을 관리하기 위한 대시보드 및 오픈스택 컴퓨트와 완전히 연동된다. 로컬 리눅스 서버 스토리지뿐 아니라 Ceph, 클라우드바이트, Coraid, EMC(ScaleIO, VMAX, VNX and XtremIO), GlusterFS, 히타치 데이터 시스템, IBM 스토리지(IBM DS8000, Storwize 계열, SAN 볼륨 컨트롤러, XIV 스토리지 시스템, GPFS), 리눅스 LIO, 넷앱, 넥센타, 님블 스토리지, Scality, 솔리드파이어, HP (스토어버추얼, 3PAR 스토어서브 계열), 퓨어 스토리지를 포함한 스토리지 플랫폼들을 사용한다. 블록 스토리지는 데이터베이스 스토리지, 확장 가능 파일 시스템과 같은 성능에 민감한 시나리오에 적절하며, 서버에 로우 블록 레벨 스토리지에 대한 접근을 제공한다. 스냅샷 관리는 블록 스토리지 볼륨에 저장된 데이터를 백업하는 강력한 기능을 제공한다. 스냅샷들은 새로운 블록 스토리지 볼륨들을 만들기 위해 사용하거나 복원할 수 있다.

아이덴티티 (Keystone) [ 편집 ]

오픈스택 아이덴티티(Keystone)는 사용자들이 접근할 수 있는 오픈스택 서비스들에 매핑되는 사용자들의 중앙 디렉터리를 제공한다. 클라우드 운영 체제를 통하는 공통 인증 시스템으로 활동하며 LDAP과 같은 기존의 백엔드 디렉터리 서비스들과 통합할 수 있다. 표준 사용자 이름과 암호 자격 정보, 토큰 기반 시스템, AWS 스타일(예: 아마존 웹 서비스) 로그인을 포함한 여러 형태의 인증을 지원한다. 또, 카탈로그는 단일 레지스트리의 오픈스택 클라우드에 배치된, 쿼리 가능한 모든 서비스 목록을 제공한다. 사용자들과 서드 파티 도구들은 사용자들이 어느 리소스에 접근할지를 프로그래밍적으로 결정할 수 있다.

이미지 (Glance) [ 편집 ]

오픈스택 이미지(Glance)는 디스크 및 서버 이미지를 위한 검색, 등록, 배급 서비스를 제공한다. 저장된 이미지들은 템플릿으로 사용이 가능하다. 수에 제한이 없는 백업본을 저장하고 카탈로그화하는데 사용할 수도 있다. 이미지 서비스는 Swift를 포함한 다양한 백엔드에 디스크와 서버 이미지들을 저장할 수 있다. 이미지 서비스 API는 디스크 이미지에 관한 정보를 조회하기 위해 표준 REST 인터페이스를 제공하며 클라이언트가 이미지를 새로운 서버에 스트리밍할 수 있게 한다.

Glance는 기존의 레거시 인프라스트럭처에 수많은 개선 사항을 추가하고 있다. 이를테면 VMware와 연동할 경우 Glance는 고가용성 및 동적 자원 스케줄링(DRS)인 vSphere 계열에 대한 고급 기능들을 도입하고 있다. vMotion은 하나의 물리적인 서버에서 다른 서버로 서비스 방해 없이 실행 중인 VM의 실시간 마이그레이션을 수행한다. 그러므로 동적이고 자동화된 자체 최적화 데이터센터를 가능케 하며, 다운타임 없이 성능이 떨어지는 서버들의 하드웨어 유지보수를 허용한다.[43][44]

Heat와 같이 이미지와 상호작용이 필요한 다른 오픈스택 모듈들은 Glance를 통해 이미지 메타데이터와 통신해야 한다. 또한, 노바는 이미지에 대한 정보를 표시할 수 있으며 인스턴스를 만들기 위한 이미지의 변경 사항을 구성한다. 한편, Glance는 이미지를 추가, 삭제, 공유, 복제할 수 있는 유일한 모듈이다.[45]

오브젝트 스토리지 (Swift) [ 편집 ]

오픈스택 오브젝트 스토리지(Swift)는 확장 가능한 여분의 스토리지 시스템이다. 오브젝트와 파일들은 데이터 센터 내 서버를 통해 퍼져있는 여러 개의 디스크 드라이브에 기록되며, 오픈스택 소프트웨어는 클러스터를 통한 데이터 복제 및 무결성을 보장하는 일을 맡는다. 스토리지 클러스터들은 단순히 새로운 서버들을 추가함으로써 수평적으로 확장한다. 서버나 하드 드라이브가 고장이 나면, 오픈스택은 활성화된 다른 노드의 내용물을 클러스터 내의 새로운 위치들로 복제한다. 오픈스택이 각기 다른 장치 간 데이터 복제 및 배포를 보증하는 소프트웨어 로직을 사용하기 때문에 비싸지 않은 하드 드라이브와 서버들을 사용할 수 있다.

2009년 8월, 랙스페이스는 “클라우드 파일” 제품을 완전히 대체하기 위해 오픈스택 오브젝트 스토리지의 선구자격인 소프트웨어의 개발을 시작했다. 초기 개발팀은 9명의 개발자로 이루어졌다.[46] 오브젝트 스토리지 소프트웨어 기업 스위프트스택(SwiftStack)은 현재 스위프트의 주도적인 개발사이며 HP, 레드햇, NTT, NEC, IBM 등이 상당 부분 참여하고 있다.[47]

대시보드 (Horizon) [ 편집 ]

오픈스택 대시보드(Horizon)는 관리자와 사용자들에게 클라우드 기반 자원 배치의 접근, 제공, 자동화를 위한 그래픽 인터페이스를 제공한다. 설계는 청구, 모니터링, 추가 관리 도구와 같은 서드파티 제품과 서비스들을 수용한다. 대시보드는 또한 이용하기 원하는 서비스 제공자 및 기타 상용 벤더들을 위해 브랜드화가 가능하다. 대시보드는 사용자들이 오픈스택 자원들과 상호작용할 수 있는 여러 방법 가운데 하나이다. 개발자들은 네이티브 오픈스택 API나 EC2 호환 API를 사용하여 자원을 관리하기 위해 액세스를 자동화하거나 도구를 빌드할 수 있다.

오케스트레이션 (Heat) [ 편집 ]

Heat는 오픈스택 네이티브 REST API와 클라우드포메이션 호환 쿼리 API를 통해 여러 개의 복합 클라우드 애플리케이션들을 조직하기 위한 서비스이다.[48]

워크플로 (Mistral) [ 편집 ]

Mistral은 워크플로를 관리하는 서비스이다. 사용자는 보통 YAML 기반 워크플로 언어를 이용하여 워크플로를 작성한 다음 REST API를 통해 Mistral에 워크플로 정의를 업로드한다. 그 뒤 사용자는 이 워크플로를 동일한 API를 통해서 수동으로 시작하거나 일부 이벤트에 대해 워크플로의 시작을 작동시킬 수 있다.[49]

텔레메트리 (Ceilometer) [ 편집 ]

오픈스택 텔레메트리(Ceilometer)는 현재 및 미래의 모든 오픈스택 구성요소를 통해 고객 청구 확립이 필요한 모든 카운터를 제공하는, 청구 시스템을 위한 단일 연락 지점을 제공한다. 카운터 전달은 추적 및 감사가 가능하며, 카운터는 새로운 제품들을 지원하기 위해 쉽게 확장 가능하여야 하며 데이터 수집을 하는 에이전트들은 전체 시스템과는 독립적인 것이 좋다.

데이터베이스 (Trove) [ 편집 ]

Trove는 관계형 및 비관계형 데이터베이스 엔진을 제공하는 서비스형 데이터베이스(database-as-a-service)이다.[50]

일래스틱 맵 리듀스 (Sahara) [ 편집 ]

Sahara는 하둡 클러스터를 쉽고 빠르게 제공하기 위한 구성 요소이다. 사용자들은 하둡 버전 번호, 클러스터 토폴로지 유형, 노드 상세 정보(디스크 사용률, CPU, RAM 설정 정의)와 같은 여러 변수들을 지정하게 된다. 사용자가 모든 구성 요소들을 제공한 다음 Sahara는 수 분 안에 클러스터를 배치한다. Sahara는 또한 요청을 받으면 작업자 노드를 추가하거나 제거함으로써 기존의 하둡 클러스터를 확장하는 수단을 제공한다.[51][52]

베어 메탈 (Ironic) [ 편집 ]

Ironic은 가상 머신 대신 베어 메탈 머신을 준비시키는 오픈스택 프로젝트이다. 처음에는 노바 베어 메탈 드라이버로부터 분기되었고, 별도의 프로젝트로 발전해오고 있다. 베어메탈 하이퍼바이저 API이자, 베어 메탈 하이퍼바이저와 상호 작용하는 플러그인들의 집합으로 생각할 수 있다. 기본적으로 PXE와 IPMI를 사용하여 머신을 예비하고 켜고 끌 수 있지만, Ironic은 벤더 특화 플러그인들을 지원, 확장하여 추가 기능을 구현할 수 있다.[53][54]

메시징 (Zaqar) [ 편집 ]

Zaqar는 웹 개발자들을 위한 멀티테넌트 클라우드 메시징 서비스이다. 이 서비스는 완전한 RESTFul API로, 개발자들이 다양한 통신 패턴을 사용하여 SaaS와 모바일 애플리케이션들의 다양한 구성 요소 사이에 메시지를 보내는데 사용할 수 있다. 기반이 되는 이 API는 확장성과 보안을 염두에 두고 설계된 효율적인 메시징 엔진이다. 다른 오픈스택 구성 요소들은 Zaqar와 통합하여 이벤트를 최종 사용자에게 표현하고 클라우드 위의 계층에서 실행되는 게스트 에이전트와 통신할 수 있다.

공유 파일 시스템 (Manila) [ 편집 ]

오픈스택 공유 파일 시스템(Manila)은 오픈 API를 제공하여 벤더 독립적인 프레임워크 안의 공유물들을 관리한다. 초기 표준에는 공유물에 대한 작성, 삭제, 접근 권한 부여/거부 기능을 포함하며 독립적으로나 각기 다른 다양한 네트워크 환경에서 사용할 수 있다. EMC, 넷앱, HP, IBM, 오라클, Quobyte, 히타치 데이터 시스템의 상용 스토리지 어플라이언스들뿐 아니라 레드햇 GlusterFS와 같은 파일시스템 기술 또한 지원된다.[55]

DNS (Designate) [ 편집 ]

Designate은 DNS를 관리하는 멀티테넌트 REST API이다. 이 구성 요소는 서비스형 DNS를 제공하며 PowerDNS, BIND를 포함한 수많은 백엔드 기술들과 호환된다. 하나의 테넌트마다 DNS 존을 관리하기 위해 기존의 DNS 서버와 상호 작용하는 등의 목적으로 DNS 서비스를 제공하지는 않는다.[56]

검색 (Searchlight) [ 편집 ]

Searchlight는 다양한 오픈스택 클라우드 서비스를 통해 고급 및 일정한 검색 기능을 제공한다. 데이터를 ElasticSearch로 색인화함으로써 다른 오픈스택 API 서버로부터 사용자 검색 결과를 가져와서 성취된다.[57] Searchlight는 Horizon에 연동되고 있으며[58] 명령 줄 인터페이스도 제공한다.[59]

키 매니저 (Barbican) [ 편집 ]

Barbican은 기밀 정보의 스토리지에 보안을 제공하고 준비하고 관리하는 REST API이다. 단명하는 대형 클라우드를 포함한 모든 환경에 유용하게 쓰일 수 있도록 하는 것이 목적이다.[60]

같이 보기 [ 편집 ]

각주 [ 편집 ]

Open Source Cloud Computing Infrastructure

The Most Widely Deployed Open Source Cloud Software in the World

Deployed by thousands. Proven production at scale. OpenStack is a set of software components that provide common services for cloud infrastructure.

OpenStack is developed by the community. For the community. Learn how to contribute

더북(TheBook): 오픈스택을 다루는 기술

오픈스택을 다루는 기술

오픈스택 클라우드 구축과 운영을 위한 현장 밀착 입문서

핵심만 빠르게

오픈스택을 이용해서 클라우드 서비스를 구축하려면 클라우드 시스템을 지탱하는 인프라와 오픈스택을 구성하는 서비스들을 이해해야 한다. 100여 개의 일러스트와 간결한 설명으로 쉽고 빠르게 익힐 수 있다.

오픈스택을 설치

우분투에서 데브스택(DevStack)과 매뉴얼로 설치하기

CentOS에서 팩스택(PackStack)과 매뉴얼로 설치하기

운영 방법과 트러블 슈팅

설치가 끝이 아니다. 인스턴스 생성, 유동 IP 할당, 볼륨 스토리지 생성 등 오픈스택을 사용하고 운영하는 기본 방법들을 설명한다. 그리고 설치하면서 생기는 많은 문제들을 해결해나가는 트러블 슈팅도 함께 익힌다.

KINX

오픈스택 프로젝트와 로드맵

오픈스택은 구성 요소별로 프로젝트를 진행하며, 모듈 방식의 아키텍처를 가지고 있습니다.

컴퓨트, 네트워크 요소, 스토리지를 바탕으로 해당 자원과 관련된 기능에 따라 다양한 프로젝트들이 진행 중입니다.

열린 설계와 개발을 지향하는 오픈스택은 6개월의 릴리즈 사이클을 유지하며 로드맵을 설정하고 있습니다.

주요 프로젝트 컴퓨트 Nova

네트워크 Neutron

스토리지 Cinder

보안, 인증 Keystone

이미지 관리 Glance

오픈 스택의 주요 용어 정리

+ 오픈스택이란?

Heat이란?

가상 서버를 생성하는 컴퓨트 Nova

오브젝트 스토리지 Swift

운영체제 이미지를 관리하는 Glance

인증을 관리하는 Keystone

네트워크를 관리하는 Neutron

블록 스토리지를 관리하는 Cinder

대시보드 Horizon

오픈스택이란?

클라우드 컴퓨팅을 공부하면 자주 등장하는 용어는 오픈스택입니다.

오픈스택은 오픈소스의 형태로 클라우드 컴퓨팅 환경에서 많은 부분 지원합니다.

오픈스택 홈페이지에서의 오픈스택은 아래와 같이 소개되어 있습니다.

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.

간단히 요약하면 계산,저장소,네트워크 자원들을 관리하는 클라우드 운영체제입니다.

오픈스택은 현재 클라우드 인프라를 구축할 수 있는 가장 거대한 오픈 소스 프로젝트이고, 6개월에 한 번씩 새로운 버전을 릴리스하며, 기술 범위도 상당히 방대합니다.(오픈스택 릴리스 웹 사이트)

만약 오픈스택 관련 용어가 궁금하다면 여기에서 검색!!

클라우드 컴퓨팅에 사용되는 서버들을 제어하려면 전문적인 하드웨어 지식과 서버를 운영하는 운영체제의 지식이 필요한데, 이것은 어떤 하드웨어와 운영체제를 사용하는냐에 따라 다르기 때문에 환경이 바뀔 때마다 새로운 지식을 습득해야하는 문제가 있습니다.

이러한 문제를 해결하기 위해 서버의 하드웨어와 운영체제와 관계 없이 클라우드 컴퓨팅 개발의 표준을 제공하는 것이 오픈스택입니다.

오픈스택의 구성

Heat이란?

OpenStack 오케스트레이션 Heat 서비스는 heat orchestration template(hot)을 사용하여 클라우드 자원을 생성하고 관리합니다.

오케스트레이션 서비스는 실행 중인 애플리케이션을 생성하기 위해 OpenStack API를 호출하여 템플릿 기반의 오케스트레이션을 제공합니다.

오케스트레이션 : 컴퓨터 시스템과 애플리케이션, 서비스의 자동화된 설정, 관리, 조정을 의미

Heat의 구조

사용자는 API를 직접 호출하여 오케스트레이션 서비스를 요청하거나 CLI(Command Line Interface)를 통해 동일한 작업을 수행할 수 있습니다.

이때 CLI 역시 사용자 명령을 API로 변환하여 처리하게 됩니다. 수신된 API 서버는 AMQP(Advanced Message Queueing Protocol)규격 기반의 메시지 통신을 통해 Heat Engine으로 이를 전달합니다. Heat Engine은 수신한 템플릿과 API의 파라미터에 포함된 사용자 요청 데이터를 기반으로 인프라 및 클라우드 애플리케이션을 생성하기 위하여 Nova API, Neutron API 등과 같은 오픈스택 프로젝트들의 API를 호출합니다.

Heat Orchestartion Template

Heat는 템플릿 기반의 오케스트레이션 서비스를 제공하는 프로젝트로 사용자가 구성하고자 할 가상 자원들을 템플릿에 명시하도록 합니다.

템플릿은 JSON(Java-Script Object Notation)이나 YAML(YAML Ain’t Mark-up Language)과 같이 사람이 쉽게 읽고 작성할 수 있는 텍스트 기반의 데이터 인코딩 방식을 이용합니다. 아마존 웹서비스의 CFN 템플릿이 JSON 기반의 표현 방식을 사용하는 반면 HOT 템플릿은 YAML을 인코딩 방식으로 사용합니다. YAML 방식이 JSON 방식에 비해 파싱(parsing)의 부하가 좀 더 크지만 JSON과 달리 멀티라인 스트링을 지원하고 주석 처리가 용이하다는 장점을 갖습니다.

가상 서버를 생성하는 컴퓨트 Nova

오픈스택 Nova는 컴퓨트 서비스의 핵심이며 하이퍼바이저(VM을 생성하고 구동하는 소프트웨어), 메시지 Queue, 인스턴스 접속을 하는 콘솔 등 다양한 기능이 유기적으로 연결되어 가상 서버를 생성할 수 있는 시스템을 구성합니다.

특이점으로는 RESTful API를 지원하고 아마존 EC2 서비스와 호한이 됩니다. 즉, Nova API는 EC2 API와 연동이 가능합니다.

Restful API : REST란 웹에 존재하는 모든 자원(이미지,동영상, DB 자원)에 고유한 URL를 부여해서 활용하는 것으로, Restful API는 REST의 특징을 지키면서 API를 제공하는 것을 의미합니다.

아마존 EC2 : Amazon Elastic Compute Cloud(EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스로 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계되었습니다.

Nova의 Logical Architecture

Nova는 dashboard나 커맨드 라인 명령어가 호출하는 nova-api로부터 시작한다. nova-api는 Queue를 통해 nova-compute에 인스턴스를 생성하라는 명령어를 전달하고 인스턴스 생성 명령어를 전달받은 nova-compute는 하이퍼바이저 라이브러리를 통해 하이퍼바이저에게 인스턴스를 생성하라는 명령어를 다시 전달한다. 그 때 하이퍼바이저는 인스턴스를 생성한다. 생성된 인스턴스는 nova-console을 통해 사용자가 접근할 수 있게 된다.

Nova가 지원하는 하이퍼바이저

Nova가 지원하는 하이퍼바이저는 그룹은 아래와 같이 3개입니다.

만약 지원하는 하이퍼바이저 종류를 더보고 싶으면 여기에서 확인!!

노드별로 설치되는 Nova

오브젝트 스토리지 Swift

Openstack Swift는 Object Storage 중 하나이며 오픈소스 프로젝트입니다.

분산 구조의 Object 데이터의 저장 스토리지 체계로서 가장 많이 사용되는 Open Source Project가 바로 Openstack Swift입니다.

Object Storage : 데이터에 unique ID를 부여하여, 컨테이너 버킷에 저장하고, 필요한 데이터에 대해 부여했던 ID를 통해 호출하여 사용하는 스토리지이다. 대용량의 저장공간이 필요할 때 사용하기 적절한 스토리지이다. 장점 : 데이터를 저장할 위치와 방법에 대해서 고민하지 않아도 된다. 단점 : 빠른 성능을 요구하는 경우에 쓰이기에는 부적절 하다.

OpenStack Swift는 동영상, 이미지, 디스크 이미지 등의 대용량, 비정형 데이터를 저장하기에 적합한 스토리지로, 데이터를 파일과 메타데이터로 저장하며 각각의 파일을 복제 방식을 이용해 분산 관리하고 계정마다 저장공간을 분리하지 않고 하나로 사용하여 공간을 최대한으로 활용하는 분산형 Object Storage입니다.

Swift의 Logical Architecture

오픈스택 Swift는 swift-proxy, account(사용자 계성 관리), container(저장 공간의 단위), object(실 데이터)로 구성된다.

swift-proxy는 account, container, object를 관리한다.

account, container는 DB로 데이터를 관리하고, Object는 저장공간에 직접 저장되는 방식으로 설게되어 있다.

Swift 장점

동영상, 이미지, 디스크 이미지 등의 대용량 비정형 데이터를 저장 하기에 적합

하기에 적합 각각의 Object들은 고유한 URL을 갖고 API로 제어

멀티 테넌트로 구현이 가능하며 저장 공간에 제약이 없음.(계정마다 저장공간을 할당받는 것이 아닌 모든 공간을 같이 사용)

Swift API

Swift는 OpenStack의 통합 Console을 이용해 기본적인 Object 저장 및 다운로드 등의 기능을 이용할 수 있습니다. 하지만 OpenStack이 없는 상태로 Swift만 단독으로 사용하여 사용자가 원하는 기능을 구현하거나 또는 별도의 UI를 만들기 위해서는 Swift API를 이용해야 합니다.

Swift는 API를 통해 Object를 관리할 수 있도록 다양한 기능을 제공하며 개발자의 편의를 위해 다양한 형태의 API를 제공합니다. Swift API는 기본적으로 REST API입니다.

REST API 등을 사용하여 Object를 관리하기 위해서는 먼저 사용자 인증을 받아야 하는데, 일반적으로 OpenStack의 KeyStone Auth를 사용해 Token을 받습니다. 받은 Token을 이용하여 Object Storage를 관리하게 됩니다.

API요청을 받아들이고 이를 처리하는 역할은 Proxy Server가 담당하며 요청의 종류에 따라 실제 데이터의 처리를 어디서 수행하게 될지를 결정합니다.

Proxy Server

Porxy Server는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 시스템이나 응용 프로그램을 뜻합니다.

Porxy Server는 Swift의 모든 요청을 Ring(분산 서버들의 정보를 가지고 있다.)을 참고하여 적합한 서버에 처리를 분산하는 역할을 합니다.

Ring

Ring은 데이터가 저장될 논리적 위치와 물리적인 저장 위치 간의 매핑을 제공하는 정보로서 전화번호부 또는 주소록과 비슷한 역할을 합니다.

Ring 파일에는 스토리지 디바이스 정보들이 존재하는데 그 정보에 대한 내용이 아래와 같습니다.

Ring 파일은 Proxy 노드에서 생성하여 모든 스토리지 노드가 동일하게 가지고 있습니다.

운영체제 이미지를 관리하는 Glance

오픈스택은 Nova를 사용하여 가상머신(인스턴스)를 만듭니다. 그리고 Nova는 다양한 하이퍼바이저를 지원하고, 하이퍼바이저 위에 생성될 가상머신에는 반드시 운영체제가 필요합니다.

이때 다양한 하이퍼바이저에서 사용할 수 있는 가상머신 이미지를 관리하고, 가상머신에 설치된 운영체제를 보관 및 관리하는 것이 Glance입니다.

Glance의 Logical Architecture

Glance 사용자들은 glance-api를 통해 이미지를 등록, 삭제 및 관리를 할 수 있다.

glance-api는 glance-registry와 glance database에서 이미지가 관리된다.

이미지를 등록할 때는 glance_registry를 통해 glance-database에 저장이 된다.

등록된 이미지를 사용할 때는 glance-database에 바로 사용요청을 한다.

더 쉽게 그림으로 보면 아래와 같습니다.

Glance의 이미지

오픈스택에서 인스턴스를 생성할 때, Virtual box나 VMWare에서 생성하는 가상머신처럼 운영체제 이미지를 다운로드 받아 설치할 수 있을 꺼라고 생각하지만 사실은 다릅니다.

오픈스택 Nova에서 인스턴스를 생성할 때는 가상머신을 생성한 후 운영체제를 별도로 설치하는 것이 아니라 이미 하이퍼바이저에서 생성한 가상머신에 운영체제를 설치한 이미지를 Glance에 등록시키고, 등록시킨 이미지를 이용하여 인스턴스를 생서하는 것입니다.

다시 말해, 다운로드 받은 이미지를 Glance에 등록시켜 놓고, 등록시킨 이미지로 인스턴스를 생성한다는 뜻입니다.

인증을 관리하는 Keystone

keystone은 오픈스택 내의 자원을 아무나 사용하는 것이 아닌 오픈스택 구성원만 사용할 수 있게 사용자 인증을 통해 물리 서버내의 자원을 사용할 수 있도록 관리합니다.

Keystone의 Logical Architecture

Token Backend는 사용자 별 Token(사용자가 오픈스택 서비스가 제공하는 자원에 접근할 때 신분을 증명하기 위해 사용하는 텍스트 데이터)을 관리합니다.

Catalog Backend는 오픈스택의 모든 서비스의 End-point URL을 관리합니다.

Policy Backend는 테넌트, 사용자 계정 및 롤 등을 관리합니다.

Identity Backend를 통하여 사용자 인증을 관리합니다.

OpenStack에서의 Keystone 위치

오픈스택에서 Keystone은 모든 서비스를 관장하는 위치에 자리하고 있습니다. Keystone은 타인이나 해커로부터 시스템을 안전하게 보호하고, 사용자 등록 및 삭제, 권한 관리, 사용자가 접근할 수 있는 서비스 포인트 관리까지 사용자 인증에 대한 모든 관리를 Keystone이 수행하고 있습니다.

Tenant(Project), User, Role

Keystone은 사용자 인증 부분과 서비스 인증 부분을 관리합니다. 사용자일 경우에는 사용자 그룹인 Tenant, 사용자 계정 정보인 User ID와 PW, 사용자 권한인 Role을 가집니다.

(Keystone V2까지 Tenant라는 이름으로 사용되고 V3부터는 Project로 사용됨)

서비스일 경우에는 서비스를 등록하고 해당 서비스의 Endpoint URL을 등록합니다.

Tenant(어떤 자원이나 어플리케이션에 대한 권리를 가진 보안그룹)는 User가 포함됩니다.

User는 Role(사용자가 어떤 동작을 수행하도록 허용하는 집합)을 가지고 있습니다.

Token을 발행할 때는 Tenant와 User의 정보가 필요합니다.

서비스가 있고, 각각의 서비스는 Endpoint URL을 가집니다.

User는 Endpoint URL을 통해 서비스에 접근합니다.

KeyStone 동작 절차

사용자가 KeyStone으로부터 범위 비지정(UnScoped)토큰 획득

1) 사용자가 Nova 서비스가 제공하는 가상머신을 사용하기 위해 KeyStone에 접속한다.

2) KeyStone은 사용자에게 신분증명을 요구한다.

3) 사용자는 아이디와 패스워드를 제출하여 신분을 증명한다.

4) KeyStone은 인증에 성공한 사용자에게 UnScoped 토큰을 발급한다. 이때 토큰에는 사용자가 사용가능한 서비스들에 대한 범위가 포함되어있지 않다. KeyStone이 사용자가 접속 가능한 프로젝트 찾기

1) 신분증명을 완료하여 UnScoped 토큰을 받은 사용자는 이 토큰을 통해 자신이 접속 가능한 프로젝트를 요청한다.

2)KeyStone은 이 사용자에게 할당된 역할에 따라 프로젝트의 종류와 수행 가능한 EndPoint목록을 작성한다. 사용자가 KeyStone으로부터 범위 지정(Scoped) 토큰 획득

1) KeyStone은 사용자가 접속가능한 프로젝트 목록과 사용자가 사용을 원하는 프로젝트를 결정한다.

2) 위의 정보(프로젝트와 역할)가 포함된 토큰을 사용자에게 보낸다. 사용자가 서비스에게 서비스 요청하기

1) 범위가 지정된 토큰을 받은 사용자는 토큰 내부의 EndPoint를 확인하고, 서비스에게 서비스를 요청한다. 요청을 받은 서비스가 KeyStone에게 토큰 검증 의뢰하기

1) 서비스는 사용자가 요청과 함께 제출한 토큰의 메타데이터 정보가 유효한지 검증하기 위해 KeyStone에게 의뢰

2)KeyStone은 서비스로부터 받은 메타데이터와 Policy Backend에 저장된 메타데이터와 비교 검증이 완료된 토큰을 서비스에게 제공

1) 사용자가 요청한 서비스에 접근이 가능한지 토큰의 메타데이터의 검증을 마친 KeyStone은 그 결과를 서비스에게 제공 서비스가 사용자의 요청 실행하기

1) 서비스는 KeyStone으로부터 토큰 검증을 완료한 후 인스턴스를 실행하라 또는 볼륨을 생성하라 등의 요청을 수행하낟. 결과 보고하기

1) 서비스는 사용자의 요청에 대해서 실행에 대한 결과를 사용자에게 보고한다.

네트워크를 관리하는 Neutron

많은 사람들이 “Neutron이 직접 OpneStack의 네트워크를 구현하는것”이라고 오해를 하고 있습니다.

하지만 Neutron은 실제로 어떻게 네트워크를 구현해야 하는지 모릅니다. 즉, Neutron은 네트워크의 생성/변경/삭제에 대한 API만 제공할 뿐 실제로는 Plug-in을 통해서 네트워크가 구성되는 것입니다.

Neutron의 Logical Architecture

사용자는 Neutron API를 이용하여 Neutron 서버로 IP 할당을 요청합니다. Neutron 서버는 들어온 요청을 Queue로 다시 요청합니다. Queue는 Neutron 에이전트와 플러그인으로 IP 할당 지시를 내립니다. Neutron 에이전트와 플러그인은 지시 받은 작업을 데이터베이스에 저장합니다. Neutron 에이전트는 네트워크 프로바이더에게 작업을 지시합니다. 그리고, 수시로 작업상태를 데이터베이스에 업데이트합니다. 할당된 IP를 인스턴스에서 사용할 수 있습니다.

하이퍼바이저별 지원하는 플러그인

대부분의 플러그인들은 오픈스택의 기본 하이퍼바이저인 KVM과 QEMU에 의해 제공되어 있습니다.

그렇기 때문에 오픈스택으로 클라우드 컴퓨팅 시스템을 구축할 때는 하이퍼바이저를 대부분 KVM으로 사용합니다.

노드별로 설치되는 Neutron

노드 별로 설치되는 Neutron 프로세스들은 아래와 같습니다.

컨트롤러 노드

-Neutron Server

-Neutron Plugin Agent

-이더넷 네트워크 인터페이스 2개 필요(관리용 네트워크, API 네트워크)

네트워크 노드

-Neutron Plugin Agent

-L3 에이전트

-DHCP 에이전트

-OpenvSwitch

-이더넷 네트워크 인터페이스 3개 필요(관리용 네트워크, 데이터 네트워크, 외부 네트워크)

컴퓨트 노드

-Neutron Plugin Agent

-L2 Layer Agent OpenvSwitch

-네트워크 노드와 컴퓨트 노드 간의 데이터 통신을 위한 데이터 네트워크 필요

블록 스토리지를 관리하는 Cinder

블록 스토리지인 Cinder는 Nova에서 생성된 인스턴스에 확장하여 사용할 수 있는 저장 공간을 생성 및 삭제하고 인스턴스에 연결할 수 있는 기능을 제공합니다.

Cinder의 Logical Architecture

Cinder API를 통해 볼륨을 추가 및 삭제할 수 있다.

Cinder-volume은 volume을 실제로 생성하고 데이터베이스에 volume정보를 업데이트합니다.

Cinder는 물리 하드 디스크를 LVM(Logical Volume Manager)으로 설정합니다.

설정한 LVM은 cinder.conf와 nova.conf의 환경설정을 통하여 volume을 할당할 수 있습니다.

cinder API를 통해 생성된 volume은 단일 인스턴스 또는 여러 인스턴스에 할당할 수 있습니다.

Cinder가 지원하는 Block Storage 드라이버

Cinder의 기본 Block Storage 드라이버는 ISCSI기반의 LVM입니다. 그러나 이 외에도 많은 드라이버가 Block Storage로 사용이 되는데, 아래의 그림이 Cinder의 Block Storage 드라이버의 종류입니다.

LVM(Logical Volume Manager)

LVM은 Logical Volume Manager의 약자로 하드 디스크를 파티션 대신 논리 볼륨으로 할당하고, 다시 여러 개의 디스크를 좀 더 효율적이고 유연하게 관리할 수 있는 방식을 뜻합니다.

생성된 볼륨을 인스턴스에 할당하여 디스크처럼 사용할 수 있습니다.

대시보드 Horizon

오픈스택 대시보드 서비스인 Horizon은 사용자가 웹 UI를 통하여 인스턴스 생성, 삭제 및 관리 등을 쉽고 빠르게 처리할 수 있도록 해주는 웹 서비스입니다. Horizon은 아파치 웹 서버를 사용하며, 대시보드는 파이썬 장고 프레임워크로 구현되어 있습니다.

Horizon의 Logical Architecture

기업에서는 오픈스택을 왜 사용할까? 처음 시작은 어떻게 해야 할까?

blog post

이번 포스트에서는 잠시 기술적인 내용이 아닌, 클라우드 산업과 오픈스택에 대한 본질적인 내용에 관하여 이야기해 보도록 하겠습니다. 글의 마지막에서는 오픈스택을 처음 접하시는 분들을 위한 짧은 조언과 함께 포스팅을 마치도록 하겠습니다.

클라우드 배경

최근 클라우드 시스템이 비즈니스 인프라 기술 분야에서 각광받고 있습니다. 덕분에 오픈스택 역시 많은 기업에서 인프라 개선을 위해 활용되고 있으며, 심지어 이를 서비스화 하는 등, 활용 방안에 관해서도 다양하게 연구되고 있습니다.

사실 오픈스택을 포함한 비즈니스 클라우드 플랫폼 산업이 최근 들어 새롭게 주목받은 분야는 아닙니다. 클라우드 시스템은 이미 AWS라고 불리는 아마존의 퍼블릭 클라우드를 필두로 인프라 산업에서 수년 전부터 주목받아 왔습니다. 클라우드 플랫폼을 구축함으로써 기존 물리 장비 구매, 유지보수에 들어가는 비용을 효과적으로 절감할 수 있다는 이점은 물론, 인프라의 운영 안정성, 보안성 확보 등, 얻을 수 있는 이점들이 많기 때문입니다. 따라서 최근 많은 기업들이 온-프레미스 기반의 인프라 환경을 클라우드 기반으로 마이그레이션하고 있습니다.

여기에 아마존, 마이크로소프트, 구글 등의 글로벌 IT 기업은 각각 AWS, Azure, GCP 등의 제품을 통해 퍼블릭 클라우드 시스템을 서비스화 하기에 이르렀죠. 국내에도 KT, 네이버 등의 기업들이 퍼블릭 클라우드 서비스 시장에서 활약하고 있습니다. 물론 퍼블릭 클라우드뿐만 아니라 프라이빗 클라우드 시스템도 역시 함께 주목받고 성장해 왔습니다. 대표적으로 IBM, 한화 S&C 같은 기업들이 프라이빗 클라우드 서비스를 제공하고 있습니다.

퍼블릭 클라우드 vs 프라이빗 클라우드

앞서 잠시 퍼블릭과 프라이빗 클라우드 시스템에 대해서 언급했는데, 이 둘에 대해서도 한번 살펴보겠습니다. 클라우드 시스템은 운영 형태에 따라 퍼블릭 클라우드와 프라이빗 클라우드 시스템으로 구분할 수 있습니다. 이 둘을 구분 짓는 가장 큰 차이는 ‘클라우드 시스템이 어디에 위치해 있는가’입니다. 퍼블릭 클라우드 시스템의 경우, 이를 서비스로 제공하는 벤더사의 데이터 센터에 위치해 있습니다. 예를 들어, 마이크로소프트의 Azure 클라우드의 경우, 전 세계 곳곳에 있는 마이크로소프트의 데이터센터에 시스템이 구축되어 있습니다. Azure를 사용하는 클라이언트 기업들은 MS의 데이터센터에 구축된 Azure 시스템을 사용하는 것이라고 볼 수 있습니다. 반면 프라이빗 클라우드 시스템의 경우, 클라우드 시스템을 사용하는 사용 주체(기관)가 자신의 데이터 센터에 직접 구축하고 운영하는 형태입니다.

두 방식 모두 장단점이 있습니다. 우선 퍼블릭 클라우드 시스템의 경우, 사용 주체(기관)가 직접 클라우드 인프라를 구축하지 않고도 컴퓨팅에 필요한 리소스를 사용할 수 있다는 이점으로 인해, 클라우드 인프라 구축에 필요한 시간과 인력, 구축&유지보수 비용 등을 절감할 수 있다는 효과가 있습니다. 하지만 서비스를 사용하는 입장에서 정기적으로 요금을 지불해야 한다는 단점이 있습니다. 사용하는 리소스의 규모가 커질수록 비용도 증가하기 때문에 기업 입장에서는 다소 부담이 될 수 있습니다.

반면, 프라이빗 클라우드 시스템의 경우, 앞서 퍼블릭 클라우드와 비교했을 때, 직접 구축하고 유지하기 때문에, 서비스 사용에 따른 정기적 요금 지불 부분에서는 자유롭습니다. 특히 오픈스택 같은 오픈소스를 기반으로 구축되면 더욱 그렇죠. 하지만 프라이빗 형태의 경우, 클라우드 시스템을 구축할 수 있는 전문 인력이 필요하고 여기에 들어가는 시간, 비용이 발생할 수 있습니다. 또한 클라우드 이용 기관이 직접 구축하지 않고 외부 벤더에 의해 프라이빗 클라우드 시스템도 서비스로 제공받을 수 있는데, 만약 이러한 서비스를 제공받는다면 사용 요금을 지불해야 할 수도 있죠.

따라서 어떤 형태의 클라우드 시스템이 더 우수하다고 논하기는 다소 어렵습니다. 클라우드 시스템을 사용하는 클라이언트 기관의 클라우드 사용 목적, 내부 인프라 구조, 사업 분야 등, 다양한 부분이 고려되어야 하기 때문입니다. 퍼블릭과 프라이빗 클라우드 시스템을 결합한 하이브리드 형태의 서비스도 있는데, 이 부분은 또 다른 문제입니다.

그럼 오픈스택은?

오픈스택은 클라우드 인프라 설계에 필요한 서버, 스토리지, 네트워크, 가상화 등을 종합적으로 지원하는 대표적인 프라이빗 클라우드 시스템입니다.

오픈스택은 오픈 소스 소프트웨어를 기반으로 구축되는 시스템이기 때문에 사업자가 직접 구축하여 사용할 수 있습니다. 물론 오픈스택을 상용화하여 판매하는 벤더의 서비스를 구매하여 사용할 수도 있습니다.

오픈스택을 사용함으로써 발생하는 장단점에는 여러 가지가 있습니다. 가장 큰 이점은 역시 상용화된 클라우드 시스템을 사용하는 경우와 비교했을 때, 시스템 사용에 대한 비용이 들지 않는다는 점입니다. 앞서 언급한 바와 같이 오픈스택은 오픈 소스 소프트웨어를 기반으로 하기 때문입니다. 또한 전 세계 개발자들이 끊임없이 개발하고 유지보수에 매달리기 때문에 최근에는 시스템이 많이 안정화되었습니다. 또 수많은 개발자들이 관여하는 만큼 버전 릴리즈도 빠른 편입니다.

하지만 단점도 꽤 있습니다. 오픈스택에서 가장 크게 부각되는 단점은 구축의 어려움입니다. 실제로 현업에서 오픈스택 관련 종사자들이 흔히 “오픈스택은 매뉴얼에 있는 그대로 쓰는 게 가장 안전하다”라고 언급할 만큼, 응용하여 구축하는 것이 쉽지 않다는 평이 많습니다. 시스템 내부의 수많은 소프트웨어가 서로 유기적으로 동작하기 때문에, 기존 설계에서 벗어나 응용하는 것이 다소 쉽지 않은 부분이 있습니다. 또한 시스템 내부 서비스 별 옵션도 많기 때문에 이러한 옵션 체계에 익숙해지는 것이 쉽지 않다는 문제도 지적되고 있습니다.

왜 오픈스택을 쓸까?

그럼에도 불구하고, 왜 오픈스택이 많은 인기를 얻고 있을까요?

아무래도 오픈소스 기반 시스템이기 때문에 이에 따른 기존 온-프레미스 물리 장비 혹은 퍼블릭 클라우드 사용 대비 비용 절감의 효과, 그리고 기존 온-프레미스 인프라 시스템과 연계하여 유연하게 구축할 수 있다는 점이 가장 크다고 볼 수 있습니다.

또한 리눅스 시스템을 기반으로 동작하고 내부 소프트웨어가 대부분 공개된, 잘 알려진 것들이 많기 때문에 유지보수 측면에서도 많은 이점이 있을 수 있습니다.

기존 퍼블릭 클라우드 시스템과 같이 자체 제작되어 내부 시스템에 직접 접근할 수 없는 경우에는 대부분 서비스 제공자로부터의 도움을 받아야 합니다. 하지만 오픈스택의 경우, 내부 일부 소프트웨어는 잘 알려진 오픈소스 소프트웨어이고, 공개된 API를 활용하여 사용자가 직접 추가 기능을 개발할 수도 있습니다. 또한 장애가 발생하는 경우, 오픈스택 재단의 버그 리포트를 통해 수정 사항을 확인할 수 있고 경우에 따라 기존 엔지니어를 통한 대처가 가능하다는 점 등, 오픈스택을 사용함으로써 얻을 수 있는 다양한 이점들이 있습니다.

어떻게 오픈스택을 시작해야 할까?

사실 오픈스택의 진입장벽은 꽤 높습니다. 물론 이미 오픈스택 재단, 혹은 수많은 블로그들을 통해 매뉴얼이 공개되어 있기 때문에 간단한 시스템 구축은 어렵지 않게 할 수 있으나, 이에 필요한 제반 지식, 기술 등이 일부 요구되는 것은 사실입니다.

따라서 이제 막 오픈스택에 발을 디디신 분들이라면, 아래의 항목을 우선 살펴보시기 바랍니다. 직접 오픈스택을 구축하고 관리해보기를 원하는 분들을 위한 참고사항들입니다.

리눅스 기본 컨트롤 – 오픈스택은 리눅스 기반 시스템이므로 적어도 리눅스를 기본적인 수준에서는 다룰 수 있어야 함

네트워크, 스토리지 등의 기초적인 시스템 설계 – 네트워크 구조, 파티셔닝 등을 직접 구성할 수 있어야 함. 오픈스택 시스템 역시 데이터센터의 네트워크, 스토리지를 기반으로 구축되고 동작하기 때문에 간단한 설계가 가능해야 함

가상화에 대한 이해 – 특히 KVM/QEMU 기반 하이퍼바이저에 대한 이해가 있으면 좋음.

그 밖에 서버 운영, 장애 대응 등의 경험이 있으면 유용

이러한 사항들을 바탕으로, 개인적으로 가장 먼저 오픈스택 재단 홈페이지에서 오픈스택에 대한 글을 먼저 읽어보실 것을 추천드립니다. 특히 영문으로 보실 것을 추천드리며, 오픈스택 관련 용어에 익숙해지는 것이 좋습니다.

다음으로 실제 구축 단계에서는, 물론 저의 블로그 포스트를 참고해 보시는 것도 좋겠지만(저의 경우 일반적인 환경에서의 설계는 아니므로), 처음 오픈스택 구축을 진행하시는 경우라면 오픈스택 공식 매뉴얼을 참고하실 것을 추천드립니다.

오픈스택 공식 매뉴얼 페이지: https://docs.openstack.org/

블로그 포스트: https://itguava.tistory.com/category/Cloud/Building%20up%20Openstack

또한 처음 오픈스택 시스템 설계 및 구축 후 운영 단계에서의 방법은 책을 보는 것도 추천드립니다. 개인적으로 “오픈스택 운영 가이드”가 유용했습니다 (광고 아닙니다). 책에서 소개하는 오픈스택 버전이 다소 버전이 오래되었으나, 설계 정도는 참고해봐도 좋을 것 같습니다. 물론 좋은 블로그 글들이 많으니 블로그 참고를 추천합니다.

또 기술적으로 가상화 및 스토리지 등의 기술까지 학습하는 것도 추천드립니다.

키워드에 대한 정보 오픈 스택

다음은 Bing에서 오픈 스택 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 오픈스택(OpenStack)의 개념과 핵심 키워드 1/2부, 안명호 mhr 대표

  • 한양대
  • 창조형오픈소스
  • sw사업단
  • 오픈스택
  • openstack
  • 안명호대표
  • mhr
  • 데브멘토

오픈스택(OpenStack)의 #개념과 #핵심 #키워드 #1/2부, #안명호 #mhr #대표


YouTube에서 오픈 스택 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 오픈스택(OpenStack)의 개념과 핵심 키워드 1/2부, 안명호 mhr 대표 | 오픈 스택, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment