4장. 풀

Ceph 클라이언트는 풀에 데이터를 저장합니다. 풀을 생성할 때 클라이언트가 데이터를 저장할 I/O 인터페이스를 생성합니다. Ceph 클라이언트(즉, 블록 장치, 게이트웨이 및 나머지)의 관점에서 Ceph 스토리지 클러스터와 상호 작용은 매우 간단합니다. 클러스터 핸들을 생성하고 클러스터에 연결한 다음, 오브젝트와 해당 확장 속성을 읽고 작성할 I/O 컨텍스트를 생성합니다.

Cluster Handle 및 Connect to the Cluster를 생성

Ceph 스토리지 클러스터에 연결하려면 Ceph 클라이언트에 클러스터 이름(일반적으로 ceph ) 및 초기 모니터 주소가 필요합니다. Ceph 클라이언트는 일반적으로 Ceph 구성 파일의 기본 경로를 사용하여 이러한 매개 변수를 검색한 다음 파일에서 읽을 수 있지만 사용자는 명령줄에 매개 변수를 지정할 수도 있습니다. 또한 Ceph 클라이언트는 사용자 이름 및 시크릿 키(인증은 기본적으로 설정되어 있음) 제공합니다. 그런 다음 클라이언트는 Ceph 모니터에 연결하여 모니터, OSD 및 풀을 포함하여 클러스터 맵의 최근 사본을 검색합니다.

Handle 만들기

풀 I/O 컨텍스트 생성

Ceph 클라이언트는 데이터를 읽고 쓰기 위해 Ceph 스토리지 클러스터의 특정 풀에 i/o 컨텍스트를 생성합니다. 지정된 사용자에게 풀에 대한 권한이 있는 경우 Ceph 클라이언트는 지정된 풀에서 읽고 쓸 수 있습니다.

I/O 컨텍스트

Ceph의 아키텍처를 사용하면 스토리지 클러스터에서 Ceph 클라이언트에 이러한 간단한 인터페이스를 제공할 수 있으므로 클라이언트는 풀 이름을 지정하고 I/O 컨텍스트를 만들어 간단하게 정의한 정교한 스토리지 전략 중 하나를 선택할 수 있습니다. 스토리지 전략은 Ceph 클라이언트에 있지만 용량 및 성능이 표시되지 않습니다. 마찬가지로 Ceph 클라이언트의 복잡성을 블록 장치 표현으로 매핑하여 S3/Swift RESTful 서비스를 제공하는 것은 Ceph 스토리지 클러스터에 표시되지 않습니다.

풀은 다음을 제공합니다.

  • 복원력: 데이터 손실 없이 실패할 수 있는 OSD 수를 설정할 수 있습니다. 복제된 풀의 경우 원하는 오브젝트의 사본/복제본 수입니다. 일반적인 구성에서는 오브젝트와 하나의 추가 복사본(즉, size = 2)을 저장하지만 사본/복제본 수를 결정할 수 있습니다. 복원된 풀의 경우 코드화된 풀의 수(즉, 삭제 코드 프로파일 삭제m=2 )의 코딩 청크 수입니다.
  • 배치 그룹: 풀에 대한 배치 그룹 수를 설정할 수 있습니다. 일반적인 구성에서는 OSD당 약 50~100개의 배치 그룹을 사용하여 너무 많은 컴퓨팅 리소스를 사용하지 않고 최적의 균형을 유지합니다. 여러 풀을 설정할 때 풀과 클러스터 전체에 적절한 수의 배치 그룹을 설정해야 합니다.
  • CRUSH 규칙: 풀에 매핑된 CRUSH 규칙을 풀에 저장하면 CRUSH가 각 오브젝트의 배치와 해당 복제본(또는 삭제 코딩된 풀의 청크)에 대한 규칙을 확인할 수 있습니다. 풀에 대한 사용자 지정 CRUSH 규칙을 생성할 수 있습니다.
  • 스냅샷: ceph osd 풀 mksnap을 사용하여 스냅샷을 만들 때 특정 풀 의 스냅샷을 효과적으로 수행할 수 있습니다.
  • 할당량: ceph osd pool set-quota 를 사용하여 풀에서 할당량을 설정하면 지정된 풀에 저장된 최대 오브젝트 수 또는 최대 바이트 수를 제한할 수 있습니다.

4.1. 풀 및 스토리지 전략

풀을 관리하려면 풀을 나열, 생성 및 제거할 수 있습니다. 각 풀의 사용률 통계를 볼 수도 있습니다.