Nova 시스템 아키텍처 편집하기

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.

편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.

최신판 당신의 편집
23번째 줄: 23번째 줄:
* '''컴퓨트''': 하이퍼바이저와 가상 머신과의 통신을 관리.
* '''컴퓨트''': 하이퍼바이저와 가상 머신과의 통신을 관리.
* '''컨덕터''': 조정이 필요한 요청(빌드/크기조정)을 처리하고, 데이터베이스 프록시로 작동하거나 객체 변환을 처리.
* '''컨덕터''': 조정이 필요한 요청(빌드/크기조정)을 처리하고, 데이터베이스 프록시로 작동하거나 객체 변환을 처리.
* '''[[오픈스택 Placement|플레이스먼트]]''': 리소스 제공자 인벤토리와 사용량을 추적.
* '''Placement''': 리소스 제공자 인벤토리와 사용량을 추적.


모든 서비스는 수평적으로 확장가능하도록 설계되었으나, 특히 컴퓨트는 다른 것들보다 훨씬 많이 배치해야 합니다.
모든 서비스는 수평적으로 확장가능하도록 설계되었으나, 특히 컴퓨트는 다른 것들보다 훨씬 많이 배치해야 합니다.


==하이퍼바이저==
==하이퍼바이저==
Nova는 API 서버를 통해 하이퍼바이저를 제어합니다. 최적의 하이퍼바이저를 선택하는 것은 예산, 자원 제약, 지원되는 기능 및 필요한 기술 사양 등을 고려해야 하기 때문에 어려울 수 있습니다. 그러나 대부분의 OpenStack 개발은 KVM 기반 하이퍼바이저를 사용하는 시스템에서 이루어집니다. 다양한 하이퍼바이저의 기능 및 지원에 대한 자세한 목록은 [[Nova 기능 지원 매트릭스|기능 지원 매트릭스]]를 참조하십시오.
또한, 여러 가용성 영역에 다양한 하이퍼바이저를 사용하여 클라우드를 오케스트레이션할 수 있습니다. Nova는 다음 하이퍼바이저를 지원합니다:
* [[ironic 문서|베어메탈]]
* [[KVM|커널 기반 가상 머신 (KVM)]]
* [[LXC|리눅스 컨테이너 (LXC)]]
* [[QEMU|퀵 에뮬레이터 (QEMU)]]
* [[Virtuozzo]]
* [[VMware vSphere]]
* [[zVM]]
하이퍼바이저에 대한 자세한 내용은 Nova 설정 참조의 [[Nova 하이퍼바이저|하이퍼바이저]] 섹션을 참조하십시오.
==프로젝트, 사용자, 역할==
==프로젝트, 사용자, 역할==
Nova를 사용하려면 먼저 [[Keystone, 오픈스택 아이덴티티 서비스|Identity 서비스]]를 통해 사용자를 생성해야 합니다.
Nova 시스템은 공유 시스템에서 프로젝트 형태로 다양한 소비자들이 사용하고, 역할 기반 접근 권한 할당을 통해 사용될 수 있도록 설계되었습니다. 역할은 사용자가 수행할 수 있는 작업을 제어합니다.
프로젝트는 Nova 서비스 내에서 주요 조직 구조를 형성하는 독립된 자원 컨테이너입니다. 프로젝트는 일반적으로 네트워크, 볼륨, 인스턴스, 이미지, 키, 사용자로 구성됩니다. 사용자는 액세스 키에 <code>project_id</code>를 추가하여 프로젝트를 지정할 수 있습니다.
프로젝트의 경우, 할당할 수 있는 프로세서 코어 수와 RAM의 양을 제한하기 위해 쿼타 제어를 사용할 수 있습니다. 다른 프로젝트에서도 자체 자원에 대한 할당량을 허용합니다. 예를 들어, [[neutron 네트워킹 서비스 쿼타 관리|neutron]]에서는 프로젝트 내에서 생성할 수 있는 네트워크의 수를 관리할 수 있습니다.
역할은 사용자가 수행할 수 있는 작업을 제어합니다. 기본적으로 대부분의 작업은 특정 역할을 요구하지 않지만, <code>policy.yaml</code> 정책 파일을 편집하여 사용자 역할을 설정할 수 있습니다. 예를 들어, 퍼블릭 IP 주소를 할당하려면 사용자가 <code>admin</code> 역할을 가져야 한다는 규칙을 정의할 수 있습니다.
프로젝트는 사용자가 특정 이미지에 접근할 수 있는 권한을 제한합니다. 각 사용자에게 사용자 이름과 패스워드가 할당됩니다. 인스턴스에 접근할 수 있는 키페어는 각 사용자에게 활성화되지만, 할당량이 설정되어 각 프로젝트가 사용가능한 하드웨어 자원 전반에 걸쳐 자원 소비를 제어할 수 있습니다.
{{NOTE}}
이전 버전의 OpenStack에서는 <code>project</code>(프로젝트) 대신 <code>tenant</code>(테넌트)라는 용어를 사용했습니다. 이 레거시 용어 때문에 일부 명령줄 도구에서는 프로젝트 ID를 입력할 것으로 예상되는 곳에 <code>--tenant_id</code>를 사용합니다.
{{/NOTE}}
==블록 스토리지==
==블록 스토리지==
OpenStack은 두 가지 종류의 블록 스토리지를 제공합니다: Nova 자체에서 프로비저닝되는 스토리지와 블록 스토리지 서비스인 Cinder에서 관리되는 스토리지입니다.
;Nova 프로비저닝 블록 스토리지
Nova는 루트 디스크와 선택적인 "이페머럴 (ephemeral)" 볼륨을 생성할 수 있는 기능을 제공합니다. 루트 디스크는 인스턴스가 [[nova 용어집#볼륨에서 부팅|볼륨에서 부팅]] 인스턴스가 아닌 한 항상 존재합니다.
루트 디스크는 인스턴스와 연관되며 해당 인스턴스의 생명 주기 동안만 존재합니다. 일반적으로 이는 인스턴스의 루트 파일 시스템을 저장하는 데 사용되며, 게스트 운영 체제의 재부팅 동안에도 지속되고, 인스턴스 삭제 시 제거됩니다. 루트 이페머럴 볼륨의 크기는 인스턴스의 플레이버에 의해 정의됩니다.
루트 볼륨 외에도 플레이버는 추가적인 이페머럴 블록 장치를 제공할 수 있습니다. 이는 파티션 테이블이나 파일 시스템이 없는 원시 블록 장치로 나타납니다. 클라우드 인식 운영체제는 이러한 스토리지 장치를 발견하고, 포맷하고, 마운트할 수 있습니다. Nova는 Linux 배포판의 기본 파일 시스템을 ext4, 비 Linux 및 비 Windows 운영체제의 경우 VFAT, Windows의 경우 NTFS로 정의합니다. 그러나, 다른 파일 시스템 유형을 설정할 수도 있습니다.
{{NOTE}}
예를 들어, Ubuntu의 기본 클라우드 이미지에 포함된 <code>cloud-init</code> 패키지는 기본적으로 이 공간을 ext4 파일 시스템으로 포맷하고 <code>/mnt</code>에 마운트합니다. 이는 cloud-init 기능이며 OpenStack 메커니즘이 아닙니다. OpenStack은 원시 스토리지만 프로비저닝합니다.
{{/NOTE}}
;Cinder 프로비저닝 블록 스토리지
OpenStack 블록 스토리지 서비스인 Cinder는 특정 인스턴스와 독립적인 지속 가상화 블록 장치로 나타나는 지속 볼륨을 제공합니다.
지속 볼륨은 단일 인스턴스에서 접근할 수 있거나 여러 인스턴스에 연결될 수 있습니다. 이러한 유형의 설정은 지속 볼륨에 여러 인스턴스가 접근할 수 있도록 전통적인 네트워크 파일 시스템을 필요로 합니다. 또한 NFS, CIFS 또는 Ceph와 같은 클러스터 파일 시스템과 같은 전통적인 네트워크 파일 시스템이 필요합니다. 이러한 시스템은 OpenStack 클러스터 내에서 구축되거나 외부에서 프로비저닝될 수 있지만, OpenStack 소프트웨어는 이러한 기능을 제공하지 않습니다.
지속 볼륨을 부팅가능하도록 설정하고 전통적인 비클라우드 기반 가상화 시스템과 유사한 지속 가상 인스턴스를 제공하는 데 사용할 수 있습니다. 이 경우에도 선택한 플레이버에 따라 인스턴스가 이페머럴 스토리지를 유지할 수 있습니다. 이 경우 루트 파일 시스템은 지속 볼륨에 있을 수 있으며, 인스턴스가 종료되더라도 상태가 유지됩니다. 이러한 유형의 설정에 대한 자세한 내용은 [[cinder 블록 스토리지 서비스 소개|블록 스토리지 서비스 소개]]를 참조하십시오.
==블록 구축하기==
==블록 구축하기==
OpenStack에서 기본 운영체제는 일반적으로 OpenStack 이미지 서비스(Glance)에 저장된 이미지를 복사하여 사용합니다. 이는 가장 일반적인 경우로, 알려진 템플릿 상태에서 시작하며 가상 머신이 삭제될 때 모든 누적 상태가 소멸되는 휘발성 인스턴스를 생성합니다. 또한, OpenStack 블록 스토리지 서비스에 지속 볼륨에 운영체제를 설치할 수도 있습니다. 이렇게 하면 가상 머신이 삭제되고 다시 생성될 때도 OpenStack 블록 스토리지 볼륨에 누적된 상태가 유지되는 더 전통적인 지속 시스템을 제공합니다. 시스템에서 사용가능한 이미지 목록을 얻으려면 다음 명령어를 실행하세요:
OpenStack에서 기본 운영체제는 일반적으로 OpenStack 이미지 서비스(Glance)에 저장된 이미지를 복사하여 사용합니다. 이는 가장 일반적인 경우로, 알려진 템플릿 상태에서 시작하며 가상 머신이 삭제될 때 모든 누적 상태가 소멸되는 휘발성 인스턴스를 생성합니다. 또한, OpenStack 블록 스토리지 서비스에 지속 볼륨에 운영체제를 설치할 수도 있습니다. 이렇게 하면 가상 머신이 삭제되고 다시 생성될 때도 OpenStack 블록 스토리지 볼륨에 누적된 상태가 유지되는 더 전통적인 지속 시스템을 제공합니다. 시스템에서 사용가능한 이미지 목록을 얻으려면 다음 명령어를 실행하세요:

제타위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는 제타위키:저작권 문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다. 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 편집 도움말 (새 창에서 열림)

이 문서에서 사용한 틀: