10장. mClock OSD 스케줄러
스토리지 관리자는 mClock 대기 스케줄러를 사용하여 Red Hat Ceph Storage의 QoS(Quality of Service)를 구현할 수 있습니다. 이는 dmClock이라는 mClock 알고리즘의 수정에 기반을 두고 있습니다.
mClock OSD 스케줄러는 구성 프로필을 사용하여 원하는 QoS를 제공하여 서비스 유형에 적절한 예약, 가중치 및 제한 태그를 할당합니다.
mClock OSD 스케줄러는 OSD의 IOPS 기능(자동으로 결정됨) 및 최대 순차 대역폭 기능을 사용하여 SSD 또는 HDD인 다양한 장치 유형에 대한 QoS 계산을 수행합니다(자동으로 결정됨) 및 최대 순차 대역폭 기능 참조(참조 osd_mclock_max_bandwidth_hdd
및 osd_mclock_max_sequential_bandwidth_ssd
). https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/6/html-single/administration_guide/#the-mclock-configuration-options_admin
10.1. mClock OSD 스케줄러와 FlexVolumeQ OSD 스케줄러 비교
mClock OSD 스케줄러는 Red Hat Ceph Storage 6.1에서 WMCO(Weighted Priority Queue) OSD 스케줄러를 기본 스케줄러로 대체합니다.
mClock 스케줄러는 BlueStore OSD에서 지원됩니다.
FlexVolumeQ OSD 스케줄러는 일반 대기열보다 먼저 큐에 해제되는 엄격한 하위 큐를 제공합니다. FlexVolumeQ는 큐의 종료를 방지하기 위해 우선순위와 관련하여 큐에서 작업을 제거합니다. 이렇게 하면 일부 Ceph OSD가 다른 Ceph OSD보다 과부하가 더 많은 경우에 도움이 됩니다.
mClock OSD 스케줄러는 현재 즉시 응답이 필요한 작업이 대기열에 있는 즉시 큐를 제공합니다. 즉시 큐는 mClock에 의해 처리되지 않고, 첫 번째 큐에서 간단한 것으로 기능하며 첫 번째 우선 순위가 부여됩니다.
OSD 복제 작업, OSD 작업 응답, 피어링, 우선 순위가 가장 높은 복구 등은 즉시 큐에 대기됩니다. 다른 모든 작업은 mClock 알고리즘에 따라 작동하는 mClock 큐로 큐에 추가됩니다.
mClock 큐인 mclock_scheduler
는 해당 버킷이 속한 버킷에 따라 작업에 우선순위를 지정합니다. pg 복구
,pg scrub
,snap trim
,client op
및 pg 삭제
백그라운드 작업이 진행됨에 따라 IOPS(초당 입력 및 출력 작업)인 평균 클라이언트 처리량이 훨씬 높으며 대기 시간이 mClock 프로필과 비교될 때 mClock 프로필로 줄어듭니다. 이는 mClock의 QoS 매개변수의 효과적인 할당 때문입니다.
추가 리소스
- 자세한 내용은 mClock 프로필 섹션을 참조하십시오.