1.2. 스토리지


1.2.1절. “OpenStack Block Storage(cinder)”

1.2.2절. “OpenStack Object Storage(swift)”

1.2.3절. “OpenStack Database-as-a-Service(trove)”

1.2.1. OpenStack Block Storage(cinder)

OpenStack 블록 스토리지는 가상 하드 드라이브를 위한 영구 블록 스토리지 관리를 제공합니다. 블록 스토리지를 사용하면 사용자가 블록 장치를 생성 및 삭제하고, 서버에 대한 블록 장치의 연결을 관리할 수 있습니다.

장치의 실제 연결 및 분리는 Compute 서비스와의 통합을 통해 처리됩니다. 지역 및 영역을 사용하여 분산 블록 스토리지 호스트를 처리할 수 있습니다.

데이터베이스 스토리지 또는 확장 가능한 파일 시스템과 같은 성능에 민감한 시나리오에서 Block Storage를 사용할 수 있습니다. 원시 블록 수준 스토리지에 액세스할 수 있는 서버로 사용할 수도 있습니다. 또한 볼륨 스냅샷을 사용하여 데이터를 복원하거나 새 블록 스토리지 볼륨을 생성할 수 있습니다. 스냅샷은 드라이버 지원에 따라 다릅니다.

OpenStack 블록 스토리지의 장점은 다음과 같습니다.

  • 볼륨 및 스냅샷 생성, 나열 및 삭제.
  • 실행 중인 가상 머신에 볼륨 연결 및 분리.

볼륨, 스케줄러, API와 같은 주요 블록 스토리지 서비스는 프로덕션 환경에 공동 배치될 수 있지만, 볼륨 서비스 인스턴스를 하나 이상의 API 및 스케줄러 서비스와 함께 배포하는 것이 더 일반적입니다.

표 1.3. 블록 스토리지 구성 요소
Component설명

openstack-cinder-api

요청에 응답하고 메시지 큐에 배치합니다. 요청이 수신되면 API 서비스는 ID 요구 사항이 충족되었는지 확인하고 요청을 필요한 블록 스토리지 작업이 포함된 메시지로 변환합니다. 그런 다음 다른 블록 스토리지 서비스에서 처리하기 위해 메시지가 메시지 브로커로 전송됩니다.

openstack-cinder-backup

블록 스토리지 볼륨을 외부 스토리지 리포지토리에 백업합니다. 기본적으로 OpenStack에서는 Object Storage 서비스를 사용하여 백업을 저장합니다. Ceph 또는 NFS 백엔드를 백업용 스토리지 리포지토리로 사용할 수도 있습니다.

openstack-cinder-scheduler

작업을 큐에 할당하고 프로비저닝 볼륨 서버를 결정합니다. 스케줄러 서비스는 메시지 큐에서 요청을 읽고 요청된 작업을 수행할 블록 스토리지 호스트를 결정합니다. 그런 다음 스케줄러는 선택한 호스트에서 openstack-cinder-volume 서비스와 통신하여 요청을 처리합니다.

openstack-cinder-volume

가상 머신의 스토리지를 지정합니다. 볼륨 서비스는 block-storage 장치와의 상호 작용을 관리합니다. 요청이 스케줄러에서 도착하면 볼륨 서비스에서 볼륨을 생성, 수정 또는 제거할 수 있습니다. 볼륨 서비스에는 NFS, Red Hat Storage 또는 Dell EqualLogic과 같은 블록 스토리지 장치와 상호 작용하는 여러 드라이버가 포함되어 있습니다.

cinder

블록 스토리지 API에 액세스하는 명령줄 클라이언트입니다.

다음 다이어그램에서는 블록 스토리지 API, 스케줄러, 볼륨 서비스 및 기타 OpenStack 구성 요소 간의 관계를 보여줍니다.

Block storage architecture diagram

1.2.2. OpenStack Object Storage(swift)

오브젝트 스토리지는 비디오, 이미지, 이메일 메시지, 파일 또는 VM 이미지와 같은 정적 엔터티를 포함하여 대량의 데이터에 액세스할 수 있는 HTTP 액세스 가능한 스토리지 시스템을 제공합니다. 오브젝트는 각 파일의 확장 속성에 저장된 메타데이터와 함께 기본 파일 시스템의 바이너리로 저장됩니다.

Object Storage 분산 아키텍처는 수평 확장과 소프트웨어 기반 데이터 복제를 통한 페일오버 중복을 지원합니다. 서비스는 비동기 및 최종 일관성 복제를 지원하므로 여러 데이터 센터 배포에서 사용할 수 있습니다.

OpenStack Object Storage의 장점은 다음과 같습니다.

  • 스토리지 복제본은 중단 시 오브젝트 상태를 유지합니다. 최소 3개의 복제본을 사용하는 것이 좋습니다.
  • 스토리지 영역 호스트 복제본. 영역을 사용하면 지정된 오브젝트의 각 복제본을 별도로 저장할 수 있습니다. 영역은 개별 디스크 드라이브, 배열, 서버, 서버 랙 또는 전체 데이터 센터를 나타낼 수 있습니다.
  • 스토리지 리전은 위치별로 영역을 그룹화할 수 있습니다. 지역에는 일반적으로 동일한 지역에 있는 서버 또는 서버 리전이 포함될 수 있습니다. 지역에는 각 Object Storage 서비스 설치에 대해 별도의 API 끝점이 있어 서비스를 분리할 수 있습니다.

오브젝트 스토리지에서는 데이터베이스 및 구성 파일로 사용되는 링 .gz 파일을 사용합니다. 이러한 파일에는 저장된 엔터티의 모든 스토리지 장치 및 각 파일의 물리적 위치에 대한 매핑이 포함되어 있습니다. 따라서 링 파일을 사용하여 특정 데이터의 위치를 결정할 수 있습니다. 각 오브젝트, 계정 및 컨테이너 서버에는 고유한 링 파일이 있습니다.

오브젝트 스토리지 서비스는 다른 OpenStack 서비스 및 구성 요소를 사용하여 작업을 수행합니다. 예를 들어 ID 서비스(keystone), rsync 데몬 및 로드 밸런서가 모두 필요합니다.

표 1.4. Object Storage 구성 요소
Component설명

openstack-swift-account

계정 데이터베이스를 사용하여 컨테이너 목록을 처리합니다.

openstack-swift-container

컨테이너 데이터베이스를 사용하여 특정 컨테이너에 포함된 오브젝트 목록을 처리합니다.

openstack-swift-object

오브젝트를 저장, 검색 및 삭제합니다.

openstack-swift-proxy

공용 API를 노출하고, 인증을 제공하며, 요청을 라우팅합니다. 오브젝트는 프록시 서버를 통해 스풀링 없이 사용자로 스트리밍됩니다.

swift

오브젝트 스토리지 API에 액세스하는 명령줄 클라이언트입니다.

표 1.5. Object Storage 하우스키핑 구성 요소
하우스키핑components설명

감사

  • openstack-swift-account-auditor
  • openstack-swift-container-auditor
  • openstack-swift-object-auditor

Object Storage 계정, 컨테이너 및 오브젝트의 무결성을 확인하고 데이터 손상으로부터 보호하는 데 도움이 됩니다.

복제

  • openstack-swift-account-replicator
  • openstack-swift-container-replicator
  • openstack-swift-object-replicator

가비지 컬렉션을 포함하여 Object Storage 클러스터 전체에서 일관되고 사용 가능한 복제를 보장합니다.

업데이트

  • openstack-swift-account-updater
  • openstack-swift-container-updater
  • openstack-swift-object-updater

실패한 업데이트를 식별하고 재시도합니다.

다음 다이어그램에서는 오브젝트 스토리지에서 다른 OpenStack 서비스, 데이터베이스 및 브로커와 상호 작용하는 데 사용하는 주요 인터페이스를 보여줍니다.

Object Storage architecture diagram illustrating the relationship between Object Storage and other OpenStack components.

1.2.3. OpenStack Database-as-a-Service(trove)

주의

DEPRECATION NOTICE: Red Hat OpenStack Platform 10부터 OpenStack Trove 서비스는 더 이상 Red Hat OpenStack Platform 배포에 포함되지 않습니다. Red Hat은 신뢰할 수 있는 파트너와 협력하여 고객에게 프로덕션 준비 DBaaS 서비스를 제공하고 있습니다. 이 옵션에 대한 자세한 내용은 영업 계정 관리자에게 문의하십시오.

참고

이 기능은 이번 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.

OpenStack Database-as-a-Service를 사용하면 다양한 관계형 및 비관계형 데이터베이스를 선택, 프로비저닝 및 운영하고 더 복잡한 데이터베이스 관리 작업을 즉시 처리할 수 있습니다.

OpenStack Database-as-a-Service 이점은 다음과 같습니다.

  • 사용자와 데이터베이스 관리자는 클라우드에서 여러 데이터베이스 인스턴스를 프로비저닝하고 관리할 수 있습니다.
  • 배포, 구성, 패치 적용, 백업, 복원 및 모니터링과 같은 복잡한 관리 작업을 자동화하는 동안 고성능 리소스 격리.
표 1.6. trove 구성 요소
Component설명

openstack-trove-api

Database-as-a-Service 인스턴스를 프로비저닝하고 관리하기 위해 JSON 및 XML을 지원하는 RESTful API입니다.

openstack-trove-conductor

호스트에서 를 실행하여 호스트의 정보를 업데이트하는 요청이 있는 게스트 인스턴스에서 메시지를 받습니다. 요청에는 인스턴스 상태 또는 백업의 현재 상태가 포함될 수 있습니다.

openstack-trove-conductor를 사용하면 게스트 인스턴스에 호스트 데이터베이스에 직접 연결할 필요가 없습니다. 서비스는 메시지 버스를 통해 RPC 메시지를 수신하고 요청된 작업을 수행합니다.

openstack-trove-guestagent

게스트 인스턴스에서 를 실행하여 호스트 데이터베이스에서 직접 작업을 관리하고 수행합니다. openstack-trove-guestagent는 메시지 버스를 통해 RPC 메시지를 수신하고 요청된 작업을 수행합니다.

openstack-trove-taskmanager

인스턴스 프로비저닝, 인스턴스 라이프사이클 관리, 데이터베이스 인스턴스의 작업 관리 등의 작업을 담당합니다.

Trove

Database-as-a-Service API에 액세스하는 명령줄 클라이언트입니다.

다음 다이어그램은 Database-as-a-Service와 기타 OpenStack 서비스 간의 관계를 보여줍니다.

OpenStack Trove Arch 389740 0216 JCS

중요
  • OpenStack Database-as-a-Service는 기본 OpenStack 채널에서 사용할 수 있지만 구성 요소를 수동으로 설치하고 구성해야 합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.