openstack

20210705 (월) 가상화 기초

gusalstm 2021. 7. 5. 14:33
반응형

 

가상화 :물리적인 리소스를 논리적으로 변경함으로써 리소스의 낭비 최소화가 목적

운영체제의 역할 - 시스템의 물리적인 리소스를 관리하고 어플리케이션의 리소스 접근/사용을 지원

시스템 가상화에서 HV의 역할

  - 각각의 가상머신마다 각각의 OS/APP이 동작하므로

  - 각 운영체제(게스트OS)의 직접적인 접근을 차단 (트랩)

  - 가상머신 내부의 요청에 대해서 실제 운영체제(호스트OS)에 재요청 해주는 작업 수행(에뮬레이터)

  - 가상머신 간의 격리 기능 제공 (결함 격리 : fault isolation)

앱간의 간섭이 가능했던 시기에는 장애가 발생하면 연쇄적인 시스템 오류가 발생하게 되었다. → 각각의 VM으로 결함을 격리할 수 있게 되었다.

 

 

하이퍼 바이저 종류

  Virtual Box, VMware Workstation, KVM 등

 

가상화 종류

  - 시스템 가상화 : 시스템(서버)를 논리적으로 분할해서 사용하는 기술

         * VM을 통한 가상머신

         * 호스트 가상화/ 서버 가상화 → 하이퍼바이저 사용

         * 컨테이너 가상화 → 도커/쿠버네티스

         * 

  - 네트워크 가상화 : 네트워크 장치 가상화, 기능 가상화

         * 장비 : SDN (Software Define Network  )

         * 기능 : NFV (Network Function Virtualization 방화벽, 로드밸런서 등의 기능)

  - 스토리지 가상화 : 스토리지를 논리적으로 분할/합쳐서 사용하는 기술

         * SDS (Software Define Storage)

         * LVM, RAID, Gluster, Ceph 스토리지

  - 서버가상화 : 

         * 호스트 가상화 : 운영체제 설치 후 HV와 SW를 설치하는 방식

           장점 : 관리 및 사용이 쉬움

           단점 : 오버헤드가 크다. 시스템 리소스에 대한 제한. 

         * 하이퍼바이저 가상화 : 운영체제 없이, HW 위에 바로 하이퍼바이저를 설치

           장점 : 호스트 가상화보다 오버헤드 적다.

                   시스템 리소스 제한이 적음 (상대적으로 많은 리소스 사용 가능)

                   성능이나 보안에 유리

           단점 : 시스템 사용에서 제약사항이 많아진다. (OS에서 기본제공 앱 등이 없으므로)

         * 컨테이너 가상화 : 어플리케이션만 격리하는 가상화 방식으로 별도의 OS가 없다.

           장점 : 배포가 빠르고 많은 배포가 가능하다. 오버헤드가 매우 적다.

           단점 : OS가 없다

 

※ 전 가상화, 반 가상화

※ type1 / type2 : http://cloudrain21.com/hypervisor-types 참고

 

 

 

<오픈스택>

클라우드 컴퓨팅

   - 사용자의 요청에 따라(on-demand) 공유된 컴퓨터의 자원/데이터를 제공

   - 인터넷(네트워크)만 가능하면 어디서든 요청

   - 

클라우드 서비스 모델

   - SaaS (Software as a Service) : 사용자가 특정 어플리케이션을 그대로 사용만 하는 방식 (ex.구글드라이버 등)

   - PaaS (Platform as a Service) : 사용자가 플랫폼을 이용해서 어플리케이션 개발/테스트

                                            운영체제까지 구성해서 제공하는 방식 - 개발자가 테스트용으로 자주 사용

   - IaaS (Infrastructure as a Service) : 사용자에게 리소스를 제공 (CPU/RAM/DISK)

                                            리소스를 할당해놓고 사용자는 할당된 리소스를 활용하여 직접 시스템을 만드는 방식

 

클라우드 서비스 종류

   - Public Cloud : AWS, Azure, GCP등  (하드웨어,보안 등 관리X)

                       사용자가 관리하는 것 없이 비용지불 후 리소스 사용.        

                       보안구성 - 공급업체에서 담당, 보안문제 발생하면 많은 사용자가 영향을 받게 됨.

                       → 시스템 내부적으로 보안 규정 등을 별도로 적용할 필요가 있음.

                       장점 : 사용자측면에서 관리 범위가 작다.

   - Private Cloud : 오픈스택 등

                       직접 관리해야해서 복잡하고 어려움 

                       초기 구축 비용이 많이 든다 (고용에 의한 인건비 등)

                       유지 비용은 상대적으로 적다.

                       보안 위험에 대해 관리자의 역량에 의존하게 됨. (우수할수도, 취약할수도)

   - Hybrid Cloud : 두 가지를 혼합한 방식

 

오픈스택 : 오픈소스 클라우드 소프트웨어

Dashboard : 웹기반의 그래픽환경 관리방식

Openstack : 명령어 방식

RESTful API : http 기반의 애플리케이션을 통한 통신방식 - 서비스간의 연동에서 주로 사용

 

 

 

핵심 서비스

    - Keystone : 사용자 인증

    - Nova : 인스턴스를 생성/관리

    - Glance : 이미지 관리

    - Horizon  : 대시보드 ( 웹 인터페이스 ) 관리 방법 제공

    - Swift : 오브젝트 스토리지 관리 서비스

    - Cinder : 블록 스토리지 관리 서비스 (디스크)

    - Neutron : 네트워크 관리 서비스

    - Heat : 오케스트레이션 서비스 (리소스 관리)

    - Ceilometer : 데이터 미터링 서비스 사용량 측정 및 과금 정책 수립

          gnocchi : 시계열 데이터베이스

          aodh : 알람 서비스

          panko : 메타데이터 저장

    - Magnum : 컨테이너를 관리하는 서비스 

 

 

 

 

 

728x90