1장. Red Hat OpenStack Platform의 영구 스토리지 소개

이 가이드에서는 영구 스토리지를 만들고 관리하는 절차를 설명합니다. RHOSP(Red Hat OpenStack Platform) 내에서 이 스토리지는 다음 세 가지 주요 서비스에서 제공합니다.

  • 블록 스토리지(openstack-cinder)
  • 오브젝트 스토리지(openstack-swift)
  • 공유 파일 시스템 스토리지(openstack-manila)

이러한 서비스는 서로 다른 유형의 영구저장장치를 제공하며, 각각 다양한 사용 사례에서 고유한 이점 집합을 제공합니다. 본 가이드에서는 일반적인 엔터프라이즈 스토리지 요구 사항에 대한 각각의 적합성에 대해 설명합니다.

RHOSP 대시보드 또는 명령줄 클라이언트를 사용하여 클라우드 스토리지를 관리할 수 있습니다. 두 방법 중 하나를 사용하여 대부분의 절차를 수행할 수 있습니다. 그러나 명령줄에서만 몇 가지 고급 절차를 완료할 수 있습니다. 이 가이드에서는 가능한 대시보드에 대한 절차를 제공합니다.

참고

Red Hat OpenStack Platform에 대한 전체 문서 제품군은 Red Hat OpenStack Platform 문서를 참조하십시오.

중요

이 가이드에서는 crudini를 사용하여 일부 사용자 지정 서비스 설정을 적용하는 방법을 설명합니다. 따라서 먼저 crudini 패키지를 설치해야 합니다.

# dnf install crudini -y

RHOSP는 두 가지 유형의 스토리지, 즉 임시영구 스토리지를 인식합니다. 임시 스토리지는 특정 Compute 인스턴스에만 연결된 스토리지입니다. 인스턴스가 종료되면 는 임시 스토리지입니다. 이 유형의 스토리지는 인스턴스의 운영 체제 저장과 같은 기본 런타임 요구 사항에 유용합니다.

영구저장장치 는 실행 중인 인스턴스와 독립적으로 생존(영구)하도록 설계되었습니다. 이 스토리지는 다른 인스턴스 또는 특정 인스턴스의 수명 이상으로 재사용해야 하는 데이터에 사용됩니다. RHOSP에서는 다음 유형의 영구 스토리지를 사용합니다.

볼륨

OpenStack 블록 스토리지 서비스(openstack-cinder)를 사용하면 볼륨을 통해 블록 스토리지 장치에 액세스할 수 있습니다. 사용자는 범용 영구 스토리지로 임시 스토리지를 보강하기 위해 볼륨을 인스턴스에 연결할 수 있습니다. 볼륨은 분리하여 원하는 대로 인스턴스에 다시 연결할 수 있으며 연결된 인스턴스를 통해서만 액세스할 수 있습니다.

임시 스토리지를 사용하지 않도록 인스턴스를 구성할 수도 있습니다. 임시 스토리지를 사용하는 대신 블록 스토리지 서비스를 구성하여 볼륨에 이미지를 작성할 수 있습니다. 그런 다음 볼륨을 인스턴스의 부팅 가능한 루트 볼륨으로 사용할 수 있습니다.

볼륨은 백업과 스냅샷을 통해 내재적으로 중복성 및 재해 복구 기능을 제공합니다. 또한 보안을 강화하기 위해 볼륨을 암호화할 수도 있습니다.

컨테이너

OpenStack Object Storage 서비스(openstack-swift)는 미디어 파일, 대용량 데이터 세트 및 디스크 이미지와 같은 모든 종류의 정적 데이터 또는 바이너리 오브젝트를 저장하는 데 사용되는 완전 배포 스토리지 솔루션을 제공합니다. 오브젝트 스토리지 서비스는 컨테이너를 사용하여 이러한 오브젝트를 구성합니다.

볼륨의 콘텐츠는 인스턴스를 통해서만 액세스할 수 있지만, 컨테이너 내부의 오브젝트는 Object Storage REST API를 통해 액세스할 수 있습니다. 따라서 클라우드 내의 거의 모든 서비스에서 오브젝트 스토리지 서비스를 리포지토리로 사용할 수 있습니다.

공유
공유 파일 시스템 서비스(openstack-manila)는 원격, 공유 가능한 파일 시스템 또는 공유를 쉽게 프로비저닝할 수 있는 방법을 제공합니다. 공유를 통해 클라우드 내의 테넌트가 오픈 스토리지를 공유할 수 있으며 여러 인스턴스에서 동시에 사용할 수 있습니다.

각 스토리지 유형은 특정 스토리지 요구 사항을 해결하도록 설계되었습니다. 컨테이너는 광범위한 액세스를 위해 설계되었으며, 이러한 기능으로 모든 스토리지 유형 중에서 가장 높은 처리량, 액세스 및 내결함성을 제공합니다. 컨테이너 사용량은 서비스에 더 많이 사용됩니다.

반면 볼륨은 주로 인스턴스 사용에 사용됩니다. 컨테이너와 동일한 수준의 액세스 및 성능을 제공하지 않지만, 컨테이너보다 더 큰 기능 세트가 있으며 기본 보안 기능이 더 많습니다. 공유는 이와 관련하여 여러 인스턴스에서 사용할 수 있다는 점을 제외하고 볼륨과 유사합니다.

다음 섹션에서는 특정 스토리지 기준의 컨텍스트 내에서 각 스토리지 유형의 아키텍처 및 기능 세트에 대해 자세히 설명합니다.

1.1. 확장성 및 백엔드

일반적으로 클러스터형 스토리지 솔루션은 더 큰 백엔드 확장성을 제공합니다. 예를 들어 Red Hat Ceph를 Block Storage(cinder) 백엔드로 사용하면 Ceph OSD(Object Storage Daemon) 노드를 추가하여 스토리지 용량 및 중복성을 확장할 수 있습니다. 블록 스토리지, Object Storage(swift) 및 공유 파일 시스템 스토리지(manila) 서비스는 Red Hat Ceph Storage를 백엔드로 지원합니다.

블록 스토리지 서비스는 여러 스토리지 솔루션을 개별 백엔드로 사용할 수 있습니다. 백엔드 수준에서 백엔드를 추가하고 서비스를 다시 시작하여 용량을 확장할 수 있습니다. 블록 스토리지 서비스에는 지원되는 백엔드 솔루션 목록도 포함되어 있으며, 이 중 일부는 추가 확장성 기능을 제공합니다.

기본적으로 Object Storage 서비스는 구성된 스토리지 노드에서 파일 시스템을 사용하며 사용 가능한 만큼의 공간을 사용할 수 있습니다. 오브젝트 스토리지 서비스는 XFS 및 ext4 파일 시스템을 지원하며, 둘 다 사용 가능한 기본 블록 스토리지를 사용하도록 확장할 수 있습니다. 스토리지 노드에 스토리지 장치를 추가하여 용량을 확장할 수도 있습니다.

공유 파일 시스템 서비스는 하나 이상의 타사 백엔드 스토리지 시스템에서 관리하는 지정된 스토리지 풀의 파일 공유를 프로비저닝합니다. 서비스에 사용 가능한 스토리지 풀의 크기 또는 수를 늘리거나 타사 백엔드 스토리지 시스템을 배포에 추가하여 이 공유 스토리지를 확장할 수 있습니다.