Host KVM do Ubuntu 14.04 - não alocando o convidado KVM corretamente, carga alta

1

Encontrando um problema estranho com os hosts / VMs do KVM do Ubuntu 14.04. Temos várias máquinas físicas, todas da mesma especificação, mas quando tentamos e iniciamos o mesmo tipo de imagem KVM (o OpenNebula está gerenciando a implementação da VM, exatamente a mesma configuração de VM em cada máquina), temos problemas com mais da metade hosts e VMs não iniciam.

As VMs (Windows 2008 R2) recebem 16 GB de RAM e 12 núcleos, o host tem 24 GB de RAM e 12 núcleos / 24 segmentos - portanto, não há problemas com a falta de recursos e cada host está executando apenas 1 VM. Nada mais está competindo por recursos no host ou usando qualquer memória significativa (> 500MB) (apenas algumas coisas como fantoches, splunk etc).

Se eu fizer logon em um dos hosts com um problema e olhar para top :

top - 05:13:21 up 2 days, 21:23,  1 user,  load average: 81.41, 74.04, 44.58
Tasks: 302 total,   1 running, 301 sleeping,   0 stopped,   0 zombie
%Cpu(s): 33.3 us,  8.4 sy,  0.0 ni, 58.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:  24680184 total, 24467788 used,   212396 free,   141636 buffers
KiB Swap: 37731324 total,        0 used, 37731324 free. 11193004 cached Mem

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                          
3593 oneadmin  20   0 21.771g 0.011t   9356 D 999.0 49.8 131:19.15 qemu-system-x86

Você pode ver que o KVM só conseguiu alocar 11 GB, e qemu-system-x86 está martelando a CPU (o que é bom, muitos núcleos livres), mas a própria VM ainda não foi totalmente iniciada (não consigo RDP, e o fato de que a CPU é alta parece ser relacionado ou um efeito do problema).

Em comparação, se eu olhar para uma máquina idêntica executando a mesma configuração da VM:

top - 05:24:58 up 3 days,  3:53,  1 user,  load average: 1.08, 1.15, 0.72
Tasks: 290 total,   1 running, 289 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  0.7 sy,  0.0 ni, 96.0 id,  2.6 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:  24680184 total, 24375512 used,   304672 free,   136520 buffers
KiB Swap: 37731324 total,   340872 used, 37390452 free.  7446028 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                     
27824 oneadmin  20   0 21.304g 0.015t   6524 S  38.2 65.1  12:05.93 qemu-system-x86

Aqui você pode ver que ele alocou a memória de forma feliz (0.015t), inicializou bem (eu posso RDP) e está apenas tocando inativo (na maior parte).

O que está impedindo que o KVM na primeira VM mostrada acima seja capaz de alocar recursos corretamente?

Verificação de logs do sistema, logs do libvirt / qemu, etc. Não encontro nenhuma menção a nenhum problema.

Atualização:

Depois de verificar os logs do kernel, me deparei com isso:

May 24 05:00:27 ubuntu kernel: [249051.039660] perf samples too long (5103 > 5000), lowering kernel.perf_event_max_sample_rate to 25000
May 24 05:00:33 ubuntu kernel: [249057.722532] ------------[ cut here ]------------
May 24 05:00:33 ubuntu kernel: [249057.722562] kernel BUG at /build/buildd/linux-3.13.0/mm/memory.c:3756!
May 24 05:00:33 ubuntu kernel: [249057.722587] invalid opcode: 0000 [#1] SMP 
May 24 05:00:33 ubuntu kernel: [249057.722605] Modules linked in: ipt_MASQUERADE iptable_nat nf_nat_ipv4 nf_nat xt_CHECKSUM iptable_mangle xt_tcpudp bridge stp llc ip6table_filter ip6_tables ipt_REJECT xt_LOG xt_limit xt_multiport nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter xt_conntrack nf_conntrack ip_tables x_tables ast ttm drm_kms_helper drm syscopyarea sysfillrect sysimgblt gpio_ich intel_powerclamp coretemp kvm_intel dcdbas kvm crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd serio_raw lpc_ich joydev i7core_edac edac_core ipmi_si mac_hid lp parport hid_generic usbhid hid igb i2c_algo_bit dca ptp ahci libahci pps_core
May 24 05:00:33 ubuntu kernel: [249057.722903] CPU: 11 PID: 3601 Comm: qemu-system-x86 Not tainted 3.13.0-24-generic #47-Ubuntu
May 24 05:00:33 ubuntu kernel: [249057.722934] Hardware name: Dell                   CS24-TY               /S99                   , BIOS DS993B15 09/20/2010
May 24 05:00:33 ubuntu kernel: [249057.722972] task: ffff88062d8dc7d0 ti: ffff88062b4f2000 task.ti: ffff88062b4f2000
May 24 05:00:33 ubuntu kernel: [249057.723000] RIP: 0010:[<ffffffff81179051>]  [<ffffffff81179051>] handle_mm_fault+0xe61/0xf10
May 24 05:00:33 ubuntu kernel: [249057.723038] RSP: 0018:ffff88062b4f3a08  EFLAGS: 00010246
May 24 05:00:33 ubuntu kernel: [249057.723058] RAX: 0000000000000100 RBX: 00007f3864300000 RCX: ffff88062b4f3788
May 24 05:00:33 ubuntu kernel: [249057.723083] RDX: ffff88062d8dc7d0 RSI: 0000000000000000 RDI: 8000000340c009e6
May 24 05:00:33 ubuntu kernel: [249057.723108] RBP: ffff88062b4f3a90 R08: 0000000000000000 R09: 0000000000000019
May 24 05:00:33 ubuntu kernel: [249057.723134] R10: 0000000000000001 R11: 0000000000000000 R12: ffff88032e317908
May 24 05:00:33 ubuntu kernel: [249057.723159] R13: ffff88032c785740 R14: ffff88032c437380 R15: 0000000000000000
May 24 05:00:33 ubuntu kernel: [249057.723185] FS:  00007f3b94ff9700(0000) GS:ffff88063fca0000(0000) knlGS:0000000000000000
May 24 05:00:33 ubuntu kernel: [249057.723213] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
May 24 05:00:33 ubuntu kernel: [249057.723235] CR2: fffff98001b88400 CR3: 0000000315fad000 CR4: 00000000000027e0
May 24 05:00:33 ubuntu kernel: [249057.723260] Stack:
May 24 05:00:33 ubuntu kernel: [249057.723269]  ffffffff8171da4a 0000000000000010 0000000000000202 ffff88062b4f3a38
May 24 05:00:33 ubuntu kernel: [249057.723303]  0000000000000018 ffffea00124a9900 ffff88062b4f3a90 ffffffff81176fc8
May 24 05:00:33 ubuntu kernel: [249057.723336]  ffff88032e3179b8 ffff880629b41a08 ffff880300000019 8000000400000001
May 24 05:00:33 ubuntu kernel: [249057.723368] Call Trace:
May 24 05:00:33 ubuntu kernel: [249057.723385]  [<ffffffff8171da4a>] ? _raw_spin_lock+0x3a/0x50
May 24 05:00:33 ubuntu kernel: [249057.723407]  [<ffffffff81176fc8>] ? follow_page_mask+0xf8/0x5b0
May 24 05:00:33 ubuntu kernel: [249057.723430]  [<ffffffff81179266>] __get_user_pages+0x166/0x5e0
May 24 05:00:33 ubuntu kernel: [249057.723473]  [<ffffffffa0297709>] __gfn_to_pfn_memslot+0x169/0x3c0 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723504]  [<ffffffffa02979bc>] __gfn_to_pfn+0x5c/0x60 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723531]  [<ffffffffa02979fa>] gfn_to_pfn_async+0x1a/0x20 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723564]  [<ffffffffa02b9f8f>] try_async_pf+0x3f/0x1b0 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723595]  [<ffffffffa02b4f6e>] ? mapping_level.isra.92+0x7e/0xa0 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723628]  [<ffffffffa02ba416>] tdp_page_fault+0x106/0x1f0 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723660]  [<ffffffffa02b5634>] kvm_mmu_page_fault+0x24/0x100 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723688]  [<ffffffffa0156634>] handle_ept_violation+0x94/0x160 [kvm_intel]
May 24 05:00:33 ubuntu kernel: [249057.723716]  [<ffffffffa015bb05>] vmx_handle_exit+0xb5/0x890 [kvm_intel]
May 24 05:00:33 ubuntu kernel: [249057.723743]  [<ffffffff8109d91e>] ? __vtime_account_system+0x2e/0x40
May 24 05:00:33 ubuntu kernel: [249057.723775]  [<ffffffffa02a9c05>] vcpu_enter_guest+0x795/0xcb0 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723806]  [<ffffffffa029fde4>] ? kvm_check_async_pf_completion+0x14/0x110 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723842]  [<ffffffffa02ae108>] kvm_arch_vcpu_ioctl_run+0x1e8/0x460 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723872]  [<ffffffffa0298062>] kvm_vcpu_ioctl+0x2c2/0x5b0 [kvm]
May 24 05:00:33 ubuntu kernel: [249057.723898]  [<ffffffff810d9329>] ? futex_wake+0x1a9/0x1d0
May 24 05:00:33 ubuntu kernel: [249057.724805]  [<ffffffff811cc6e0>] do_vfs_ioctl+0x2e0/0x4c0
May 24 05:00:33 ubuntu kernel: [249057.725701]  [<ffffffff8109dd84>] ? vtime_account_user+0x54/0x60
May 24 05:00:33 ubuntu kernel: [249057.726603]  [<ffffffff811cc941>] SyS_ioctl+0x81/0xa0
May 24 05:00:33 ubuntu kernel: [249057.727496]  [<ffffffff817266bf>] tracesys+0xe1/0xe6
May 24 05:00:33 ubuntu kernel: [249057.728375] Code: ff 48 89 d9 4c 89 e2 4c 89 ee 4c 89 f7 44 89 4d c8 e8 34 c1 ff ff 85 c0 0f 85 94 f5 ff ff 49 8b 3c 24 44 8b 4d c8 e9 68 f3 ff ff <0f> 0b be 8e 00 00 00 48 c7 c7 18 25 a6 81 44 89 4d c8 e8 18 e7 
May 24 05:00:33 ubuntu kernel: [249057.730245] RIP  [<ffffffff81179051>] handle_mm_fault+0xe61/0xf10
May 24 05:00:33 ubuntu kernel: [249057.731128]  RSP <ffff88062b4f3a08>
May 24 05:00:33 ubuntu kernel: [249057.745224] ---[ end trace 9b34ed0875c40df4 ]---

Perguntando se há um problema com esse kernel ( 3.13.0-24-generic ). Eu também estou ficando estranho comportamento do sistema no host que está tendo problemas - se eu tentar e ps ele trava em um certo ponto e eu tenho que matar minha sessão SSH. Eu também não posso reiniciar o sistema, presumivelmente também pendurado durante o processo de reinicialização. Essa questão do kernel está claramente quebrando o resto do sistema.

    
por AndyC 24.05.2014 / 07:34

2 respostas

2

Sim - há um problema com esse kernel. Nós tivemos o mesmo problema executando várias instâncias de java em um dual E5-2687.

Nunca fiquei sem memória, mas depois de algumas horas de carregamento ele falharia se tentássemos executar ssh ou executar ps. Dmesg mostrou o mesmo erro que você tem:

bug do kernel em /build/buildd/linux-3.13.0/mm/memory.c:3756!

Instalamos o kernel de teste mais recente e estamos estáveis desde (3.15.0-031500rc2-generic # 201404201435). O kernel e os cabeçalhos podem ser baixados do link e instalados com o dpkg.

No momento, estamos testando, vou postar se houver uma falha com esse kernel.

ATUALIZAÇÃO: Nós rodamos o 3.15.0-031500rc2-genérico para o AMD64, e embora isso raramente aconteça, nós tivemos esse mesmo erro. Concedido, foi depois de rodar um dual Xeon E5-2687W com 100% de utilização em todos os núcleos por cerca de 3 dias, mas ainda aconteceu e não deveria ter (o Ubuntu 12 não, mesmo aplicativo java).

    
por 30.05.2014 / 00:45
1

Por favor, note que este problema foi corrigido com o seguinte bug: link

Por favor atualize para a seguinte versão linux em Trusty: 3.13.0-32.57

Obrigado

    
por 21.07.2014 / 19:33