Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23장. 스토리지 I/O 정렬 및 크기

SCSI 및 ATA 표준에 대한 최근 개선된 기능을 통해 스토리지 장치에서 선호하는(및 경우에 따라 필요한) I/O 정렬 및 I/O 크기를 표시할 수 있습니다. 이 정보는 물리적 섹터 크기를 512바이트에서 4k 바이트로 늘리는 최신 디스크 드라이브에 특히 유용합니다. 이 정보는 청크 크기와 스트라이프 크기가 성능에 영향을 줄 수 있는 RAID 장치에도 유용할 수 있습니다.
Linux I/O 스택이 공급업체 제공 I/O 정렬 및 I/O 크기 정보를 처리하도록 향상되어 데이터 배치 및 액세스를 최적화하기 위해 스토리지 관리 도구(parted,lvm,mkfs.* 등)가 허용됩니다. 레거시 장치가 I/O 정렬 및 크기 데이터를 내보내지 않는 경우 Red Hat Enterprise Linux 7의 스토리지 관리 툴은 4k(또는 더 큰 전력 2) 경계에 I/O에 맞게 조정됩니다. 이렇게 하면 필수/출력 정렬 및 크기를 나타내지 않는 경우에도 4k-sector 장치가 올바르게 작동합니다.
장치에서 얻은 운영 체제를 결정하는 방법에 대한 자세한 내용은 23.2절. “사용자 공간 액세스” 을 참조하십시오. 이후 이 데이터는 스토리지 관리 툴에서 데이터 배치를 결정하는 데 사용됩니다.
Red Hat Enterprise Linux 7에서 IO 스케줄러가 변경되었습니다. 기본 IO Scheduler는 SATA 드라이브를 제외하고 이제 Deadline 입니다. CFQ는 SATA 드라이브의 기본 IO 스케줄러입니다. 더 빠른 스토리지, Deadline outs CFQ 및 사용 시 특수 튜닝 없이도 성능이 향상됩니다.
일부 디스크(예: SAS 회전 디스크)에는 기본값이 적합하지 않은 경우 IO 스케줄러를 CFQ로 변경합니다. 이 인스턴스는 워크로드에 따라 달라집니다.

23.1. 스토리지 액세스를 위한 매개변수

운영 체제는 다음 정보를 사용하여 I/O 정렬 및 크기를 결정합니다.
physical_block_size
장치가 작동할 수 있는 최소 내부 단위
logical_block_size
장치의 위치를 해결하기 위해 외부에서 사용
alignment_offset
Linux 블록 장치(partition/MD/LVM 장치)의 시작 부분이 기본 물리적 정렬에서 오프셋하는 바이트 수
minimum_io_size
임의의 I/O에 대해 장치의 기본 최소 단위
optimal_io_size
I/O 스트리밍을 위한 장치의 기본 단위
예를 들어, 특정 4K 섹터 장치는 내부적으로 4K physical_block_size 를 사용할 수 있지만 더 세분화된 512바이트 logical_block_size 를 Linux에 노출합니다. 이러한 불일치는 잘못된 I/O의 가능성을 초래합니다. 이를 해결하기 위해 Red Hat Enterprise Linux 7 I/O 스택은 물론 정렬되는 경계(physical_block_size)의 모든 데이터 영역을 시작하려고 시도합니다. 블록 장치의 시작 부분이 기본 물리적 정렬에서 오프셋인 경우 alignment_offset을 고려해야 합니다.
스토리지 공급업체는 임의 I/O(minimum_io_size) 및 장치의 스트리밍 I/O(optimal_io_size)에 대해 권장되는 최소 단위에 대한 I/O 힌트 를 제공할 수도 있습니다. 예를 들어, minimum_io_sizeoptimal_io_size 는 각각 RAID 장치의 청크 크기와 스트라이프 크기에 해당할 수 있습니다.