KVM IO leva a alta carga do sistema, WD Caviar Green (EACS)

3

Eu tenho o Ubuntu 12.04 host rodando o Linux 3.2.0-24-genérico, libvirt 0.9.8-2ubuntu17, qemu-kvm 1.0 + noroms-0ubuntu13. Host usa elevator = deadline, os hóspedes usam elevator = noop. Todos os convidados do KVM usam virtio, sem cache, padrão do modo io e volumes lógicos do LVM como armazenamento. Eu uso o bonnie ++ 1.96 para avaliar o desempenho da IO.

Hardware:

  • Supermicro X8SIL-F
  • Processador Intel (R) Core (TM) i7 870
  • 4 x DIMM DDR3 Kingston 4GiB Síncrono 1333 MHz (0,8 ns)
  • 2 x WDC WD10EACS-00D (WD Caviar Green) Desabilitei o IntelliPark (o temporizador de 8 segundos) nos discos rígidos usando a ferramenta wdidle3.

Os discos rígidos são particionados da seguinte forma:

  • 20 GB, em md RAID-1 para o sistema de arquivos raiz do host
  • 640 GB, em md RAID-1, com LVM para sistemas de arquivos guest
  • 330 GB, em md RAID-0, com LVM para sistemas de arquivos guest
  • 4 GB, trocar por host

Saída do 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

Observações:

  • Quando executo o bonnie ++ no host, em um sistema de arquivos md suportado pelo RAID-1, durante a "gravação inteligente", o carregamento do sistema sobe para cerca de 12 e todos os sistemas (host e guests) ficam inutilizáveis.

Saída:

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
  • Quando executo o bonnie ++ em um convidado, em um sistema de arquivos md suportado pelo RAID-1, durante a "gravação inteligente" o carregamento do sistema host sobe para cerca de 25 e todos os sistemas (host e guests) ficam inutilizáveis.

Saída:

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
  • Quando executo o bonnie ++ em um convidado, em um sistema de arquivos md suportado pelo RAID-0, durante a "gravação inteligente" o carregamento do sistema host sobe para cerca de 50 e todos os sistemas (host e guests) ficam inutilizáveis.

Saída:

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

Perguntas:

  • São cargas tão altas normais ao executar o bonnie ++?
  • Tenho a sensação de que o IO é muito lento tanto para o anfitrião quanto para os convidados. Você confirmaria isso com base nos resultados ou estou apenas esperando muito?
  • Qual pode ser a causa desse comportamento? (Apenas os discos do Caviar Green são uma porcaria que você pode ler em toda a Internet?)
  • Há algo que eu possa ajustar para melhorar a velocidade / carga do IO?
  • Existe uma maneira de "isolar" os resultados de alto IO em um único convidado, para que um único convidado não afete significativamente o desempenho de outros convidados?
por Tader 22.05.2012 / 18:26

1 resposta

2

Soa como o problema de alinhamento de blocos de 4k. Você usou a opção -b com o fdisk?

    
por 22.05.2012 / 18:56