温馨提示×

centos分卷速度怎么提升

小樊
38
2026-09-30 09:06:26
栏目: 智能运维

在 CentOS(或其他 Linux 系统)里,“分卷”通常指 LVM 逻辑卷(LV)、mdadm 软 RAID、或 压缩/归档分卷(如 tar split)。不同场景提速方式不同,下面按常见情况给你说明。


一、如果是 LVM 逻辑卷(LV)性能慢

1. 确认底层磁盘性能

iostat -x 1

或

fio --name=test --rw=randwrite --bs=4k --numjobs=4 --size=1G --filename=/dev/sdX

如果是单盘瓶颈,分卷再多也没用。

2. 使用条带化(Stripe)提升速度(重点)

如果你有多块磁盘:

lvcreate -i 2 -I 64k -L 100G -n lv_data vg0 /dev/sdb /dev/sdc
  • -i:条带数(磁盘数)
  • -I:条带大小(常用 64k / 128k)

✅ 这相当于“软件 RAID0”,读写为多盘并发

3. 调整文件系统参数

EXT4:

mkfs.ext4 -E stride=16,stripe-width=32 /dev/vg0/lv_data

XFS(推荐):

mkfs.xfs -d su=64k,sw=2 /dev/vg0/lv_data

挂载优化:

mount -o noatime,nodiratime,discard /dev/vg0/lv_data /data

二、如果是 mdadm 软 RAID 分卷慢

1. 使用 RAID0 / RAID10

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc

2. 调整 chunk size

mdadm --create /dev/md0 --level=0 --chunk=128 --raid-devices=2 /dev/sdb /dev/sdc

3. 提升 RAID 读写策略

echo 32768 > /sys/block/md0/md/stripe_cache_size

三、如果是 tar 分卷(split)速度慢

1. 使用并行压缩

tar -cf - /data | pigz -p 8 | split -b 1G - data.tar.gz.
  • pigz:多线程 gzip
  • -p 8:8 线程

2. 避免管道瓶颈

直接写磁盘:

tar -I pigz -cf data.tar.gz /data
split -b 1G data.tar.gz data.part

四、系统级优化(通用)

1. 调整 I/O 调度器

CentOS 7:

echo deadline > /sys/block/sdb/queue/scheduler

CentOS 8+:

echo mq-deadline > /sys/block/sdb/queue/scheduler

2. 增加文件系统缓存

sysctl -w vm.dirty_ratio=20
sysctl -w vm.dirty_background_ratio=10

五、快速判断你属于哪种情况

你可以先告诉我:

  1. 是 LVM / RAID / tar 分卷 哪一种?
  2. 磁盘是 HDD 还是 SSD?
  3. 当前顺序/随机读写速度大概多少?

我可以直接给你一条最合适的命令方案。

0 踩