대규모 데이터를 저장하는 것은 하드 드라이브에 파일을 저장하는 것과 다릅니다. 회사 파일을 구성하는 모든 비트를 추적하려면 소프트웨어 관리자가 필요합니다. 바로 여기에서 Ceph 및 Gluster와 같은 분산 스토리지 관리 패키지가 등장합니다.
Ceph와 Gluster는 모두 분산 스토리지 관리에 사용되는 시스템입니다. 둘 다 소프트웨어 정의 스토리지로 간주되므로 하드웨어에 구애받지 않습니다. 그들은 자신의 기본 인프라를 사용하여 데이터를 구성하는 비트를 구성합니다. 이것이 이 선택을 정의하는 것입니다. 데이터를 지원하기 원하는 기본 프레임워크는 무엇입니까?
저장하는 데이터의 유형, 해당 데이터에 액세스하는 방법, 해당 데이터가 있는 위치에 따라 결정해야 합니다. Ceph와 GlusterFS는 둘 다 좋은 선택이지만 이상적인 애플리케이션은 미묘하게 다릅니다.
비정형 데이터를 위한 객체 기반 스토리지:Ceph
Ceph는 객체 기반 시스템입니다. 즉, 저장된 데이터를 파일 계층이 아닌 객체로 관리하여 클러스터 전체에 바이너리 데이터를 분산시킵니다. 유사한 개체 저장 방법은 Facebook에서 이미지를 저장하고 Dropbox에서 클라이언트 파일을 저장하는 데 사용됩니다. 일반적으로 오브젝트 스토리지는 대용량의 비정형 데이터를 지원하므로 대규모 데이터 스토리지에 적합합니다. 시스템은 클러스터 모니터, 메타데이터 서버 및 저널 스토리지 형태의 데몬 네트워크에 의해 유지 관리됩니다. 이러한 기능이 결합되어 Ceph를 유능하지만 경쟁 제품보다 더 복잡하게 만듭니다.
흔하지 않은 개체 및 블록 기반 스토리지는 Ceph가 스토리지 관리를 위해 자체 도구를 사용한다는 것을 의미합니다. 이를 위해서는 시스템 관리자가 Ceph의 도구에 익숙해져야 합니다. Ceph의 진정한 내면은 언뜻 이해하기 어려울 수 있습니다. 기본적으로 이점을 얻으려면 어떻게 작동하는지 기꺼이 배울 필요가 있습니다. 자가 관리형 자가 치유 시스템은 시간이 지남에 따라 지속적인 운영 비용을 절감할 수 있으며 Ceph는 업계 표준 서버 하드웨어에서 실행할 수 있습니다.
시스템은 또한 블록 스토리지를 생성하여 클러스터 전체에서 제거 및 복제할 수 있는 블록 장치 이미지에 대한 액세스를 제공할 수 있습니다. 애플리케이션은 Amazon S3 및 Openstack Swift API를 지원하는 RESTful 인터페이스를 통해 Ceph Object Storage에 액세스할 수 있습니다. 목표는 고성능, 대용량 스토리지, 레거시 코드와의 호환성입니다.
계층적 트리의 블록 스토리지:GlusterFS
Gluster로 더 잘 알려진 GlusterFS는 보다 전통적인 파일 저장소입니다. 설정하기 쉽고 적절하게 컴파일된 빌드는 폴더가 있는 모든 시스템에서 사용할 수 있습니다. 유연성과 사용 용이성은 시스템의 주요 이점입니다. 엄청난 용량으로 확장할 수 있지만 성능은 빠르게 저하되는 경향이 있습니다. 큰 평균 파일 크기(4MB 이상) 및 순차 액세스에 가장 적합합니다. 클러스터는 물리적, 가상 및 클라우드 서버에 분산되어 유연한 스토리지 가상화가 가능합니다.
Gluster는 블록 스토리지를 사용합니다. 즉, 연결된 클러스터 장치의 열린 공간에 데이터 청크가 저장됩니다. 파일 및 블록 기반 스토리지는 파일을 계층적 트리에 배열하는 파일 시스템을 사용합니다. 이더넷을 통해 지리적으로 다른 서버를 통합하여 확장 가능한 병렬 네트워크 파일 시스템을 만듭니다. Gluster는 기본적으로 FUSE 및 NFS의 클러스터 기반 버전으로, 대부분의 시스템 관리자에게 친숙한 아키텍처를 제공합니다. 간단하고 유지 관리가 용이하며 널리 사용할 수 있도록 고안되었지만 적절한 상황에서 Ceph가 제공할 수 있는 액세스 속도가 없습니다.
결론
Ceph는 전 세계 파일의 대부분을 차지하는 비정형 데이터의 빠른 액세스에 가장 적합합니다. Gluster는 스트리밍 비디오와 같은 순차 데이터 액세스 또는 백업과 같이 속도가 그다지 중요하지 않은 애플리케이션에 더 좋습니다.
어떤 파일 스토리지 시스템을 사용하고 있습니까?