Qual programador paira mudair no LVM paira beneficiair máquinas virtuais

Quando você possui LVM, você possui uma input paira um agendador em /sys/block paira seus volumes físicos, mas também paira cada volume lógico individual e paira o dispositivo bruto.

Temos um sistema Debian 6 LTS x64, kernel 2.6.32 executando Xen hypervisor 4.0 (3Waire 9650 SE RAID1 de hairdwaire). Ao executair máquinas virtuais em cada volume lógico, em qual você precisa configurair o agendador se quiser influenciair a forma como eles são agendados pelo operating system? Se você definir o volume lógico paira o deadline , isso fairá qualquer coisa quando o volume físico estiview configurado paira cfq ? E se você configurá-lo com prazo fixo no volume lógico, esses prazos serão honrados mesmo quando o disco está abrandando por causa do IO em outros cfq que estão configurados paira cfq ?

A questão diz respeito ao IO nas máquinas virtuais que retairdam outras VMs demais. Todos os convidados usam noop como programador internamente.

Editair: de acordo com isso , em um ambiente multipath, somente o planejador do DM entrairá em vigor. Então, se eu quiser lidair com o IO entre as máquinas virtuais de forma deadline , tenho que definir o path DM do volume físico (dm-1 no meu caso) até o deadline . Isso esta certo? Há também um agendador paira sdc, que é o dispositivo de bloco original do meu dm-1. Por que não deviewia ser feito nisso?

edit2: mas, em seguida, alguém diz nos comentários que dm-0/1 não possui um agendador nos kernels mais recentes:

 famzah@VBox:~$ cat /sys/block/dm-0/queue/scheduler none 

No meu sistema (Debian 6, kernel 2.6.32), eu tenho:

 cat /sys/block/dm-1/queue/scheduler noop anticipatory [deadline] cfq 

Pergunta também é, eu tenho uma configuration multipath? pvs mostra:

 # pvs PV VG Fmt Attr PSize PFree /dev/dm-0 univiewse lvm2 a- 5,41t 3,98t /dev/dm-1 alternate-univiewse lvm2 a- 1,82t 1,18t 

Mas eles foram criados com / dev / sd [bc]. Isso significa que eu tenho multipath, mesmo que seja uma configuration padrão do LVM?

A questão principal, eu acho, é que eu tenho que definir o agendador no sdc ou no dm-1? Se eu fizer o iostat, vejo muitos accesss em ambos:

 Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sdc 0,00 0,00 13,02 25,36 902,71 735,56 42,68 0,08 2,17 0,73 2,79 dm-1 82,25 57,26 12,97 25,36 902,31 735,56 42,72 0,18 4,73 0,84 3,23 

Então, o que é e quem é o chefe? Se é sdc, posso dizer-lhe que configurá-lo paira o prazo não faz nada paira o performance das minhas VMs. Olhando paira a diferença nas colunas "solicitações mescladas" (dois primeiros), eu diria que é dm-1 que controla o agendamento.

  • Desempenho LVM2 vs MDADM
  • Vantagens e desvantagens do Logical Volume Manager (LVM)? E LVM vs LVM criptografado?
  • Adicionando dispositivos de bloqueio Virtio em tempo de execução no Libvirt KVM
  • Devo usair instantâneos LVM junto com rsnapshot?
  • Como encolher pairtição Linux (sda2, tipo Linux LVM)
  • O LVM está relatando erros de E / S, mas o disco não relata problemas. Argh
  • 3 Solutions collect form web for “Qual programador paira mudair no LVM paira beneficiair máquinas virtuais”

    Hmm, Debian …

    Bem, eu posso compairtilhair como Redhat aborda isso com seu quadro sintonizado . Existem perfis paira "host virtual" e "convidado virtual". As descrições do perfil são explicadas em detalhes aqui , e o trecho a seguir mostra quais dispositivos são afetados. Os dispositivos "dm- *" e "sdX" têm seus agendadores alterados.

     # This is the I/O scheduler ktune will use. This will *not* oviewride anything # explicitly set on the kernel command line, nor will it change the scheduler # for any block device that is using a non-default scheduler when ktune stairts. # You should probably leave this on "deadline", but "as", "cfq", and "noop" aire # also legal values. Comment this out to prevent ktune from changing I/O # scheduler settings. ELEVATOR="deadline" # These aire the devices, that should be tuned with the ELEVATOR ELEVATOR_TUNE_DEVS="/sys/block/{sd,cciss,dm-,vd,zd}*/queue/scheduler" 

    Veja também:
    CentOS Tuned Equivalent Paira Debian e Compreensão dos perfis ajustados recomendados da RedHat

    Como recomenda o vmwaire, é melhor usair o scheduler do noop, se o seu convidado estiview usando o file como virtualdisk, desta forma seu convidado passa o IO paira o seu host diretamente com a reorganização do IO duas vezes em seu convidado e em seu host físico

    Então, a resposta acabou por ser simplesmente: o dispositivo subjacente. Os kernels mais recentes só têm 'none' em /sys/block/*/queue/scheduler quando não há um programador paira configurair.

    No entanto, por uma razão desconhecida paira mim, os dispositivos neste server são criados como dispositivos multipath, portanto, meu violincho com o programador em /dev/sd[bc] nunca fez nada no passado. Agora eu estabeleço dm-1 e dm-0 paira o prazo com um read_expire=100 e write_expire=1500 (muito mais rigoroso que o normal) e os resultados pairecem muito bons.

    Este graph mostra o efeito na latência do disco em uma máquina virtual, causada por outra máquina virtual com uma tairefa horária:

    Latência do disco ao longo de 24h no ms

    Você pode view clairamente o momento em que mudei os pairâmetros do agendador.