본문 바로가기

클라우드/오픈스택(OpenStack)

OpenStack 오픈스택 스토리지

# 오픈스택 스토리지

- 임시 스토리지와 영구 스토리지로 구분

- 임시 스토리지 : 플레이버에서 지정한 크기대로 만들어지는 root/eph와 같은 저장공간

> 인스턴스를 삭제할 때 함께 지워지기 때문에 임시 스토리지라고 한다. 라이프 사이클이 인스턴스와 동일하다.인스턴스를 만들떄 자동으로 생성된다.

- 영구 스토리지 : 인스턴스와 관계없이 데이터를 오래 저장 할 수 있다 . 인스턴스의 라이프 사이클과 상관없이 사용 가능한 스토리지

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

 

# 블록 스토리지

신더 서비스에 의해 관리되는 서비스 , 볼륨 이라는 형태로 구성해서 필요에 따라 인스턴스에 연결해서 사용한다. 기본적으로 하나의 볼륨은 하나의 인스턴스에 연결한다.( 연결해제 후 다른 인스턴스 연결은 가능하다) 볼륨을 복제 할 수 있도록 스냅샷 지원한다. 전 상태로 되돌아 가는 용도가 아니라 그 상태의 데이터를 복제하는 용도로 쓴다.

만든 사용자와 동일한 프로젝트 사용자들만 사용한다.

다른 프로젝트에서 같은 스토리가 필요할 수 있다 그런경우 볼륨 트랜스퍼라는 기능을 이용해 소유권을 양도 할 수 있다.

볼륨소스 빈 볼륨 / 볼륨의 스냅샷 / 이미지 / 볼륨 등으로 새로운 볼륨 생성 가능하다.

> 이미지를 선택하면 기존의 이미지에 저장된 모든 데이터들이 전부 볼륨으로 저장

이때 만들어진 볼륨을 인스턴스 생성시 사용 가능하다

왜 볼륨으로 인스턴스를 만드는가?

이미지 - 인스턴스 : 인스턴스의 데이터는 임시 저장

이미지 - 볼륨 -> 인스턴스 : 인스턴스의 모든 데이터가 볼륨에 영구 저장된다 (인스턴스를 지워도 볼륨이 남아있다)

 

# 오브젝트 스토리지

별도의 저장 공간, 인스턴스와 관계없이 API/URL등을 이용해서 데이터를 저장하고 다운로드 한다.

대부분의 파일 종류를 업로드해서 사용 할 수 있다. 별도의 크기 제한없이 사용

swift-operator 라는 역할을 필요로 할 수 있음

파일을 컨테이너에 저장하고 컨테이너 단위로 접근제어 설정