Red Hat Training

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

23.3. I/O 标准

这部分描述了 ATA 和 SCSI 设备所使用的 I/O 标准。

ATA

ATA 设备必须通过 IDENTIFY DEVICE 命令报告合适的信息。ATA 设备仅报告 physical_block_sizelogical_block_sizealignment_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 GRANULARITYOPTIMAL 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