파일 스토리지
파일을 폴더와 하위 폴더의 계층 구조로 구성한다(계층으로 구조화). 우리가 기본적으로 아는 그 폴더 구조.
오브젝트 스토리지
'오브젝트'로 불리는 각 데이터 단위가 개별 단위로 저장된다. 파일 스토리지와 달리 평면 구조로 구성된다(비구조화). 오늘날 비정형 데이터가 전체 데이터의 80% 이상을 차지하면서 클라우드, 빅데이터, 인공지능 분야에서 비정형 데이터 처리를 위한 스토리지 아키텍처로서 필요성이 증가하고있다. 비정형 구조인 만큼, 파일을 빠르게 찾을 수 있도록 메타데이터를 구성할 필요가 있다. 따라서 오브젝트는 메타데이터의 커스터마이징을 제공하며, 이는 오브젝트 스토리지의 특장점이 된다. HTTP 기반의 RESTful API를 지원하여 네트워크 상에 HTTP명령어를 사용하여 데이터에 접근할 수 있다.(ex. GET /obj=xxx)
오브젝트 스토리지는 블록 스토리지와 다르게 단독으로 구성할 수 있으며 사용자 계정의 컨테이너에 파일이나 데이터를 저장할 수 있다. 따라서 사용자별로 저장 공간을 나누는 스토리지 시스템을 구축할 때는 오브젝트 스토리지를 사용한다. 오브젝트 스토리지는 사용자 계정이 있으며, 사용자는 시스템에 로그인해야 스토리지를 사용할 수 있다.
오브젝트 스토리지를 제공하는 오픈스택 컴포넌트 : Swift
블록 스토리지
파일을 하나의 데이터 단위로 취급하는 파일 스토리지, 오브젝트 스토리지와 달리 블록 스토리지는 데이터를 블록 단위로 처리한다. 데이터를 블록으로 분할한 후 각 블록에 고유 ID를 부여한다(블록으로 구조화).이 때 파일이나 오브젝트를 여러 블록에 분산되는 것을 허용한다. 데이터 요청 시 각 블록에 분산되어있는 데이터를 병합하여 제공한다. 블록 스토리지는 파일 스토리지와 달리 단일 데이터 경로에 의존하지 않아 검색 처리속도가 빠르다. 각 블록은 독립적으로 존재하며 파티션으로 분할될 수 있기 때문에 서로 다른 운영 체제에 액세스할 수 있다. 이러한 유연성과 효율성으로, 블록 스토리지는 컨테이너에 적합하다. 컨테이너를 신속하게 정의하고 실행할 수 있다. 즉, 더 많은 데이터를 저장해야 할수록 블록 스토리지를 사용하는 것이 더 유리하다.
인스턴스의 블록 스토리지는 기존의 인스턴스에서 연결 해제한 후 다른 인스턴스에 연결해 사용할 수 있다. 개발 소스나 문서처럼 중요한 데이터들은 운영체제와 함께 생명을 다하는 인스턴스가 아니라 별도의 저장 공간인 블록 스토리지에 저장한 후 , 나중에 인스턴스에 문제가 생겼을 때 연결을 해제한후 새로운 인스턴스에 다시 연결해 사용할 수 있다.
블록 스토리지를 제공하는 오픈스택 컴포넌트 : Cinder
🔗 레퍼런스
'Cloud > Openstack' 카테고리의 다른 글
Openstack 구현 일지 (2) | 2022.01.16 |
---|