KVM 节点上的磁盘性能非常差-mdadm raid10

KVM 节点上的磁盘性能非常差-mdadm raid10

很长一段时间以来,我遇到了CentOS用于KVM虚拟化的服务器的性能问题。

我正在运行RAID-10带有 4 个磁盘的软件(Seagate ST2000DM001, 2TB, 7200rpm SATA-600)这些KVMVM 正在运行它们自己的 LV。

一旦安装了一些虚拟机,随着每个虚拟机的添加,性能就会不断下降。

目前,安装大约需要 3 小时Debian 7 minimal。在没有 VM 的空盒子上,最多只需几分钟。

奇怪的是,即使有 37 个虚拟机,也几乎没有磁盘 I/O。但是,此时需要执行的每个 I/O 都会使与"dm"该特定 LV 卷相关的设备达到 100%。

由于某种原因,看起来设备"dm-xx"无法使用所有磁盘。

下面是我所指的一个例子。sd[a/b/c/d]出现此问题时,通常负载约为 40% 到 60%,但一个或多个 dm 设备负载很高,但没有任何严重的 I/O。

请注意%utilVM 正在使用的特定 dm-0。

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sdb              10.00     0.00    5.00   36.00   256.00   424.00    33.17     0.86   20.73  11.02  45.20
sdd               0.00     1.00    0.00   48.00     0.00   389.00    16.21     0.85   17.71  10.90  52.30
sda               0.00     0.00    2.00   39.00    32.00   161.00     9.41     0.77   18.63  11.44  46.90
sdc               0.00     1.00    0.00   50.00     0.00   764.00    30.56     1.59   47.08  13.90  69.50
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md2               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md3               0.00     0.00   18.00   68.00   288.00   813.00    25.60     0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    6.00     0.00    40.00    13.33     0.31   51.50  51.17  30.70
dm-1              0.00     0.00    0.00    7.00     0.00    72.00    20.57     0.74   49.43  99.14  69.40
dm-2              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-3              0.00     0.00   16.00    0.00   256.00     0.00    32.00     0.96   59.69   8.38  13.40
dm-4              0.00     0.00    0.00    8.00     0.00    68.00    17.00     0.28   34.62  31.25  25.00
dm-5              0.00     0.00    0.00    4.00     0.00   156.00    78.00     0.05   12.00  12.00   4.80
dm-6              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-7              0.00     0.00    0.00    4.00     0.00    20.00    10.00     0.08   19.00   6.75   2.70
dm-8              0.00     0.00    0.00    3.00     0.00     4.00     2.67     0.54  258.33 154.00  46.20
dm-9              0.00     0.00    0.00    5.00     0.00   148.00    59.20     0.10   19.40  19.40   9.70
dm-10             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-11             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-12             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-13             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-14             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-15             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-16             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-17             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-18             0.00     0.00    2.00    0.00    32.00     0.00    32.00     0.03   12.50   6.50   1.30
dm-19             0.00     0.00    0.00    2.00     0.00    12.00    12.00     0.03   13.00   6.50   1.30
dm-20             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-21             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-22             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-23             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-24             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-25             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-26             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-27             0.00     0.00    0.00    1.00     0.00     0.00     0.00     0.11  294.00 110.00  11.00
dm-28             0.00     0.00    0.00    3.00     0.00    16.00    10.67     0.10   50.33  25.00   7.50
dm-29             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-30             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-31             0.00     0.00    0.00    4.00     0.00    12.00     6.00     0.56  140.25 140.25  56.10
dm-32             0.00     0.00    0.00    6.00     0.00    32.00    10.67     0.76  125.83 125.83  75.50
dm-33             0.00     0.00    0.00    4.00     0.00    12.00     6.00     0.21   53.00  53.00  21.20
dm-34             0.00     0.00    0.00    3.00     0.00     4.00     2.67     0.40  172.33 133.33  40.00
dm-35             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-36             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-37             0.00     0.00    0.00    9.00     0.00   217.00    48.22     1.09  135.33 111.00  99.90
=================================
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sdb               0.00     0.00    0.00    7.00     0.00    72.00    20.57     3.84  430.14 126.00  88.20
sdd              10.00     0.00    4.00   13.00   240.00   304.00    64.00     2.07  126.59  33.00  56.10
sda               0.00     1.00    1.00   11.00    16.00   320.00    56.00     0.25   20.42   8.83  10.60
sdc               0.00     0.00    2.00    7.00    32.00    96.00    28.44     0.13   14.89  13.78  12.40
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md2               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md3               0.00     0.00   18.00   17.00   288.00   416.00    40.23     0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
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
dm-3              0.00     0.00   13.00    0.00   208.00     0.00    32.00     3.66  281.85  21.69  28.20
dm-4              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-5              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-6              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-7              0.00     0.00    0.00    5.00     0.00    92.00    36.80     1.84  179.40 189.80  94.90
dm-8              0.00     0.00    0.00    1.00     0.00     4.00     8.00     1.00  655.00 1000.00 100.00
dm-9              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-10             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-11             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-12             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-13             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-14             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-15             0.00     0.00    0.00    1.00     0.00     0.00     0.00     1.44 1512.00 1000.00 100.00
dm-16             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-17             0.00     0.00    0.00    3.00     0.00    16.00    10.67     0.56    6.00 187.67  56.30
dm-18             0.00     0.00    5.00    0.00    80.00     0.00    32.00     0.37   73.40  71.40  35.70
dm-19             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-20             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-21             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-22             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-23             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-24             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-25             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-26             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-27             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.44    0.00   0.00  43.80
dm-28             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-29             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-30             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-31             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-32             0.00     0.00    0.00    1.00     0.00     4.00     8.00     0.00    1.00   1.00   0.10
dm-33             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-34             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-35             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-36             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-37             0.00     0.00    0.00    7.00     0.00   300.00    85.71     2.00  101.00 142.86 100.00
=================================
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sdb               1.00     1.00    1.00   47.00    48.00   676.00    30.17     1.47   30.62  11.65  55.90
sdd               1.00     0.00    9.00   88.00   176.00   395.00    11.77     0.83    8.59   5.12  49.70
sda               0.00     0.00    0.00   50.00     0.00   541.50    21.66     0.83   16.54  11.22  56.10
sdc               1.00     0.00    6.00   87.00   112.00   533.50    13.88     0.87    9.42   4.37  40.60
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md2               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md3               0.00     0.00   21.00  116.00   336.00   991.00    19.37     0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
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
dm-3              0.00     0.00    4.00    0.00    64.00     0.00    32.00     0.00    0.00   0.00   0.00
dm-4              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-5              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-6              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-7              0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-8              0.00     0.00    0.00   82.00     0.00   848.00    20.68     1.46   17.93   6.29  51.60
dm-9              0.00     0.00    0.00    3.00     0.00    16.00    10.67     0.03   11.33  11.33   3.40
dm-10             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-11             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-12             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-13             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-14             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-15             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-16             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-17             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-18             0.00     0.00   17.00    0.00   272.00     0.00    32.00     0.49   28.59  10.35  17.60
dm-19             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-20             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-21             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-22             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-23             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-24             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-25             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-26             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-27             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-28             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-29             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-30             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-31             0.00     0.00    0.00    5.00     0.00    16.00     6.40     0.13   26.00  26.00  13.00
dm-32             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-33             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-34             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-35             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-36             0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
dm-37             0.00     0.00    0.00   27.00     0.00   111.00     8.22     1.15   42.41  37.00  99.90

另一个例子 :

在随机虚拟机上导入 2MB 的 SQL 文件需要 15 分钟以上。该 LV 的 I/O 会达到 100%,直到完成。每秒只有几次写入,并且只有几 KB/秒的 I/O。

即使有这些负载,dd 的写入速度也大约为 80MB/s 到 160MB/s。但读取速度非常糟糕,大多数时候不超过 10MB/s。

我的 RAID 设置如下所示。此框在“o2”布局上运行,但与默认“n2”布局没有任何区别。

# cat /proc/mdstat
Personalities : [raid10] [raid1]
md3 : active raid10 sdb5[4] sdc5[2] sdd5[3] sda5[0]
3872954368 blocks super 1.2 512K chunks 2 offset-copies [4/4] [UUUU]

md0 : active raid1 sdb1[4] sdc1[2] sdd1[3] sda1[0]
255988 blocks super 1.0 [4/4] [UUUU]

md2 : active raid10 sdb2[1] sdc2[2] sda2[0] sdd2[3]
31454208 blocks super 1.1 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 1/1 pages [4KB], 65536KB chunk

md1 : active raid10 sdb3[4] sda3[0] sdc3[2] sdd3[3]
2096128 blocks super 1.1 512K chunks 2 near-copies [4/4] [UUUU]

这就是每个虚拟机对单个磁盘(例如 sda)和 LV 进行分区的方式。对于 4K 磁盘来说应该没问题。

Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000648b7

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      514047      256000   fd  Linux raid autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2          514048    31971327    15728640   fd  Linux raid autodetect
/dev/sda3        31971328    34068479     1048576   fd  Linux raid autodetect
/dev/sda4        34068480  3907029167  1936480344    5  Extended
/dev/sda5        34070528  3907028991  1936479232   fd  Linux raid autodetect

Disk /dev/mapper/raid10storage-kvm396_img: 75.2 GB, 75161927680 bytes
255 heads, 63 sectors/track, 9137 cylinders, total 146800640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 2097152 bytes
Disk identifier: 0x000a613c

                          Device Boot      Start         End      Blocks   Id  System
/dev/mapper/raid10storage-kvm396_imgp1   *        2048   145752063    72875008   83  Linux
/dev/mapper/raid10storage-kvm396_imgp2       145752064   146800639      524288   82  Linux swap / Solaris

VirtIO在所有虚拟机上都使用,缓存设置为"none"。尝试了不同的缓存设置,但结果性能更差。

我还有其他几台服务器在运行 smapper 设置(较少的 VM),但使用相同类型的磁盘RAID-1(2 个磁盘),没有任何问题。

这似乎确实与设置有关RAID-10

我目前有 4 个这样的RAID10盒子在用,每个盒子的 CPU 和主板配置都不同。但它们都存在同样可怕的性能问题。

有谁能给出一个想法或理论来解释为什么这个设置的执行速度如此之慢?

现在这样确实可行了,但令人沮丧的是,一年后我仍未找到原因... :(


编辑-服务器规格和CPU使用率:

所有这些盒子都有不同的 CPU,但这里有一些配置:

  • Xeon E3-1240v2、32GB DDR3 ECC、SuperMicro X9SCM-F
  • 英特尔酷睿 i7 2600、32GB DDR3、英特尔 DQ67OW
  • 英特尔酷睿 i7 3820、32GB DDR3、英特尔 DX79TO

这里是的输出top,其中一个 LV 的效用为 100%,其他几个 LV 的效用在 30% 到 60% 之间波动。

此时平均负载相当低,但根据 LV 的 100% I/O 负载量,平均负载在 10.00 到 30.00 之间是很正常的。

CPU 实际上并未满载,始终有至少 30% 的空闲状态。

top - 02:26:21 up 8 days, 11:34,  2 users,  load average: 3.48, 3.99, 3.83
Tasks: 244 total,   2 running, 242 sleeping,   0 stopped,   0 zombie
Cpu(s): 15.3%us,  9.7%sy,  0.0%ni, 62.8%id, 11.4%wa,  0.0%hi,  0.8%si,  0.0%st
Mem:  33001640k total, 23715816k used,  9285824k free,    10740k buffers
Swap:  2096124k total,        0k used,  2096124k free,  1159788k cached

负载%wa有时甚至会达到 50%,但这通常仅当 5 个或更多 LV 连续触及 100%util 时才会发生。

即使有 5 个或更多 LV 以 100% 的速度运行,也没有哪个 SATA 磁盘真正拥有 90% 以上的负载。它们的利用率都在 40% 到 60% 之间。

-------------------------------

编辑 2,2014 年 2 月 18 日;

今天我决定构建另一个 VPS 节点来进行更多测试。此系统使用与所有其他系统相同的设置(KVM + SolusVM 控制面板)。此测试设置使用以下硬件:

Intel Core i7 2600
32GB memory
4x WD Black 1.5TB (WD1502FAEX), 7200rpm, 64MB cache, SATA600
2x Samsung 830 Pro 128GB SSD's
So basically a completely different storage layer.

操作系统:CentOS 6.5 + 所有最新更新。原版内核,但也尝试了最新的主线 (3.13) 内核,性能没有改变。

在 WD Black 驱动器上创建了一个 RAID-10 阵列(n2 布局、512K 块、带位图的库存配置)。在 SSD 驱动器上创建了一个 RAID-0 阵列,该阵列将由 flashcache 使用。此设置的配置方式是所有 LVM I/O 都通过 flashcache(作为直写缓存)。SATA 和 SSD 驱动器都具有老式的 512 个扇区,因此没有扩展格式。我选择这些磁盘只是为了看看它们与我最常使用的扩展格式磁盘之间是否有区别。但我已将它们分区为 4K 驱动器。

我首先在主机节点上进行了一些测试。我创建了一个空白的 LV 卷。在使用 DD 进行一些读取基准测试时,我在主机上得到了以下读取结果:

  • 未缓存读取速度约为 390MB/s
  • SSD 缓存读取速度约为 950MB/s(第二次运行,数据由 flashcache 缓存)

嗯,这些结果看起来相当不错!

现在进行相同的测试,但在具有 4GB 内存、VirtIO 和“cache=none”的 VM 上进行。我启动了 Ubuntu Live DVD,并进行了相同的测试......结果很糟糕:

  • 未缓存读取速度约为 90MB/s
  • SSD 缓存读取速度约为 90MB/s(第二次运行,数据由 flashcache 缓存)

在测试期间,“dm-x”设备(测试虚拟机的 LV)的负载一直达到 95% 以上,而单个 SATA 磁盘的负载没有超过 35%。SSD 的情况也是如此。任何时候都没有单个设备超过 50% 的利用率。

以下是我曾提到过的此设置下的最高负载输出。这是在非缓存测试期间(这解释了 SSD 上的写入):

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.00     0.00  361.00 2547.00  1444.00 10188.00     8.00     0.62    0.21   0.03   8.90
sdc             992.00     1.00  246.00    7.00  4932.00    14.50    39.10     0.87    3.43   2.16  54.60
sdb               0.00     0.00  303.00 1754.00  1212.00  7016.00     8.00     0.41    0.20   0.03   5.80
sdd             825.00     1.00  173.00    7.00  3992.00    14.50    44.52     0.60    3.34   2.56  46.00
sde             866.00    25.00  229.00   11.00  4404.00   130.00    37.78     0.85    3.50   2.23  53.40
sdf             771.00    25.00  163.00   11.00  3736.00   130.00    44.44     0.65    3.72   2.98  51.80
md2               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md1               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md3               0.00     0.00  663.00 4301.00  2652.00 17204.00     8.00     0.00    0.00   0.00   0.00
md0               0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00   0.00   0.00
md4               0.00     0.00 4266.00   36.00 17064.00   140.50     8.00     0.00    0.00   0.00   0.00
dm-0              0.00     0.00 4929.00   36.00 19716.00   140.50     8.00    14.56    2.92   0.20  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 4929.00   36.00 19716.00   140.50     8.00    14.56    2.92   0.20  99.60

(dm-0 是 flashcache,dm-2 是客户机)

为了确保 flashcache 层不会破坏所有性能,我再次进行了相同的测试,禁用了 flashcache(dm-0),并且在客户机内部获得了几乎同样糟糕的 90-100MB/s 性能。

因此,出于某种原因,所有性能都消失在客户机中。我在 Windows 和 Linux 客户机上得到了这些结果。全部使用 VirtIO 并将缓存设置为无。当使用 IDE 时,性能会进一步下降。

实际上,单个磁盘或 RAID1 设置与相同的闪存缓存设置相比,性能要好得多,而我迄今为止在 KVM 上使用的所有 MDADM RAID-10 设置则不然。MDADM RAID-10 在主机上表现很好,但在客户机内部却很糟糕。

现在我正在构建一个新的 raid-10 阵列,但采用偏移布局。但我并不期望有更好的性能,因为 RAID 驱动器本身并未完全加载 - 只是个别“dm-x”LV 卷的利用率达到 100%。

我依然不敢相信为什么那些 RAID-10 + LVM + KVM 设置如此之慢 :( 相当令人沮丧。

答案1

您没有向我们详细介绍如何在您的设置中使用 LVM。如果您的问题与读取有关,则可能有两个原因。

首先,检查您是否没有使用 LVM 快照,因为它们可能会(从长远来看)随着 IO 的增长而急剧减慢 IO 速度。

其次,您的 top 指出您的虚拟机管理程序仅使用 1G RAM 作为 IO 缓存,这实际上并不多,尽管您仍然有 10G 的 RAM 完全可用。这表明您调整了内核有关缓存的参数,并且在尝试改进时性能可能会变差。例如,这是我的一个虚拟机管理程序使用 KVM 运行 24 个虚拟机的内存使用情况(MB):

             total       used       free     shared    buffers     cached
Mem:        129153     109117      20036          0        588      26664
-/+ buffers/cache:      81865      47288
Swap:         4095          0       4095

如您所见,IO 缓存使用了一半的可用 RAM。

相关内容