상세 컨텐츠

본문 제목

Nova

Cloud/Openstack

by yellowmarine 2020. 10. 8. 17:15

본문

Nova

역할

  • Glance에서 제공해주는 이미지를 이용하여 인스턴스를 생성하여 제공한다.

구성요소

  • Nova-api

    • user의 api 호출에 대해 반응을 한다.

    • instance의 실행, 정책 부분을 담당한다.

    • orchestration을 진행한다.

  • Nova-compute

    • 하이퍼바이저를 통해 instance의 생성 및 삭제에 직접적으로 담당한다.

    • 보통적으로 Controller, Compute node를 분리해서 실행 할 경우 compute node에서 담당한다.

    • 하이퍼바이저의 경우 3개의 그룹에 지원한다.

      • KVM, Qemu

      • Hyper-V, VMware, Xenserver

      • baremetal, docker

    • Database와 상호 작용하며 인스턴스의 메타데이터를 업데이트한다.

  • Nova-scheduler

    • Queue를 통해 요청된 사항에 대해 가용가능한 compute node를 선정하게 되는 역할을 하게된다.

    • Database에 등록된 metadata를 바탕으로 판단한다.

  • Nova-conductor

    • Nova-compute가 직접적으로 데이터베이스에 접근하는 것을 막기 위해 존재한다.

  • Database

    • Nova-compute의 상태 및 인스턴스의 metadata를 저장하고 있다.

    • placement와 지속적으로 통신이 이루어진다.

    • 여기도 마찬가지로 database에 삭제된 instance에 대한 정보가 그대로 남아있다.

  • Nova-cert

    • EC2 API를 사용할때만 필요한 서비스

동작방식

  1. Horizon 혹은 CLI를 통해 nova-api(인스턴스 생성 혹은 삭제) 호출

  2. Queue를 통해 호출 전달

  3. 생성의 경우 nova-scheduler를 통해 nova-compute의 가용구역 확인

  4. Queue를 통해 nova-compute에 전달

  5. Nova-compute의 hypervisor를 통해 인스턴스 생성 요청

  6. Glance 이미지를 제공 받는다.

  7. 인스턴스 생성

참고사항

Qemu vs KVMKVM

  • 하드웨어에 직접적인 접근이 가능하다.

  • 하나의 시스템을 여러개의 시스템 처럼 보이게 할 수 있다.

  • Host os에 종속적이게 될 수 있다.

Qemu

  • 하드웨어에 직접적인 접근이 불가하다.

  • 하나의 시스템이 다른 시스템으로 둔갑해 보일 수 있다.

  • 소프트웨어적으로 특정 시스템을 구현이 필요하다

  • 위의 이유때문에 상대적으로 느리다

추가 공부 목표cell

  • cell_v2

    • cell0의 경우 스케줄링에 실패한 데이터를 저장.

    • memcache와 queue의 부하를 덜기 위해 제안된 방법

    • 기존의 방식은 3번의 데이터 베이스 조회를 기반으로 했지만 cell을 사용하면 2번만에 데이터 조회가 가능하다.

    • 추후 공부가 더 필요할듯하다.

Quota

  • 만들수 있는 instance 수를 제한하는 용도로 사용되어진다.

Oslo

  • 코드의 일관되고 안정적인 배포를 위해 사용이 되어진다.

'Cloud > Openstack' 카테고리의 다른 글

Region & AZ  (0) 2020.10.08
Neutron  (0) 2020.10.08
Placement  (0) 2020.10.08
Glance  (0) 2020.10.08
Keystone  (0) 2020.10.08

관련글 더보기