KVM IO 导致系统负载过高,WD Caviar Green(EACS)

KVM IO 导致系统负载过高,WD Caviar Green(EACS)

我有一台运行 Linux 3.2.0-24-generic、libvirt 0.9.8-2ubuntu17、qemu-kvm 1.0+noroms-0ubuntu13 的 Ubuntu 12.04 主机。主机使用 elevator=deadline,客户机使用 elevator=noop。所有 KVM 客户机都使用 virtio、无缓存、io 模式默认和 LVM 逻辑卷作为存储。我使用 bonnie++ 1.96 来评估 IO 性能。

硬件:

  • 超微 X8SIL-F
  • 英特尔(R) 酷睿(TM) i7 CPU 870
  • 4 x 金士顿 4GiB DIMM DDR3 同步 1333 MHz(0.8 ns)
  • 2 个 WDC WD10EACS-00D(WD 鱼子酱绿)我已使用 wdidle3 工具禁用了硬盘上的 IntelliPark(8 秒睡眠定时器)。

两个硬盘的分区如下:

  • 20 GB,以 md RAID-1 形式存储,用于主机根文件系统
  • 640 GB,采用 md RAID-1,带有 LVM 作为客户文件系统
  • 330 GB,采用 md RAID-0 模式,带有 LVM 作为客户文件系统
  • 4 GB,交换主机

Fdisk 输出:

# fdisk -b 4096 /dev/sda
Note: sector size is 4096 (not 512)

Command (m for help): p

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 15200 cylinders, total 244190646 sectors
Units = sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    39070000   156271812   fd  Linux raid autodetect
/dev/sda2        39070080  1297361280   738197508   fd  Linux raid autodetect
/dev/sda3      1297361288  1945712472  2593404740   fd  Linux raid autodetect
/dev/sda4      1945712480  1953525160    31250724   82  Linux swap / Solaris

观察结果:

  • 当我在主机上运行 bonnie++ 时,在 md RAID-1 支持的文件系统上,“智能写入”期间系统负载会增加到大约 12,并且所有系统(主机和客户机)都会变得非常慢并且无法使用。

输出:

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
hostname         2G  1132  91 21439   1 21741   2  5131  86 +++++ +++  1747   8
Latency             10093us     459ms     128us    3928us     113us      83us
Version  1.96       ------Sequential Create------ --------Random Create--------
hostname            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 23851  19 +++++ +++ 28728  17 28138  21 +++++ +++ 31239  19
Latency              1017us     602us    1144us     323us      61us    1196us
  • 当我在客户机上运行 bonnie++ 时,在 md RAID-1 支持的文件系统上,在“智能写入”期间,主机系统负载上升到大约 25,并且所有系统(主机和客户机)都变得无法使用。

输出:

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
hostname         2G   965  88  9244   0  7981   1  2595  74 54185   4 248.4   4
Latency             16439us   13832ms    4195ms     126ms     280ms     236ms
Version  1.96       ------Sequential Create------ --------Random Create--------
hostname            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  4433   5 +++++ +++  8005   4  8373   8 +++++ +++  7325   4
Latency               101ms    1003us     494us     298us      64us     419us
  • 当我在客户机上运行 bonnie++ 时,在 md RAID-0 支持的文件系统上,在“智能写入”期间,主机系统负载上升到大约 50,并且所有系统(主机和客户机)变得无法使用。

输出:

Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
hostname         2G  1019  93 16786   2 12406   2  1747  30 39973   2 659.2   6
Latency             18226us    7968ms    2617ms     445ms     212ms    1613ms
Version  1.96       ------Sequential Create------ --------Random Create--------
hostname            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ 16709  14
Latency             28112us     440us     442us     166us      96us     123us

问题:

  • 运行 bonnie++ 时如此高的负载正常吗?
  • 我感觉主机和客户端的 IO 都非常慢,您会根据结果确认这一点吗,还是我期望太高?
  • 什么原因会导致这种现象?(难道 Caviar Green 磁盘就像你在互联网上看到的一样糟糕吗?)
  • 我可以调整任何东西来提高 IO 速度/负载吗?
  • 有没有办法“隔离”单个客户机中的高 IO 结果,以便单个客户机不会显著影响其他客户机的性能?

答案1

听起来像是 4k 块对齐问题。您在 fdisk 中使用了 -b 选项吗?

相关内容