使用lvcreate -i和-i可创建条带化逻辑卷,实现多盘并行读写以提升吞吐量;-i指定条带数(≥2),-i指定条带大小(2的幂kb值),需创建时设定且必须显式列出pv路径,验证用lvs -o +stripes,stripesize。

直接用 lvcreate -i 和 -I 创建条带化逻辑卷,就能让数据在多个物理盘上并行读写,显著提升吞吐量。关键不是“倍增”这种绝对说法,而是让 I/O 负载真正分散开——前提是底层磁盘本身不成为瓶颈,且应用模式匹配条带设置。
条带数(-i)决定并发宽度
这个参数指定数据交替写入的物理卷数量,也就是“条带宽度”。它必须是整数,且至少为 2 才有条带效果。
- -i 2:数据块轮流写入两块 PV,适合双盘环境,读写请求可同时打到两个磁盘
- -i 4:四块 PV 参与轮转,适合高吞吐场景,但要求所有 PV 性能均衡、延迟接近
- 实际选择时,优先匹配你可用的空闲 PV 数量;若只加一块新盘,无法单独扩展条带化 LV,必须成组添加(如 -i 4 就得一次加 4 块或 4 的倍数)
条带大小(-I)影响IO对齐与效率
单位是 KB,只能是 2 的幂(如 4、8、16、64、128、256、512 等),它定义每个“分片”的粒度。
- 小条带(如 16KB–64KB):更适合随机小 IO(如数据库事务日志、OLTP 场景),能更好摊薄单次 IOPS 压力
- 大条带(如 256KB–1MB):更适合顺序大 IO(如视频转码、数据仓库扫描),减少元数据跳转,提升吞吐上限
- Oracle 类应用建议设为 DB_BLOCK_SIZE 的 2 倍以上,避免一个数据库块跨两个条带,引发额外寻道
创建与验证必须一步到位
条带化只能在创建 LV 时设定,无法事后修改。命令中明确列出 PV 路径,才能确保数据真正在目标盘间分布。
- 示例:在卷组
vg0上,用/dev/sdb1和/dev/sdc1创建 10G 条带卷,条带数 2、大小 64KB:lvcreate -L10G -n lv_stripe -i2 -I64 vg0 /dev/sdb1 /dev/sdc1 - 验证是否生效:
lvs -o +stripes,stripe_size vg0/lv_stripe—— 输出应显示 stripes=2、stripe_size=64.00k - 注意:不指定 PV 路径时,LVM 可能从 VG 中自动选盘,但无法保证条带落在你期望的物理设备上
扩展条带卷要守规则
后续扩容不能随意加盘,否则会破坏条带结构,降级为普通线性 LV。
- 每次扩展必须新增 条带数的整数倍个 PV(如 -i 3 就得加 3、6、9 块)
- 新 PV 必须和原 PV 类型一致(同为 SSD 或同为 HDD),容量足够,且性能相近
- 扩展命令示例(加两块新盘):
lvextend -L+5G /dev/vg0/lv_stripe /dev/sdd1 /dev/sde1











