여러 계층 (실제 드라이브-> md-> dm-> lvm)의 경우 스케줄러, 미리 읽기 설정 및 기타 디스크 설정은 어떻게 상호 작용합니까?
mdadm으로 만든 소프트웨어 RAID 장치 (/ dev / md0)의 모든 부분에 여러 디스크 (/ dev / sda-/ dev / sdd)가 있다고 가정합니다. 각 장치 (물리 디스크 및 / dev / md0 포함)에는 IO 스케줄러 ( 이렇게 변경됨 ) 및 미리 읽기 ( blockdev를 사용하여 변경됨 )에 대한 자체 설정이 있습니다. dm (crypto) 및 LVM과 같은 것을 던지면 자체 설정으로 더 많은 레이어를 추가합니다.
예를 들어, 물리적 장치에 128 블록보다 먼저 읽기가 있고 RAID에 64 블록의 미리 읽기가있는 경우, / dev / md0? md 드라이버는 물리적 장치 드라이버가 128 블록 읽기로 변환되는 64 블록 읽기를 시도합니까? 아니면 RAID readahead가 기본 장치로 "통과"되어 64 개의 블록 읽기가 발생합니까?
스케줄러에 대해 같은 종류의 질문이 있습니까? 여러 계층의 IO 스케줄러와 이들이 상호 작용하는 방식에 대해 걱정해야합니까? 또는 / dev / md0이 기본 스케줄러를 효과적으로 재정의합니까?
이 질문에 대한 답을 찾기 위해 스케줄러와 도구에 대한 흥미로운 데이터를 찾았습니다.
/sys/block/md0/queue/scheduler
내 시스템,하지만 거기에있는 유일한 선택입니다none
.