Openstack 을 완전히 이해합니다. 그게 뭐죠? 여기에는 무엇이 포함되어 있습니까?
OpenStack 은 소프트웨어가 아닌 클라우드 플랫폼 관리 프로젝트입니다. 이 프로젝트는 몇 가지 주요 부분으로 구성되어 구체적인 일을 완성한다.
OpenStack 은 공용 및 사설 클라우드의 구축 및 관리를 위한 소프트웨어를 제공하는 오픈 소스 프로젝트입니다. OpenStack 은 IaaS (Infrastructure As Service) 리소스의 범용 프런트엔드로 인정받고 있습니다.
만약 당신이 이것들을 이해하지 못한다면, 다른 각도에서 소개해 드리겠습니다.
먼저 다음 두 장의 그림을 보여드리겠습니다. 매우 간단합니다.
이 그림은 오픈 스탁의 로그인 인터페이스입니다.
다음은 openstack 의 관리 인터페이스입니다.
이 두 그림에서, 약간의 개발 경험이 있으면 openstack 이 무엇인지 알 수 있을 것이라고 믿는다. 프레임워크라고 할 수 있고, 심지어 소프트웨어의 관점에서도 이해할 수 있다. 모르면 전통 발전에서 설명하다. 여러분이 OA, ERP 등의 시스템을 이해하는지 모르겠습니다. 모르면 인터넷에 가서 많은 자료를 찾을 수 있어요. 그와 OA, ERP 의 차이점은 무엇입니까? 아주 간단합니다. openstack 은 클라우드 컴퓨팅의 플랫폼 또는 솔루션입니다. 클라우드 컴퓨팅의 중요한 부분입니다.
오픈 스탁에 대한 감성적인 인식이 있습니다.
(2) 오픈 스탁은 무엇을 할 수 있습니까?
아리운플랫폼과 바이두운플랫폼을 모두 알고 있고, 아리운플랫폼은 openstack 의 2 차 개발이라고 합니다. 2 차 개발의 경우, 소프트웨어를 접한 사람은 누구나 이 개념을 이해할 수 있을 것이라고 믿는다. 모르면 스스로 인터넷으로 검색해 보세요. 즉, openstack 은 클라우드 플랫폼, 클라우드 플랫폼, 공용 클라우드, 프라이빗 클라우드를 구축할 수 있습니다. 지금 바이두가 프라이빗 클라우드 엔지니어를 모집하고 있으니, 이 방면의 인재여야 한다.
(3) open stack 자체에는 무엇이 포함되어 있습니까?
다음은 OpenStack 의 다섯 가지 중요한 구성 요소입니다.
L nova-–컴퓨팅 서비스
L swift-–스토리지 서비스
L 스캔–미러 서비스
L keystone–인증 서비스
L horizon–ui 서비스
그림 1 OpenStack 기본 프레임워크
다음 그림은 키스톤과 대시보드 및 다른 OpenStack 조립품 간의 상호 작용을 보여 줍니다.
각 서비스에 대한 자세한 설명은 다음과 같습니다.
(a) OpenStack 컴퓨팅 시설-nova nova 는 OpenStack 계산을 위한 유연한 컨트롤러입니다. OpenStack 클라우드 인스턴스 수명 주기에 필요한 모든 작업은 Nova 에서 처리되고 지원됩니다. 즉, Nova 는 전체 클라우드의 컴퓨팅 리소스, 네트워크, 라이센스 및 측정을 관리하는 관리 플랫폼으로 나타납니다. Nova 자체는 가상 기능을 제공하지 않지만 libvirt API 를 사용하여 가상 시스템의 호스트와 상호 작용합니다. Nova 는 아마존의 웹 서비스 인터페이스와 호환되는 웹 서비스 API 를 통해 외부 처리 인터페이스를 제공합니다.
기능 및 특징
인스턴스 수명 주기 관리
L 컴퓨팅 리소스 관리
L 네트워크 및 라이센스 관리
저항 기반 API
비동기 연속 통신
L Xen, XenServer/XCP, KVM, UML, VMware vSphere, Hyper-V 등 다양한 호스트 지원
오픈 스택 컴퓨팅 유닛
L Nova 유연한 클라우드는 다음과 같은 주요 부분으로 구성됩니다.
L API 서버 (nova-api)
메시지 큐 (rabbit-mq 서버)
L 운영 스테이션 (nova-compute)
L 네트워크 컨트롤러 (nova- 네트워크)
L 볼륨 관리 (nova- 볼륨)
L 스케줄러 (nova-scheduler)
API 서버 (nova-api)
API 서버는 클라우드 시설과 외부 세계와의 인터페이스를 제공하며 외부 사용자가 클라우드를 관리할 수 있는 유일한 채널입니다. 웹 서비스를 사용하여 다양한 EC2 APIs 를 호출하면 API 서버가 메시지 대기열을 통해 처리할 수 있도록 클라우드의 대상 장치로 요청을 보냅니다. EC2-api 대신 OpenStack 의 기본 API 를 사용할 수 있습니다. 이를 "OpenStack API" 라고 합니다.
메시지 큐 (Rabbit MQ 서버)
OpenStack 은 메시지 대기열을 사용하여 AMQP (advanced messaging queue protocol) 기반 통신을 수행합니다. Nova 는 요청 응답에 대한 비동기 호출을 수행하고 요청이 수신되면 즉시 콜백을 트리거합니다. 비동기 통신이 사용되기 때문에 어떤 사용자의 동작도 오랫동안 대기할 수 없습니다. 예를 들어 인스턴스를 시작하거나 이미지를 업로드하는 프로세스는 시간이 많이 걸리기 때문에 API 호출은 다른 작업에 영향을 주지 않고 결과가 반환될 때까지 기다립니다. 비동기 통신은 여기서 큰 역할을 하여 전체 시스템을 더욱 효율적으로 만듭니다.
작업 스테이션 (nova-compute)
워크스테이션을 조작하는 주요 임무는 인스턴스의 전체 라이프 사이클을 관리하는 것입니다. 메시지 대기열을 통해 요청을 수신하고 실행하여 인스턴스에 대해 다양한 작업을 수행합니다. 일반적인 실제 프로덕션 환경에서는 많은 컴퓨팅 스테이션이 설치됩니다. 스케줄링 알고리즘에 따라 사용 가능한 모든 컴퓨팅 워크스테이션에 인스턴스를 배치할 수 있습니다.
네트워크 컨트롤러 (nova 네트워크)
네트워크 컨트롤러는 IP 주소 할당, 프로젝트 VLAN 구성, 보안 그룹 설정 및 연산 노드의 네트워크 구성과 같은 호스트의 네트워크 구성을 처리합니다.
볼륨 워크스테이션 (nova- 볼륨)
Volume workstation 은 LVM 기반 인스턴스 볼륨을 관리하고, 인스턴스에 대한 볼륨을 생성, 삭제 및 첨부할 수 있으며, 인스턴스에서 볼륨을 분리할 수 있습니다. 볼륨 관리가 중요한 이유는 무엇입니까? 인스턴스 지속성을 유지하는 방법을 제공하기 때문입니다. 예를 들어, 인스턴스를 종료한 후 루트 파티션이 지속되지 않으면 변경 사항이 손실됩니다. 그러나 볼륨이 인스턴스에서 분리되거나 볼륨이 인스턴스에 첨부된 경우 인스턴스가 종료된 경우에도 데이터가 저장됩니다. 볼륨을 원래 인스턴스나 다른 인스턴스에 추가하여 데이터에 다시 액세스할 수 있습니다.
따라서 향후 액세스를 위해서는 중요한 데이터를 볼륨에 기록해야 합니다. 이 응용 프로그램은 데이터 서버 인스턴스의 저장에 특히 중요합니다.
Nova- 스케줄러
스케줄러는 nova-API 호출을 대상에 전달하는 역할을 담당합니다. 스케줄러는 "nova-schedule" 이라는 데몬으로 실행되며 스케줄링 알고리즘에 따라 사용 가능한 리소스 풀에서 컴퓨팅 서버를 적절히 선택합니다. 일정 결과에 영향을 미치는 요인으로는 로드, 메모리, 하위 노드 거리, CPU 아키텍처 등이 있습니다. 강력한 것은 nova 스케줄러가 플러그 가능한 아키텍처를 채택한다는 것이다.
현재 nova 스케줄러는 몇 가지 기본 스케줄링 알고리즘을 사용합니다.
무작위 화: 호스트는 사용 가능한 노드를 무작위로 선택합니다.
가용성: 무작위성과 비슷하지만 무작위 선택의 범위를 지정합니다.
단순화: 이러한 방식으로 호스트는 가장 적은 로드를 선택하여 인스턴스를 실행합니다. 로드 데이터는 로드 밸런스 서버와 같은 다른 곳에서 얻을 수 있습니다.
(2) open stack image server-glanceopenstack image server 는 다음 스토리지 중 하나에 이미지를 저장할 수 있는 가상 시스템 이미지 검색, 등록 및 검색 시스템입니다.
로컬 파일 시스템 (기본값)
L OpenStack 객체 저장소
S3 직접 스토리지
S3 개체 저장소 (S3 액세스용 중간 채널)
L HTTP (읽기 전용)
기능 및 특징
미러링 관련 서비스 제공
어셈블리를 휙 둘러보다
L 컨트롤러 스캔
L 레지스터 스캔
(c) 오픈 스탁 스토리지 시설----스폭
Swift 는 아마존 웹 서비스의 S3 단순 스토리지 서비스와 비슷한 분산형 영구 가상 개체 스토리지를 OpenStack 에 제공합니다. Swift 는 노드 간에 수백 개의 객체를 저장할 수 있습니다. Swift 에는 이중화 및 장애 복구 관리 기능이 내장되어 있으며 아카이브 및 미디어 스트림, 특히 대용량 데이터 (기가바이트) 및 대용량 (여러 객체 수) 을 측정하는 데 적합합니다.
기능 및 특징
대량 객체 저장소
L 큰 파일 (객체) 저장소
데이터 중복 관리
L 아카이빙 기능-대용량 데이터 세트 처리
L 가상 시스템 및 클라우드 어플리케이션을 위한 데이터 컨테이너 제공
L 스트리밍 미디어 처리
L 객체 보안 저장소
L 백업 및 아카이빙
L 우수한 확장성
Swift 구성 요소
L Swift 계정
고속 컨테이너
빠른 객체
L Swift 에이전트
L 스위프트 반지
Swift 프록시 서버
사용자는 Swift-API 를 통해 프록시 서버와 상호 작용합니다. 프록시 서버는 외부 요청을 받는 문지기입니다. 법인의 위치를 감지하고 요청을 라우팅합니다.
또한 프록시 서버는 엔티티 전송이 실패할 경우 실패한 엔티티에 대한 중복 라우팅 요청을 처리합니다.
Swift 개체 서버
개체 서버는 로컬 스토리지에 있는 개체 데이터의 저장, 검색 및 삭제를 담당하는 바이너리 스토리지입니다. 객체는 파일 시스템에 저장되는 일반적인 이진 파일이며 확장 파일 속성이 있는 메타데이터 (xattr) 입니다.
주: xattr 형식은 Linux 의 ext3/4, XFS, Btrfs, JFS, ReiserFS 에서 모두 지원되지만 XFS, JFS, ReiserFS, Reiser4, ZFS 에서 유효한 테스트는 없습니다 그러나 XFS 는 현재 최고의 선택으로 간주됩니다.
Swift 컨테이너 서버
컨테이너 서버는 컨테이너의 모든 객체를 나열하고 기본 객체 리스트는 SQLite 파일로 저장됩니다. 컨테이너 서버는 컨테이너에 포함된 오브젝트 수와 컨테이너의 스토리지 공간 소비도 계산합니다.
Swift 계정 서버
계정 서버는 컨테이너 서버와 유사하며 컨테이너 내의 오브젝트를 나열합니다.
링 (인덱스 링)
Ring container 는 Swift 에서 물리적 저장 객체의 위치 정보를 기록하며 실제 물리적 저장 위치의 엔티티 이름에 대한 가상 매핑으로, 다른 클러스터에서 엔티티의 실제 물리적 위치를 찾고 찾는 인덱싱 서비스와 유사합니다. 여기서 소위 엔티티란 계좌, 용기, 대상을 가리키며, 모두 각기 다른 고리를 가지고 있다.
(4) OpenStack 인증 서비스 (키스톤)
키스톤은 모든 OpenStack 구성 요소에 인증 및 액세스 정책 서비스를 제공합니다. 자체 REST (ID 기반 API) 시스템에 의존하여 Swift, Glance, Nova 등에 대한 인증 권한을 부여합니다. 실제로 권한 부여는 작업 소스 요청의 합법성을 기반으로 합니다. 다음 그림과 같이 나타납니다.
키스톤은 사용자 이름/비밀번호와 토큰 기반의 두 가지 인증 방법을 사용합니다. 또한 키스톤은 다음 세 가지 서비스를 제공합니다.
L 토큰 서비스: 권한이 있는 사용자에 대한 인증 정보를 포함합니다.
L 디렉토리 서비스: 사용자의 법적 작업이 포함된 사용 가능한 서비스 목록입니다.
L 정책 서비스: 키 저장소를 사용하여 사용자 또는 그룹에 대한 특정 액세스 권한을 지정합니다.
인증 서비스 구성 요소
서비스 포털: Nova, Swift, Glance 와 마찬가지로 각 OpenStack 서비스에는 엔드포인트라고 하는 지정된 포트와 고유한 URL 이 있습니다.
L 위치: 데이터 센터에서 위치는 물리적 위치를 지정합니다. 일반적인 클라우드 아키텍처에서는 일부 서비스가 분산 데이터 센터 또는 서버에 액세스하지 않는 경우 위치라고도 합니다.
L 사용자: 키스톤 인증된 사용자입니다.
번역자 참고: OpenStack 은 개인을 대표하여 사용자 형식으로 서비스를 허가합니다. 사용자는 하나 이상의 임차인에게 할당될 수 있는 자격 증명을 가지고 있습니다. 검증 후 각 임차인은 특정 토큰을 받게 됩니다. [출처:/s/blog _ 70064f190100udy.html]
L 서비스: 일반적으로 키스톤을 통해 연결되거나 관리되는 모든 구성 요소를 서비스라고 합니다. 예를 들어 Glance 를 키스톤 서비스라고 부를 수 있습니다.
L 역할: 보안 제한을 유지하기 위해 클라우드의 특정 사용자와 연관된 역할은 사용자가 수행할 수 있는 작업에 매우 중요합니다.
참고: 역할은 임차인에게 적용되는 권한 집합으로, 지정된 사용자가 특정 작업에 액세스하거나 사용할 수 있도록 합니다. 역할은 사용 권한의 논리적 그룹으로, 일반적인 권한을 간단히 그룹화하고 지정된 임차인과 관련된 사용자에게 바인딩할 수 있도록 합니다.
L 임대 방: 임대실은 모든 서비스 포털과 특정 멤버 역할이 있는 프로젝트입니다.
번역자 참고: 방은 새로운 별의 "프로젝트 id" 에 매핑됩니다. 오브젝트 저장소에서는 한 방에 여러 컨테이너가 있을 수 있습니다. 설치 방법에 따라 방은 고객, 계정, 조직 또는 프로젝트를 나타낼 수 있습니다.
(e) OpenStack-Horizon 이 관리하는 네트워크 인터페이스
Horizon 은 OpenStack 서비스를 관리하고 제어하는 웹 제어판입니다. 인스턴스 관리, 미러링, 키 쌍 생성, 인스턴스에 볼륨 추가, Swift 컨테이너 조작 등을 수행할 수 있습니다. 또한 콘솔이나 제어판에서 VNC 를 사용하여 인스턴스에 직접 액세스할 수 있습니다. 결론적으로 수평선에는 다음과 같은 특징이 있습니다.
인스턴스 관리: 인스턴스 생성 및 종료, 터미널 로그 보기, VNC 연결, 볼륨 추가 등
L 액세스 및 보안 관리: 보안 그룹 생성, 키 쌍 관리, 부동 IP 설정 등
L 기본 설정: 가상 하드웨어 템플릿에 대해 다른 기본 설정을 지정할 수 있습니다.
L 이미지 관리: 이미지를 편집하거나 삭제합니다.
L 서비스 카탈로그 보기
L 사용자, 할당량 및 프로젝트 목적 관리
L 사용자 관리: 사용자 만들기 등
L 볼륨 관리: 볼륨 및 스냅샷 생성
객체 저장 처리: 컨테이너 및 객체를 만들고 삭제합니다.
L 프로젝트의 환경 변수 다운로드