2장. 풀 개요
Ceph 클라이언트는 데이터를 풀에 저장합니다. 풀을 생성할 때 클라이언트가 데이터를 저장할 I/O 인터페이스를 생성합니다.
Ceph 클라이언트, 즉 블록 장치, 게이트웨이 및 나머지 관점에서 Ceph 스토리지 클러스터와 상호 작용하는 것은 매우 간단합니다.
- 클러스터 처리 생성.
- 클러스터 처리를 클러스터에 연결합니다.
- 오브젝트 및 확장된 속성을 읽고 쓰기 위한 I/O 컨텍스트를 생성합니다.
클러스터 처리 생성 및 클러스터에 연결
Ceph 스토리지 클러스터에 연결하려면 Ceph 클라이언트에 다음 세부 정보가 필요합니다.
- 클러스터 이름(기본적으로 Ceph) - 모호한 것처럼 표시하므로 일반적으로 사용하지 않습니다.
- 초기 모니터 주소입니다.
Ceph 클라이언트는 일반적으로 Ceph 구성 파일의 기본 경로를 사용하여 이러한 매개 변수를 검색한 다음 파일에서 읽습니다. 그러나 사용자는 명령줄에서 매개 변수도 지정할 수 있습니다. Ceph 클라이언트는 또한 사용자 이름과 시크릿 키를 제공하며, 인증은 기본적으로 on
입니다. 그런 다음 클라이언트는 Ceph 모니터 클러스터에 연결하여 모니터, OSD 및 풀을 포함하여 최근 클러스터 맵 복사본을 검색합니다.
풀 I/O 컨텍스트 생성
Ceph 클라이언트는 데이터를 읽고 쓰기 위해 Ceph 스토리지 클러스터의 특정 풀에 대한 I/O 컨텍스트를 생성합니다. 지정된 사용자에게 풀에 대한 권한이 있는 경우 Ceph 클라이언트는 지정된 풀에서 읽고 쓸 수 있습니다.
Ceph의 아키텍처를 사용하면 스토리지 클러스터에서 Ceph 클라이언트에 이러한 간단한 인터페이스를 제공할 수 있으므로 풀 이름을 지정하고 I/O 컨텍스트를 생성하여 클라이언트가 간단히 정의한 정교한 스토리지 전략 중 하나를 선택할 수 있습니다. 스토리지 전략은 Ceph 클라이언트에는 모든 용량 및 성능을 볼 수 없습니다. 마찬가지로 오브젝트를 블록 장치 표현에 매핑하거나 S3/Swift RESTful 서비스를 제공하는 등 Ceph 클라이언트의 복잡성은 Ceph 스토리지 클러스터에 표시되지 않습니다.
풀은 복원력, 배치 그룹, CRUSH 규칙 및 할당량을 제공합니다.
-
복원력: 데이터 손실 없이 실패할 수 있는 OSD 수를 설정할 수 있습니다. 복제된 풀의 경우 오브젝트의 복사본 또는 복제본 수를 원하는 수입니다. 일반적인 구성은 오브젝트와 하나의 추가 복사본, 즉
size = 2
를 저장하지만 복사본 또는 복제본 수를 확인할 수 있습니다. 코딩된 풀의 경우 이 풀은 코딩 청크 수이며 삭제 코드 프로파일 의m=2
입니다. - 배치 그룹: 풀의 배치 그룹 수를 설정할 수 있습니다. 일반적인 구성은 OSD당 약 50~100개의 배치 그룹을 사용하여 컴퓨팅 리소스를 너무 많이 사용하지 않고도 최적의 균형을 유지합니다. 여러 풀을 설정할 때는 풀과 클러스터 전체에 대해 적절한 수의 배치 그룹을 설정해야 합니다.
- CRUSH 규칙: 풀에 데이터를 저장할 때 풀에 매핑된 CRUSH 규칙을 사용하면 CRUSH에서 각 개체와 해당 복제본의 배치 규칙 또는 클러스터에서 코딩된 풀 삭제에 대한 청크를 식별할 수 있습니다. 풀에 대한 사용자 지정 CRUSH 규칙을 생성할 수 있습니다.
-
할당량:
ceph osd pool set-quota
명령을 사용하여 풀에 할당량을 설정하면 최대 오브젝트 수 또는 지정된 풀에 저장된 최대 바이트 수를 제한할 수 있습니다.