10.2. 입력 및 출력 리소스 할당
이 섹션에서는 QoS 제어가 예약, 제한 및 가중치 할당을 통해 내부적으로 작동하는 방법을 설명합니다. 사용자는 이러한 제어를 mClock 프로파일로 자동 설정할 것으로 예상되지 않습니다. 이러한 컨트롤 튜닝은 사용 가능한 mClock 프로필을 통해서만 수행할 수 있습니다.
dmClock 알고리즘은 Ceph 클러스터의 입력 및 출력(I/O) 리소스를 가중치에 비례하여 할당합니다. 최소 예약 및 최대 제한 조건을 구현하여 서비스가 리소스에 대해 공정하게 경쟁할 수 있도록 합니다.
현재 mclock_scheduler
작업 대기열은 I/O 리소스와 관련된 Ceph 서비스를 다음 버킷으로 나눕니다.
-
Client op : 클라이언트에서
발행한 IOPS(초당 입력 및 출력 작업)입니다. -
PG 삭제
: 기본 Ceph OSD에서 발행한 IOPS -
snap trim
: 스냅샷 트리밍 관련 요청입니다. -
PG 복구
: 복구 관련 요청 -
PG scrub
: 스크루브 관련 요청
리소스는 다음 세 가지 태그 세트를 사용하여 분할됩니다. 즉, 각 서비스 유형의 공유는 이러한 세 가지 태그로 제어됩니다.
- 예약
- 제한
- 가중치
예약
서비스에 할당된 최소 IOPS입니다. 서비스가 더 많이 할당될수록 필요한 리소스를 확보할 수 있습니다.
예를 들어 예약이 0.1(또는 10%)로 설정된 서비스에는 항상 OSD의 IOPS 용량의 10%가 할당되어 있습니다. 따라서 클라이언트가 대량의 I/O 요청을 발행하기 시작하는 경우에도 로드가 높은 클러스터에서도 모든 I/O 리소스를 소진하지 않으며 서비스의 작업이 소모되지 않습니다.
제한
서비스에 할당된 최대 IOPS입니다. 이 서비스는 필요한 경우에도 초당 설정된 요청 수를 초과하지 않으며 다른 서비스는 서비스하지 않습니다. 서비스가 적용된 제한을 초과하면 제한이 복원될 때까지 작업이 작업 대기열에 남아 있습니다.
값을 0
(비활성화)으로 설정하면 서비스가 제한 설정으로 제한되지 않으며 다른 경쟁 작업이 없는 경우 모든 리소스를 사용할 수 있습니다. mClock 프로필에서 "MAX"로 표시됩니다.
예약 및 제한 매개변수 할당은 Ceph OSD 아래의 backup 장치 유형(임의화 또는 SSD)을 기반으로 합니다. osd_op_num_shards_hdd
및 osd_op_num_shards_ssd
매개변수에 대한 자세한 내용은 OSD Object 스토리지 데몬 구성 옵션을 참조하십시오.
가중치
추가 용량 또는 시스템이 충분하지 않은 경우 용량 비례 비율입니다. 서비스는 I/O 리소스의 더 큰 부분을 사용할 수 있습니다.
서비스의 예약 및 제한 값은 OSD의 총 IOPS 용량의 비율로 지정됩니다. 비율은 mClock 프로필의 백분율로 표시됩니다. 가중치에는 단위가 없습니다. 가중치는 서로 상대적이므로 한 클래스의 요청의 가중치가 9이고 다른 클래스가 1인 경우 요청은 9~1 비율로 수행됩니다. 그러나 예약이 충족되는 경우에만 발생하며 해당 값에는 예약 단계에서 수행되는 작업이 포함됩니다.
가중치가 W
로 설정되면 입력되는 다음 클래스에 1/W
의 weight 태그와 이전 weight 태그 또는 현재 시간이 더 큰 것을 요청합니다. 즉, W
가 너무 크므로 1/W
가 너무 작으면 현재 시간 값을 가져오므로 계산된 태그가 할당되지 않을 수 있습니다.
따라서 weight 값은 항상 1초마다 서비스될 것으로 예상되는 요청 수 미만이어야 합니다.