1장. OpenStack의 영구 스토리지 소개
OpenStack에서는 두 가지 유형의 스토리지( 임시 및 영구 )를 인식합니다. 임시 스토리지는 특정 컴퓨팅 인스턴스에만 연결된 스토리지입니다. 인스턴스가 종료되면 는 임시 스토리지입니다. 이 유형의 스토리지는 인스턴스의 운영 체제 저장과 같은 기본 런타임 요구 사항에 유용합니다.
반면 영구 스토리지는 실행 중인 인스턴스와 독립적으로 유지("persist")하도록 설계되었습니다. 이 스토리지는 다른 인스턴스에서 또는 특정 인스턴스의 수명 이상으로 재사용해야 하는 모든 데이터에 사용됩니다. OpenStack에서는 다음과 같은 유형의 영구 스토리지를 사용합니다.
- volumes
OpenStack Block Storage 서비스(openstack-cinder)를 사용하면 볼륨 을 통해 블록 스토리지 장치에 액세스할 수 있습니다. 사용자는 임시 스토리지를 범용 영구 스토리지로 보강하기 위해 인스턴스에 볼륨을 연결할 수 있습니다. 볼륨은 원하는 대로 인스턴스를 분리하고 다시 연결할 수 있으며 연결된 인스턴스를 통해서만 액세스할 수 있습니다.
볼륨은 백업 및 스냅샷을 통해 고유한 중복 및 재해 복구 기능도 제공합니다. 또한 보안을 강화하기 위해 볼륨을 암호화할 수도 있습니다. 볼륨에 대한 자세한 내용은 2장. 블록 스토리지 및 볼륨 을 참조하십시오.
참고또한 인스턴스를 임시 스토리지를 전혀 사용하지 않도록 구성할 수도 있습니다. 이러한 경우 블록 스토리지 서비스는 볼륨에 이미지를 쓸 수 있습니다. 그러면 볼륨을 인스턴스의 부팅 가능한 루트 볼륨으로 사용할 수 있습니다.
- 컨테이너
OpenStack Object Storage 서비스(openstack-swift)는 미디어 파일, 대규모 데이터 세트 및 디스크 이미지와 같은 모든 종류의 정적 데이터 또는 바이너리 오브젝트 를 저장하는 데 사용되는 완전한 배포 스토리지 솔루션을 제공합니다. 오브젝트 스토리지 서비스는 컨테이너 를 통해 이러한 오브젝트를 구성합니다.
볼륨의 콘텐츠에는 인스턴스를 통해서만 액세스할 수 있지만 컨테이너 내부의 오브젝트에는 Object Storage REST API를 통해 액세스할 수 있습니다. 따라서 오브젝트 스토리지 서비스는 클라우드 내의 거의 모든 서비스에서 리포지토리로 사용할 수 있습니다. 예를 들어 데이터 처리 서비스(openstack-sahara)는 Object Storage 서비스를 통해 모든 바이너리, 데이터 입력, 데이터 출력 및 템플릿을 직접 관리할 수 있습니다.
- 공유
- OpenStack Shared File System 서비스(openstack-manila)는 원격, 공유 가능한 파일 시스템 또는 공유를 쉽게 프로비저닝할 수 있는 수단을 제공합니다. 공유를 사용하면 클라우드 내의 테넌트가 스토리지를 공개적으로 공유할 수 있으며 여러 인스턴스에서 동시에 사용할 수 있습니다.
OpenStack Shared File System 서비스는 이 릴리스에서 기술 프리뷰로 제공되므로 Red Hat에서 완전히 지원되지 않습니다. 테스트 용도로만 사용해야 하며 프로덕션 환경에 배포해서는 안 됩니다. 기술 프리뷰 기능에 대한 자세한 내용은 적용 범위 상세 정보를 참조하십시오.
각 스토리지 유형은 특정 스토리지 요구 사항을 충족하도록 설계되었습니다. 컨테이너는 광범위한 액세스를 위해 설계되었으며 모든 스토리지 유형 중에서 가장 높은 처리량, 액세스 및 내결함성을 제공합니다. 컨테이너 사용은 서비스에 더 많이 사용됩니다.
반면 볼륨은 주로 인스턴스 소비에 사용됩니다. 컨테이너와 동일한 수준의 액세스 및 성능을 활용하지는 않지만 더 큰 기능 세트가 있으며 컨테이너보다 기본 보안 기능이 더 많습니다. 공유는 여러 인스턴스에서 사용할 수 있다는 점을 제외하고 이와 관련하여 볼륨과 유사합니다.
다음 섹션에서는 특정 스토리지 기준의 컨텍스트에서 각 스토리지 유형의 아키텍처 및 기능 세트를 자세히 설명합니다.
1.1. 확장성 및 백엔드 링크 복사링크가 클립보드에 복사되었습니다!
일반적으로 클러스터형 스토리지 솔루션은 백엔드 확장성을 크게 제공합니다. 예를 들어 Red Hat Ceph를 블록 스토리지 백엔드로 사용하는 경우 Ceph OSD(Object Storage Daemon) 노드를 추가하여 스토리지 용량 및 중복성을 확장할 수 있습니다. 블록 스토리지 및 오브젝트 스토리지 서비스는 모두 Red Hat Ceph를 백엔드로 지원합니다.
블록 스토리지 서비스는 여러 스토리지 솔루션을 개별 백엔드로 사용할 수 있습니다. 백엔드 수준에서 더 많은 백엔드를 추가하고 서비스를 다시 시작하여 용량을 확장할 수 있습니다. 블록 스토리지 서비스에는 지원되는 백엔드 솔루션의 많은 목록도 포함되어 있으며 그 중 일부는 추가 확장성 기능을 제공합니다.
기본적으로 Object Storage 서비스는 구성된 스토리지 노드에서 파일 시스템을 사용하며 사용 가능한 만큼 많은 공간을 사용할 수 있습니다. Object Storage 서비스는 XFS 및 ext4 파일 시스템을 지원하며, 둘 다 사용 가능한 기본 블록 스토리지를 사용하도록 확장할 수 있습니다. 스토리지 노드에 스토리지 장치를 추가하여 용량을 확장할 수도 있습니다.
공유 파일 시스템 서비스는 별도의 스토리지 풀 의 스토리지에서 지원하는 공유를 프로비저닝합니다. 이 풀(일반적으로 타사 백엔드 서비스에서 관리)은 파일 시스템 수준에서 스토리지와 함께 공유를 제공합니다. OpenStack Shared File System 서비스는 NetApp을 지원하며, 이 서비스는 프로비저닝된 공유가 스토리지에 사용할 수 있는 미리 생성된 볼륨의 스토리지 풀을 사용하도록 구성할 수 있습니다. 이 배포에서 확장에는 풀에 더 많은 볼륨을 추가해야 합니다.