11장. 디스크 스케줄러 설정

디스크 스케줄러는 스토리지 장치에 전송된 I/O 요청을 정렬합니다.

다음과 같은 다양한 방법으로 스케줄러를 구성할 수 있습니다.

참고

Red Hat Enterprise Linux 9에서 블록 장치는 다중 대기열 스케줄링만 지원합니다. 이를 통해 솔리드 스테이트 드라이브(SSD) 및 멀티 코어 시스템으로 블록 계층 성능을 확장할 수 있습니다.

Red Hat Enterprise Linux 7 및 이전 버전에서 사용할 수 있는 기존의 단일 대기열 스케줄러가 제거되었습니다.

11.1. 사용 가능한 디스크 스케줄러

Red Hat Enterprise Linux 9에서 지원되는 다중 대기열 디스크 스케줄러는 다음과 같습니다.

none
first-in first-out(databind) 스케줄링 알고리즘을 구현합니다. 간단한 마지막 캐시를 통해 일반 블록 계층의 요청을 병합합니다.
mq-deadline

요청이 스케줄러에 도달하는 시점의 요청에 대해 보장되는 대기 시간을 제공하려고 합니다.

mq-deadline 스케줄러는 대기 중인 I/O 요청을 읽기 또는 쓰기 일괄 처리로 정렬한 다음 논리 블록 주소 지정(LBA) 순서를 늘리기 위해 해당 요청을 실행하도록 예약합니다. 기본적으로 읽기 배치는 애플리케이션이 읽기 I/O 작업에서 차단될 가능성이 높기 때문에 쓰기 일괄 처리보다 우선합니다. mq-deadline 이 배치를 처리한 후 쓰기 작업이 프로세서 시간을 능가하는 기간을 확인하고 필요에 따라 다음 읽기 또는 쓰기 배치를 예약합니다.

이 스케줄러는 대부분의 사용 사례에 적합하지만, 특히 쓰기 작업이 대부분 비동기인 경우도 있습니다.

bfq

데스크탑 시스템 및 대화형 작업을 대상으로 합니다.

bfq 스케줄러는 단일 애플리케이션이 모든 대역폭을 절대 사용하지 않도록 합니다. 실제로 스토리지 장치는 유휴 상태인 것처럼 항상 반응하는 것처럼 반응합니다. 기본 구성에서 bfq 는 최대 처리량을 달성하는 대신 가장 짧은 대기 시간을 제공하는 데 중점을 둡니다.

BFQ는 cfq 코드를 기반으로 합니다. 고정 시간 슬라이스의 각 프로세스에 디스크를 부여하지 않지만 섹터 수로 측정된 예산을 프로세스에 할당합니다.

이 스케줄러는 대용량 파일을 복사하는 동안 적합하며 이 경우 시스템이 응답하지 않습니다.

kyber

스케줄러는 블록 I/O 계층에 제출된 모든 I/O 요청의 대기 시간을 계산하여 대기 시간 목표를 달성하기 위해 자체적으로 튜닝합니다. 캐시 허용 및 동기 쓰기 요청의 경우 읽기, 대상 대기 시간을 구성할 수 있습니다.

이 스케줄러는 NVMe, SSD 또는 기타 낮은 대기 시간 장치와 같은 빠른 장치에 적합합니다.