我在RAID1上有一个带有LVM的服务器。其中一个卷的IO延迟一直高于来自同一组的其他卷(用diskstats_latency munin插件来衡量)。

如您所见,深橙色/root卷的IO延迟始终很高。实际上是物理设备平均延迟的十倍。它也有最高的最小值和最大值。我主要关心的不是在高负荷下出现的峰值,而是(半)空闲的恒定负载。
服务器正在使用VServer内核运行Debian挤压,并且有四个VServer容器和一个KVM客户机。
我在寻找解决--或者至少理解--这种情况的方法。
以下是系统配置的一些部分:
root@kvmhost2:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/system--host-root
19G 3.8G 14G 22% /
tmpfs 16G 0 16G 0% /lib/init/rw
udev 16G 224K 16G 1% /dev
tmpfs 16G 0 16G 0% /dev/shm
/dev/md0 942M 37M 858M 5% /boot
/dev/mapper/system--host-isos
28G 19G 8.1G 70% /srv/isos
/dev/mapper/system--host-vs_a
30G 23G 6.0G 79% /var/lib/vservers/a
/dev/mapper/system--host-vs_b
5.0G 594M 4.1G 13% /var/lib/vservers/b
/dev/mapper/system--host-vs_c
5.0G 555M 4.2G 12% /var/lib/vservers/c
/dev/loop0 4.4G 4.4G 0 100% /media/debian-6.0.0-amd64-DVD-1
/dev/loop1 4.4G 4.4G 0 100% /media/debian-6.0.0-i386-DVD-1
/dev/mapper/system--host-vs_d
74G 55G 16G 78% /var/lib/vservers/d
root@kvmhost2:~# cat /proc/mounts
rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
none /proc proc rw,nosuid,nodev,noexec,relatime 0 0
none /dev devtmpfs rw,relatime,size=16500836k,nr_inodes=4125209,mode=755 0 0
none /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
/dev/mapper/system--host-root / ext3 rw,relatime,errors=remount-ro,data=ordered 0 0
tmpfs /lib/init/rw tmpfs rw,nosuid,relatime,mode=755 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
/dev/md0 /boot ext3 rw,sync,relatime,errors=continue,data=ordered 0 0
/dev/mapper/system--host-isos /srv/isos ext3 rw,relatime,errors=continue,data=ordered 0 0
/dev/mapper/system--host-vs_a /var/lib/vservers/a ext3 rw,relatime,errors=continue,data=ordered 0 0
/dev/mapper/system--host-vs_b /var/lib/vservers/b ext3 rw,relatime,errors=continue,data=ordered 0 0
/dev/mapper/system--host-vs_c /var/lib/vservers/c ext3 rw,relatime,errors=continue,data=ordered 0 0
/dev/loop0 /media/debian-6.0.0-amd64-DVD-1 iso9660 ro,relatime 0 0
/dev/loop1 /media/debian-6.0.0-i386-DVD-1 iso9660 ro,relatime 0 0
/dev/mapper/system--host-vs_d /var/lib/vservers/d ext3 rw,relatime,errors=continue,data=ordered 0 0
root@kvmhost2:~# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[0] sdb2[1]
975779968 blocks [2/2] [UU]
md0 : active raid1 sda1[0] sdb1[1]
979840 blocks [2/2] [UU]
unused devices: <none>
root@kvmhost2:~# iostat -x
Linux 2.6.32-5-vserver-amd64 (kvmhost2) 06/28/2012 _x86_64_ (8 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
3.09 0.14 2.92 1.51 0.00 92.35
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 23.25 161.12 7.46 37.90 855.27 1596.62 54.05 0.13 2.80 1.76 8.00
sdb 22.82 161.36 7.36 37.66 850.29 1596.62 54.35 0.54 12.01 1.80 8.09
md0 0.00 0.00 0.00 0.00 0.14 0.02 38.44 0.00 0.00 0.00 0.00
md1 0.00 0.00 53.55 198.16 768.01 1585.25 9.35 0.00 0.00 0.00 0.00
dm-0 0.00 0.00 0.48 20.21 16.70 161.71 8.62 0.26 12.72 0.77 1.60
dm-1 0.00 0.00 3.62 10.03 28.94 80.21 8.00 0.19 13.68 1.59 2.17
dm-2 0.00 0.00 0.00 0.00 0.00 0.00 9.17 0.00 9.64 6.42 0.00
dm-3 0.00 0.00 6.73 0.41 53.87 3.28 8.00 0.02 3.44 0.12 0.09
dm-4 0.00 0.00 17.45 18.18 139.57 145.47 8.00 0.42 11.81 0.76 2.69
dm-5 0.00 0.00 2.50 46.38 120.50 371.07 10.06 0.69 14.20 0.46 2.26
dm-6 0.00 0.00 0.02 0.10 0.67 0.81 12.53 0.01 75.53 18.58 0.22
dm-7 0.00 0.00 0.00 0.00 0.00 0.00 7.99 0.00 11.24 9.45 0.00
dm-8 0.00 0.00 22.69 102.76 407.25 822.09 9.80 0.97 7.71 0.39 4.95
dm-9 0.00 0.00 0.06 0.08 0.50 0.62 8.00 0.07 481.23 11.72 0.16
root@kvmhost2:~# ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 59 May 11 11:19 control
lrwxrwxrwx 1 root root 7 Jun 5 15:08 system--host-kvm1 -> ../dm-4
lrwxrwxrwx 1 root root 7 Jun 5 15:08 system--host-kvm2 -> ../dm-3
lrwxrwxrwx 1 root root 7 Jun 5 15:06 system--host-isos -> ../dm-2
lrwxrwxrwx 1 root root 7 May 11 11:19 system--host-root -> ../dm-0
lrwxrwxrwx 1 root root 7 Jun 5 15:06 system--host-swap -> ../dm-9
lrwxrwxrwx 1 root root 7 Jun 5 15:06 system--host-vs_d -> ../dm-8
lrwxrwxrwx 1 root root 7 Jun 5 15:06 system--host-vs_b -> ../dm-6
lrwxrwxrwx 1 root root 7 Jun 5 15:06 system--host-vs_c -> ../dm-7
lrwxrwxrwx 1 root root 7 Jun 5 15:06 system--host-vs_a -> ../dm-5
lrwxrwxrwx 1 root root 7 Jun 5 15:08 system--host-kvm3 -> ../dm-1
root@kvmhost2:~#发布于 2012-06-28 12:44:45
我倾向于检查你的分区,设备映射器,文件系统,raid条纹对齐。
iostat x将blk_read和blk_wrtn与所有层进行比较,即使所有的层都对齐了,它们也应该是对齐的。另外,请张贴df -h和cat /proc/mounts的输出
您可能会发现,在这个特定的逻辑卷模式上进行的读/写比任何其他的都要多得多。
对齐是拥有健康、快速的I/O的关键--否则,您将不必要地在所有存储层之间增加r/w。
请记住,如果给定的分区比任何其他分区都更活跃,那么它也会导致您所描述的情况。以及文件系统的选择和安装FS时设置的标志。只要简单地添加noatime和nodiratime,就可以稍微减少I/O活动,从而减少延迟。
发布于 2014-09-22 12:47:04
这可能是因为mlog只存储在其中一个磁盘上。只需输入lvs -a -o +devices以获得存储在哪个设备上的数据的概述。
您可以通过将mlog放在另一个设备上来防止这种情况发生。
https://serverfault.com/questions/403031
复制相似问题