rotational 标志是什么
Linux 用 /sys/block/<dev>/queue/rotational 标记块设备是否为旋转介质:1 表示机械盘,0 表示 SSD 或虚拟盘。内核与调优工具会据此选择默认调度策略与预读参数,部分监控系统也用它区分设备类型。正因为下游有这么长的策略链,这个标志被误报时造成的错配也会成串出现。
基本信息
| 查看单盘 | cat /sys/block/sda/queue/rotational |
|---|---|
| 批量查看 | lsblk -d -o NAME,ROTA,SIZE,MODEL |
| 取值含义 | 1 旋转介质(HDD),0 非旋转(SSD 或虚拟盘) |
| 可写性 | 接口可写但仅影响运行时,重启后由驱动重新上报 |
| 相邻参数 | /sys/block/<dev>/queue/ 下的 scheduler、read_ahead_kb 等 |
典型使用场景
- 选择调度策略:机械盘倾向 mq-deadline,NVMe 用 none,脚本按类型套用
- 预读参数调优:机械盘提高 read_ahead_kb 收益明显,SSD 上收益有限
- 监控分类:采集时标记设备类型,避免两类设备混在一起做基线
- 虚拟化排障:确认 virtio、云盘上报的类型是否符合预期
- 资产巡检:批量输出机器上所有设备的介质类型,形成台账
查看与验证
查看与验证
cat /sys/block/sda/queue/rotational # 1 机械盘,0 SSD 或虚拟盘
lsblk -d -o NAME,ROTA,SIZE,MODEL # 批量列出类型、容量与型号
cat /sys/block/sda/queue/scheduler # 顺带确认当前调度器
nvme list # NVMe 设备用 nvme-cli 核对型号异常上报对照
| 现象 | 可能原因 | 处理 |
|---|---|---|
| virtio 盘显示 ROTA=1 | 虚拟化层上报为旋转设备 | 按实际介质手工套用参数,别全靠该标志 |
| 同机型部分盘为 0 部分为 1 | 混插 SSD 与 HDD | 按盘分别设定调度策略与监控基线 |
| ROTA 与型号规格矛盾 | 驱动或固件上报不准 | 以型号规格书为准,并留存记录 |
该接口普通用户可读,写入需要 root 权限;通过 sysfs 手工修改只作用于当次运行,重启后驱动会重新上报真实值,要持久生效应写 udev 规则。
遇到 ROTA 与型号规格矛盾时以规格书为准:调度与预读策略一旦按错误类型下发,往往要在压力上来之后才暴露问题,排查成本远高于当初核对型号这一步。