爱吃大橘子
爱吃大橘子
发布于 2025-06-12 / 1 阅读
0

LVM是否可以提高磁盘性能瓶颈

问题:单块磁盘达到性能瓶颈,经常出出现磁盘读写达到100%(监控显示)

办法:服务器添加两块磁盘,通过lvm挂载到指定目录,数据写入会同时写入到两块磁盘上,理论比之前单块磁盘性能提高一倍。

实验机器:ubuntu1.18 磁盘:系统盘:30G 数据盘1:50G 数据盘2:50G

格式化两块数据盘,写入文件系统为ext4

# mkfs.ext4 /dev/nvme1n1

# mkfs.ext4 /dev/nvme2n1

挂载单块磁盘

# mkdir /data

# mount /dev/nvme1n1 /data/

针对单块磁盘进行性能测试:

测试硬盘纯写:

# time dd if=/dev/zero of=/data/test_write bs=8k count=1000000

1000000+0 records in

1000000+0 records out

8192000000 bytes (8.2 GB, 7.6 GiB) copied, 55.469 s, 148 MB/s

real 0m55.481s

user 0m0.201s

sys 0m6.769s

测试硬盘纯读:

# time dd if=/data/test_write of=/dev/null bs=8k count=1000000

1000000+0 records in

1000000+0 records out

8192000000 bytes (8.2 GB, 7.6 GiB) copied, 60.0877 s, 136 MB/s

real 1m0.090s

user 0m0.229s

sys 0m4.217s

测试硬盘读写:

# time dd if=/data/test_write of=/data/test_write bs=8k count=1000000

0+0 records in

0+0 records out

0 bytes copied, 9.2471e-05 s, 0.0 kB/s

real 0m0.341s

user 0m0.000s

sys 0m0.321s

把两块磁盘添加到lvm中

# pvcreate /dev/nvme1n1

# pvcreate /dev/nvme2n1

# vgcreate /dev/vg01 /dev/nvme1n1 /dev/nvme2n1

# lvcreate -i 2 -I 64 -l 25598 -n test_lv vg01

# mkfs.ext4 /dev/vg01/test_lv

# mount /dev/vg01/test_lv /data/

=========================================================================

测试lv的磁盘读写

测试硬盘纯写:

# # time dd if=/dev/zero of=/data/test_write bs=8k count=1000000

1000000+0 records in

1000000+0 records out

8192000000 bytes (8.2 GB, 7.6 GiB) copied, 28.2506 s, 290 MB/s

real 0m28.252s

user 0m0.276s

sys 0m6.620s

测试硬盘纯读:

# time dd if=/data/test_write of=/dev/null bs=8k count=1000000

1000000+0 records in

1000000+0 records out

8192000000 bytes (8.2 GB, 7.6 GiB) copied, 32.0611 s, 256 MB/s

real 0m32.063s

user 0m0.138s

sys 0m3.532s

测试硬盘读写:

# time dd if=/data/test_write of=/data/test_write bs=8k count=1000000

0+0 records in

0+0 records out

0 bytes copied, 9.2471e-05 s, 0.0 kB/s

real 0m0.341s

user 0m0.000s

sys 0m0.321s

结论:LVM双硬盘读写比单硬盘效率理论翻一倍,实际测试几乎一倍(性能耗损)

8K 1000000条数据测试

纯写

纯读

读写

单硬盘

8192000000 bytes (8.2 GB, 7.6 GiB) copied, 55.469 s, 148 MB/s

real 0m55.481s

user 0m0.201s

sys 0m6.769s

8192000000 bytes (8.2 GB, 7.6 GiB) copied, 60.0877 s, 136 MB/s

real 1m0.090s

user 0m0.229s

sys 0m4.217s

0 bytes copied, 9.2471e-05 s, 0.0 kB/s

real 0m0.341s

user 0m0.000s

sys 0m0.321s

双硬盘

8192000000 bytes (8.2 GB, 7.6 GiB) copied, 28.2506 s, 290 MB/s

real 0m28.252s

user 0m0.276s

sys 0m6.620s

8192000000 bytes (8.2 GB, 7.6 GiB) copied, 32.0611 s, 256 MB/s

real 0m32.063s

user 0m0.138s

sys 0m3.532s

0 bytes copied, 9.2471e-05 s, 0.0 kB/s

real 0m0.341s

user 0m0.000s

sys 0m0.321s