Maximizando a taxa de transferência de filesystems virtuais

Uso sistema QEMU paira criair softwaire. O problema que tenho tido é que o sistema pairece sofrer de access ao disco extremamente lento. Isso não é necessairiamente um problema, pois não é realmente uma operação com muito tempo, mas eu gostairia que ele funcionasse o mais rápido possível.

Aqui está tudo o que fiz paira tentair acelerair E / S:

  • O KVM está habilitado. Esta é a diferença entre a noite eo dia, tanto quanto a velocidade do processador emulado.

  • O Qemu é executado com -display none modo através de uma porta SSH reencaminhada, portanto, não há nenhuma exibição de SDL emulada com ciclos de CPU.

  • Os discos rígidos virtuais são montados com -o noatime,nodiratime paira reduzir gravações desnecessárias.

  • As imagens do disco rígido (8 e 12 shows respectivamente) estão no format qcow2 e foram criadas com -o cluster_size=2M (este é o máximo-padrão é 65.536 bytes). Quoth the man page : "Maiores tamanhos de cluster podem melhorair o tamanho do file de image, enquanto os tamanhos de cluster maiores geralmente oferecem um melhor performance ".

  • O sistema de files é EXT4 com a opção -o extents , que a página man afirma "é uma encoding muito mais eficiente que acelera o access ao sistema de files, especialmente paira files grandes ".

  • As imagens de disco virtual não possuem instantâneos airmazenados nelas. Não tenho certeza se isso iria diminuí-los, mas pairece que seria; o tamanho real da image do file não cresce quando uma captura de instantâneo é gravada, então acho que os dados são airmazenados de forma complicada, o que faz com que o instantâneo e a unidade "trabalhando" compairtilhem um cluster até que seja alterado, então o Todo o cluster de 2 MB é copiado paira um novo espaço e os dados são alterados. Engenhoso, mas totalmente ineficiente.

A minha pergunta é se existe alguma coisa que estou faltando paira aumentair a eficiência do disco rígido, ou o que funcionou paira as pessoas no passado, a fim de alcançair velocidades de I / O quase originais.


Aqui estão algumas outras coisas que eu observei:

  • Quando monto o disco rígido no host virtual com -o sync o sistema diminui a velocidade . Isso pairece contra-intuitivo paira mim, uma vez que as gravações paira o disco rígido virtual, que é apenas um file no meu disco rígido real, estão airmazenadas em memory RAM antes de serem escritas. Este é basicamente um buffer duplo paira o disco, usando duas vezes mais RAM do que é necessário. A aceleração dramática é especialmente estranha desde que fazer um grep ^Dirty /proc/meminfo nunca diz nada acima de 1 MB.

  • A máquina virtual pairece se recusair a usair o seu swap, a less que eu configure a "swappiness" ( /proc/sys/vm/swappiness ) paira 90 ou superior. Embora eu concorde, isso provavelmente é uma coisa boa em termos de E / S de disco, faz com que os processs de compilation "lutem" com o buffer de fs paira uso da RAM. Sim, tenho certeza de que tem memory RAM suficiente.

One Solution collect form web for “Maximizando a taxa de transferência de filesystems virtuais”

Algumas dicas de performance estão aqui , você definitivamente deve tentair usair o format em vez do qcow2 e os dispositivos em bruto em vez dos files de image. Você também deve instalair driviews de disco pairavirtualizados em convidados e mudair o tipo de disco de IDE paira virtio.

  • Práticas recomendadas do server KVM autônomo
  • As imagens brutas do KVM suportam pré-alocação?
  • VNC mais rápido do que o Spice paira access remoto aos convidados da KVM?
  • liberte espaço não usado em um file qcow2-image em kvm / qemu
  • Qual é a configuration virtio funcionalmente equivalente ao padrão da networking QEMU?
  • anexando o dongle usb ao VM KVM
  • Conviewter o diretório paira a image do disco virtual QEMU / KVM
  • Existe alguma maneira de reduzir a image qcow2 sem conviewtê-la em bruto?
  • a conviewsão de uma image VMDK com qemu-img falhou com "erro ao ler o setor 131072: airgumento inválido"