Apache CloudStack이란?

박도준·2021년 3월 9일
0
post-thumbnail

Apache CloudStack이란?

Apache CloudStack은 프라이빗, 퍼블릭 또는 하이브리드 형식의 IaaS 컴퓨팅 클라우드를 구축하기 위해 스토리지, 네트워크 및 리소스 풀을 관리하고 조정하는 오픈소스 IaaS 플랫폼이다.

CloudStack으로 (1) Amazon EC2™ 서비스와 유사한 온디맨드 방식의 탄력적인 클라우드 컴퓨팅 서비스를 설정할 수 있고, (2) 최종 사용자가 리소스를 프로비저닝할 수 있도록 허용할 수 있다.



클라우드 내의 리소스

Regions

지역(Region)은 CloudStack 배포 환경에서 사용 가능한 가장 큰 조직 단위이다. 여러 가용성 영역(zone)으로 구성되어 있으며, 각 영역은 대략 데이터 센터와 동일하다.

클라우드의 안전성을 높이기 위해 선택적으로 리소스를 여러 지리적 영역으로 그룹화할 수 있다.

지역 단계에서 사용 기록을 통합하고 추적하여 각 지역에 대한 보고서 또는 송장을 작성할 수 있다.


Zones

영역(Zone)은 CloudStack 배포 환경에서 두 번째로 큰 조직 단위이다. 영역은 일반적으로 단일 데이터 센터에 해당되지만 센터에 여러 영역을 포함할 수 있다. 인프라를 영역으로 구성하는 이점은 물리적 격리 및 이중화(redundancy)를 제공하는 것이다.

영역은 다음과 같이 구성된다.

  • 하나 이상의 Pod(각 Pod에는 하나 이상의 호스트 클러스터와 하나 이상의 기본 스토리지 서버가 포함되어 있다.)
  • 하나 이상의 Primary Storage - 영역의 모든 Pod에서 공유
  • Secondary Storage - 영역의 모든 Pod에서 공유

영역은 public 또는 private일 수 있다.

  • public zone : 모든 사용자가 볼 수 있고, 모든 사용자가 해당 영역에 게스트 vm을 생성할 수 있다.
  • private zone : 특정 도메인에 대해 예약되어 있어 해당 도메인 또는 하위 도메인의 사용자만 해당 영역에 게스트를 만들 수 있다.

동일한 영역에 있는 호스트는 방화벽을 통과하지 않고도 서로 직접 액세스 가능하다. 서로 다른 영역의 호스트는 정적으로 구성된 VPN 터널을 통해 서로 액세스할 수 있다.

각 영역에 관리자가 결정해야 하는 사항
1. 각 영역에 배치할 포드(Pod) 수
2. 각 포드에 배치할 클러스터 수
3. 각 클러스터에 배치할 호스트 수
4. 각 클러스터에 배치할 Primary Storage 서버 수와 이러한 스토리지 서버의 총 용량
5. Secondary Storage 용량
(선택 사항) 각 영역에 배치할 Primary Storage 서버 수와 이러한 스토리지 서버의 총 용량


Pods

포드(Pod)는 CloudStack 구축 환경에서 세 번째로 큰 조직 단위이다. 포드는 구역 내에 포함되어 있고, 각 영역에는 하나 이상의 포드가 포함될 수 있다. 포드는 하나 이상의 호스트 클러스터와 하나 이상의 기본 스토리지 서버롤 구성된다. 최종 사용자는 포드를 볼 수 없다.


Cluster

클러스터(Cluster)는 CloudStack 배포 환경에서 네 번째로 큰 조직 단위이다. 클러스터는 포드 내에 포함된다.

클러스터는 호스트를 그룹화하는 방법을 제공한다. 클러스터의 호스트에는 모두 동일한 하드웨어가 있고, 동일한 하이퍼바이저를 실행하고, 동일한 서브넷에 있으며, 동일한 공유 기본 스토리지에 액세스한다.

클러스터는 하나 이상의 호스트와 하나 이상의 Primary Storage 서버로 구성된다.

CloudStack은 클라우드 구현에 여러 클러스터를 허용한다.


Host

호스트(Host)는 CloudStack 배포 환경에서 가장 작은 조지 단위이다. 호스트는 클러스터 내에 포함된다.

CloudStack 배치에서 호스트:

  • vm을 호스트하는데 필요한 CPU, 메모리, 스토리지 및 네트워킹 리소스 제공
  • 고대역폭의 TCP/IP 네트워크를 사용하여 상호 연결하고 인터넷 연결
  • 여러 지역에 걸쳐 여러 데이터 센터에 위치할 수 있음
  • 클러스터 내의 호스트들은 모두 동질적(homogeneous)이어야 하지만 용량(다른 CPU 속도, 다른 RAM 크기 등)이 다를 수 있다.

언제든지 호스트를 추가하여 게스트 vm에 더 많은 용량을 제공할 수 있다.
CloudStack은 호스트에서 제공하는 CPU 및 메모리 리소스의 양을 자동으로 감지한다.
최종 사용자는 호스트를 볼 수 없다.

호스트가 CloudStack에서 작동하려면 다음을 수행해야 한다.

  • 호스트에 하이퍼바이저 소프트웨어 설치
  • 호스트에 IP 주소 할당
  • 호스트가 CloudStack Management Server에 연결되어 있는지 확인

Primary Storage

기본 스토리지(Primary Storage)는 클러스터에 연결되어 있으며 해당 클러스터의 호스트에서 실행 중인 모든 vm에 대한 가상 디스크를 저장한다. KVM 및 VMware에서는 영역별로 Primary 스토리지를 프로비저닝할 수 있다.

여러 기본 스토리지 서버를 클러스터 또는 영역에 추가할 수 있다. 일반적으로 성능 향상을 위해 호스트와 가까운 위치에 있다.



Secondary Storage

보조 스토리지(Secondary Storage)에는 다음이 저장되어 있다.

  • Templates - VM 부팅에 사용할 수 있고 설치된 애플리케이션과 같은 추가 구성 정보를 포함할 수 있는 OS 이미지
  • ISO images - 운영 체제용 데이터 또는 부트 미디어가 포함된 디스크 이미지
  • Disk volume snapshots - 데이터 복구 또는 새 템플릿 생성에 사용할 수 있는 저장된 VM 데이터 복사본

보조 스토리지의 항목은 보조 스토리지의 범위 내에 있는 모든 호스트에서 사용할 수 있으며, 이는 지역별 또는 영역별로 정의될 수 있다.

클라우드 전반에 걸쳐 모든 호스트에서 보조 스토리지의 항목을 사용할 수 있도록 하기 위해 영역 기반의 NFS Secondary Staging Store 이외에 개체 스토리지를 추가할 수 있다.


CloudStack 주요 기능

  • 다양한 하이퍼바이저 지원
    CloudStack은 다양한 하이퍼바이저를 이용해 작동하며, 하나의 클라우드 구현을 위해 여러 하이퍼바이저를 동시에 사용할 수 있다.

  • 대규모 확장 가능한 인프라 관리
    CloudStack은 지리적으로 여러곳에 분산된 데이터 센터에 설치된 수십에서 수천개의 서버를 관리 할 수 있습니다.

  • 자동 구성 관리
    CloudStack는 각 게스트 가상 머신의 네트워킹 및 스토리지 설정을 구성한다.
    CloudStack은 내부적으로 클라우드 자체를 지원하기 위해 가상 기기의 풀을 관리한다. 이 제품은 방화벽, 라우팅, DHCP, VPN 액세스, 콘솔 프록시, 스토리지 접근, 스토리지 복제와 같은 서비스를 제공합니다. 가상 기기의 광범위한 사용은 클라우드 배치의 설치, 구성 및 지속적인 관리를 단순화한다.

  • 그래픽 사용자 인터페이스
    CloudStack 프로비저닝 및 클라우드를 관리하기 위해 관리자의 웹 인터페이스뿐만 아니라, VM을 실행하고 VM 템플릿을 관리하는 데 사용되는 end user를 위한 웹 인터페이스를 제공한다.

  • API와 확장
    CloudStack은 UI에서 사용할 수있는 모든 관리 기능에 프로그래밍 방식으로 접근 할 수있는 API를 제공한다. API는 지속적으로 업데이트 되며 개발자를 위한 도큐먼트를 제공한다.

profile
Better late than never

0개의 댓글