因此,我有一台服务器,其中有一个 3.5TB 的 mysql 数据库,每个表都有一个 innodb 文件。它有 24 个 2.5 英寸 10K HD,分为 4 个磁盘 RAID 10 组,通过 vmware ESXi 连接为 1TB 数据存储。所有 6 个都通过 LVM 条带化为一个 6TB ext3 磁盘
现在,我正在做一个
sudo e2fsck -f /dev/vg1/lv1
之前
sudo resize2fs /dev/vg1/lv1
以下是 iostat -x 5 的结果:
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdb 0.00 0.00 33.40 0.00 267.20 0.00 8.00 0.17 5.15 5.15 17.20
sdc 0.00 0.00 36.20 0.00 289.60 0.00 8.00 0.14 3.76 3.76 13.60
sdd 0.00 0.00 33.20 0.00 265.60 0.00 8.00 0.14 4.28 4.28 14.20
sde 0.00 0.00 35.80 0.00 286.40 0.00 8.00 0.18 5.14 5.14 18.40
sdf 0.60 0.00 32.80 0.00 267.20 0.00 8.15 0.18 5.37 5.37 17.60
sdg 0.00 0.00 35.60 0.00 284.80 0.00 8.00 0.19 5.22 5.22 18.60
dm-0 0.00 0.00 207.60 0.00 1660.80 0.00 8.00 1.00 4.80 4.80 99.60
dm-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
我查看了这里和 Google 上关于 LVM 性能的其他帖子,但没有一个能真正提供足够的信息来诊断 LVM 是否会成为磁盘 IO 的瓶颈。不过,这里似乎 dm-0 在 %util 中达到最大值,而实际磁盘 %util 都在十几分之一左右。
我能做些什么来解决这个问题?条带化两次,这样它就是 RAID 1000,而不是我的 RAID 100?iostat 是否只是对 LVM 进行了错误报告?
答案1
我几个月前就完成了这个,但我所做的如下:
对于需要快速恢复在线状态的大磁盘上的 e2fsck 问题,请跳过它。由于 resize2fs 会在磁盘未安装时强制执行 e2fsck,因此只需将其保持安装状态并让 resize2fs 在线调整 lvm 分区的大小。
至于设备映射器瓶颈问题,iostat 似乎没有意识到分区已被剥离(%utils 加起来是 99.3%)并且unix.stackexchange 上的一篇文章向我保证 lvm/dm 不会对性能产生影响(除了在 lvm 磁盘快照期间,但你应该使用备份无论如何,使用 --throttle=IOPS 进行 mysql 备份)。