12장. 디스크 스케줄러 설정
디스크 스케줄러는 스토리지 장치에 제출된 I/O 요청을 주문합니다.
여러 가지 방법으로 스케줄러를 구성할 수 있습니다.
- TuneD 를 사용하여 디스크 스케줄러 설정에서 설명하는 TuneD를 사용하여 스케줄러를 설정합니다. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/monitoring_and_managing_system_status_and_performance/setting-the-disk-scheduler_monitoring-and-managing-system-status-and-performance#setting-the-disk-scheduler-using-tuned_setting-the-disk-scheduler
-
udev
규칙을 사용하여 디스크 스케줄러 설정에 설명된 대로 udev를 사용하여 스케줄러 설정 - 특정 디스크에 대한 스케줄러를 일시적으로 설정하지 않은 경우 설명된 대로 실행 중인 시스템에서 스케줄러를 일시적으로변경합니다.
Red Hat Enterprise Linux 8에서 블록 장치는 다중 대기열 스케줄링만 지원합니다. 이를 통해 솔리드 스테이트 드라이브(SSD) 및 멀티 코어 시스템으로 블록 계층 성능을 확장할 수 있습니다.
Red Hat Enterprise Linux 7 및 이전 버전에서 사용할 수 있는 기존의 단일 대기열 스케줄러가 제거되었습니다.
12.1. 사용 가능한 디스크 스케줄러
Red Hat Enterprise Linux 8에서는 다음과 같은 멀티 큐 디스크 스케줄러가 지원됩니다.
none
- FIFO(선입선출) 스케줄링 알고리즘을 구현합니다. 간단한 마지막 캐시를 통해 일반 블록 계층의 요청을 병합합니다.
mq-deadline
요청이 스케줄러에 도달하는 시점의 요청에 대해 보장된 대기 시간을 제공합니다.
mq-deadline
스케줄러는 대기 중인 I/O 요청을 읽기 또는 쓰기 배치로 정렬한 다음, 논리 블록 주소 지정(LBA) 순서를 늘리도록 실행하도록 예약합니다. 애플리케이션이 읽기 I/O 작업에서 차단될 가능성이 높기 때문에 기본적으로 읽기 배치는 쓰기 배치보다 우선합니다.mq-deadline
이 배치를 처리한 후 쓰기 작업이 프로세서 시간이 지난 시간을 확인하고 다음 읽기 또는 쓰기 배치를 적절하게 예약합니다.이 스케줄러는 대부분의 사용 사례에 적합하지만 특히 쓰기 작업이 주로 비동기식으로 사용됩니다.
bfq
데스크탑 시스템 및 대화형 작업을 대상으로 합니다.
bfq
스케줄러는 단일 애플리케이션이 모든 대역폭을 사용하지 않도록 합니다. 결과적으로 스토리지 장치는 항상 유휴 상태인 것처럼 반응합니다. 기본 구성에서bfq
는 최대 처리량을 달성하는 대신 가장 낮은 대기 시간을 전달하는 데 중점을 둡니다.BFQ
는cfq
코드를 기반으로 합니다. 고정된 시간 슬라이스에 대해 각 프로세스에 디스크에 부여하지 않지만 섹터 수로 측정된 예산을 프로세스에 할당합니다.이 스케줄러는 대용량 파일을 복사하는 동안 적합하며 이 경우 시스템이 응답하지 않습니다.
kyber
스케줄러는 블록 I/O 계층에 제출된 모든 I/O 요청 대기 시간을 계산하여 대기 시간 목표를 달성하도록 자체적으로 조정합니다. 캐시 누락 및 동기 쓰기 요청의 경우 읽기, 에 대한 대상 대기 시간을 구성할 수 있습니다.
이 스케줄러는 NVMe, SSD 또는 기타 짧은 대기 시간이 짧은 장치 등 빠른 장치에 적합합니다.