23.3. I/O 規格
本セクションでは、ATA および SCSI デバイスで使用される I/O 規格について説明します。
ATA
ATA デバイスは、IDENTIFY DEVICE コマンドを使用して適切な情報を報告する必要があります。ATA デバイスは、physical_block_size、logical_block_size、および alignment_offset の I/O パラメーターのみを報告します。追加の I/O ヒントは、ATA コマンドセットの範囲外です。
SCSI
Red Hat Enterprise Linux 7 に対応する I/O パラメーターには、少なくとも SCSI プライマリーコマンド (SPC-3) の バージョン 3 が必要です。カーネルは、SPC-3 への準拠を要求するデバイスに、拡張照会 (
BLOCK LIMITS VPD
ページへのアクセスを取得)と READ CAPACITY (16) コマンドのみを送信します。
READ CAPACITY (16) コマンドは、ブロックサイズとアライメントオフセットを提供します。
LOGICAL BLOCK LENGTH IN BYTES
は、/sys/block/ディスク/queue/physical_block_size
の導出に使用されます。LOGICAL BLOCKS PER PHYSICAL BLOCK EXPONENT
は、/sys/block/ディスク/queue/logical_block_size
の導出に使用されます。LOWEST ALIGNED LOGICAL BLOCK ADDRESS は、
以下を取得するために使用されます。/sys/block/disk/alignment_offset
/sys/block/disk/partition/alignment_offset
BLOCK LIMITS VPD
ページ(0xb0
)は、I/O ヒントを提供します。また、OPTIMAL TRANSFER LENGTH GRANULARITY
および OPTIMAL TRANSFER LENGTH
を使用して以下を取得します。
/sys/block/disk/queue/minimum_io_size
/sys/block/disk/queue/optimal_io_size
sg3_utils
パッケージは、BLOCK LIMITS VPD
ページにアクセスするために使用できる sg_inq ユーティリティーを提供します。そのためには、以下のコマンドを実行します。
#
sg_inq -p 0xb0 disk