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
软件包提供 sg_inq 工具,可用于访问 BLOCK LIMITS VPD
页面。为此,请运行:
#
sg_inq -p 0xb0 disk