Capítulo 15. Virtualização
- Compartilhamento de parte de tempo da CPU Virtual
- O Compartilhamento da parte de tempo da CPU VIrtual é um recurso de aprimoramento de desempenho no nível de agendador do Linux, onde uma CPU virtual rotativa pode fornecer o restante de sua parte de tempo para outra CPU virtual antes de finalizar a CPU. Este recurso se refere ao problema de apropriação do bloqueio herdado, que existe em sistema SMP, que podem afetar o desempenho em CPUs virtuais. Este recurso fornece um desempenho estável em convidados de diversos processadores. Este recurso é suportado em ambos processadores Intel e AMD, e é chamado de Pause Loop Exiting (PLE) nos processadores Intel, e Pause Filter em processadores AMD.
O desempenho de rede de KVM é um requerimento crítico para produtos e soluções baseados em Virtualização e cloud. A Red Hat Enterprise Linux 6.2 fornece diversas otimizações de desempenho de rede para aprimorar a rede de KVM do desempenho de driver para-virtualizado em diversas configurações.
- Melhoria do desempenho do KVM de mensagem curta.
- Red Hat Enterprise Linux 6.2 melhora o desempenho de mensagens pequenas do KVM para satisfazer uma variedade de carga de trabalho de rede que geram mensagens pequenas (< 4K).
- O requerimento de velocidade nos drivers de rede do KVM
- Os produtos de virtualização e cloud que são executados em cargas de trabalho de rede, precisam executar velocidade a cabo. Até o Red Hat Enterprise Linux 6.1, a única maneira de alcançar a velocidade a cabo em um 10 GB Ethernet NIC com um uso menor da CPU era usando a atribuição do dispositivo PCI (passagem), que limita outros recursos como o saturação de submissão de memória e a migração de convidado.As capacidades de cópias-zero do macvtap/vhost permitem que o usuário usem aqueles recursos quando o alto desempenho é necessário. Este recurso melhora o desempenho para qualquer convidado do Red Hat Enterprise Linux 6.x no caso de uso do VEPA use case. Este recurso é apresentado como uma Amostra de Tecnologia.
- A otimização do UDP checksum para os drivers de rede KVM
- A otimização do checksum UDP elimina a necessidade para o convidado validar o checksum se ele já foi validado pelo host NICs. Este recurso acelera o UDP no externo para convidados em placas 10 GB Ethernet com os convidados e hosts. A otimização do UDP checksum é implementada no driver
virtio-net
. - O desempenho de caminho E/S aprimorado quando um host é mais lento do que um convidado
- O driver de rede Red Hat Enterprise Linux 6.2 KVM melhorou o desempenho de caminho de E/S, com saídas e interrupções de máquinas virtuais reduzidas, que resultam em uma entrega de dados mais rápida. Esta melhora também permite que você execute um convidado mais rápido em um host mais lento, sem incluir qualquer penalidade por desempenho. Esta melhora é alcançada por uma estrutura de anel
virtio
, e o suporte do índice do evento emvirtio
vhost-net
.
- Monitoramento de sistema via SNMP
- Este recurso fornece suporte KVM para tecnologia estável que já seja usada no centro de dados com os sistemas bare metal. O SNMP é o padrão para o monitoramento e é extremamente bem entendido como também informaticamente eficiente. O monitoramento de sistemas via SNMP no permite máquinas KVM de enviarem os obstáculos do SNMP em eventos para que os eventos do hipervisor possa ser comunicado ao usuário via protocolo SNMP padrão. Este recurso é fornecido através da adição de um novo pacote: libvirt-snmp. Este recurso é apresentado como uma Amostra de Tecnologia.
- Capacidades de depuração de convidados aprimoradas
- Usuário que virtualizam seus centros de dados precisam de uma forma de depurar quando um Sistema Operacional de um convidado pára e um despejo de travamento precisa ser iniciado. Existem dois métodos bem mais utilizados com sistemas físicos:
- Motivando uma interrupção de não mascarável (NMI) no convidado.
- Enviando as sequências do SysRq ao convidado
Enquanto estas capacidades são fornecidas diretamente com o console do KVM, um número de usuários usam KVM através do libvirt API e virsh, onde estes dois recursos estavam faltando. O Red Hat Enterprise Linux 6.2 melhora as capacidades de depuração do convidado na pilha do KVM, assim permitindoque um usuário dispare o NMI em convidados e enviar as sequências de chave do SysRq para convidados. - Aprimorar acesso de inicialização da máquina virtual
- Os usuários que virtualizam seus centros de dados precisam rastrear o processo de inicialização do convidado e exibir todo o BIOS e mensagem de inicialização do kernel desde do início. A falta deste recurso evita os usuários de um uso interativo do console virsh, antes da inicialização. Um pacote novosgabios, foi adicionados ao Red Hat Enterprise Linux 6.2,para fornecer capacidade, junto com algumas adições ao qemu-kvm.
- Snapshots Ao Vivo
- O Red Hat Enterprise Linux 6.2 apresenta o recurso Live Snapshot como uma Amostra de Tecnologia. O recurso snapshots ao vivo fornece backup automático de imagens de máquinas virtuais no disco rígido e fornece um snapshot por drive dos discos virtuais de forma transparente, usando as imagens qcow2 externas. A criação do disco múltiplo snapshot ao vivo ajuda a manter a integridade, pausando o qemu antes de receber todos os snapshots do disco. Assim, um snapshot de disco múltiplo terá todos os dados contidos nos discos no mesmo momento.É importante saber que existe uma limitação com a consistência do sistema de arquivo. No entanto, o reuso da imagem do snapshot é consistente à travamento. Um usuário teria que executar uma verificação de sistema de arquivo (
fsck
) ou reproduza as entradas da agenda, a qual e semelhante a inicialização após puxar uma corda de energia. - Melhorias de Ajuste do Múltiplo Processador (NUMA)
- O Red Hat Enterprise Linux 6.2 adiciona melhorias de ajuste ao libvirt pilha de API, resultando no desempenho aprimorado imediatamente das medidas SPECvirt. O Red Hat Enterprise Linux 6.2 agora é capaz de chamar a memória associada com um nó NUMA quando uma máquina virtual for criada.
- Melhorias de USB
- A emulação do USB 2.0 foi implementada para o qemu-kvm. Isto está disponível somente para o QEMU diretamente. O suporte do Libvirt está planejado para sair na próxima versão.O suporte do Despertador Remoto (Wakeup) foi adicionado para o controlador do host do USB. Junto com a cooperação do Sistema Operacional convidado, ele permite parar o modo de pesquisa de 1000hz frequente e colocar um dispositivo em modo ocioso. Ele aprimora dramaticamente o uso da energia e o consumo da CPU de máquinas virtuais com a emulação do mouse do USB (ou uma tabela) — um dos dispositivos comuns que toda máquina virtual possui.
- Ballooning de Memória
- O Ballooning de memória agora é suportado pelo Red Hat Enterprise Linux 6 de convidados Xen paravirtualizados].
- Limite de memória de Domínio
- Limite de memória para os convidados x86_64 domU PV foi aumentado para 128 GB:
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
. - Contagem de tempo
- A implementação do
xen_sched_clock
(o qual retorna o número de nanoseconds não roubados) foi substituído pela implementação doxen_clocksource_read
.
O Guia de Virtualização Red Hat Enterprise Linux foi dividido em diversos guias específicos:
O pacote spice-protocol foi atualizado para a versão
- Suporte para mudança de volume
- Suporte para as gravações e interrupções de E/S de convidado async
- Suporte para as gravações de E/S de convidado relacionado à suspensão (S3).
- Suporte para a interrupção indicando um bug de convidado
Os containers do Linux fornecem uma forma flexível para a contenção do tempo de execução do aplicativo em sistemas bare-metal sem a necessidade de virtualizar totalmente a carga de trabalho. O Red Hat Enterprise Linux 6.2 fornece containers de nível de aplicativo para separar e controlar as políticas de uso do recurso do aplicativo via cgroup e namespaces. Este lançamento introduz gerenciamento básico de ciclo de vida de container permitindo a criação, edição e deleção dos containers via libvirt API e virt-manager GUI. Os Containers do Linux são uma Amostra de Tecnologia.
Para permitir instalações lado a lado do pacote rhev-hypervisor, configure o Yum para tornar o rhev-hypervisor um pacote de installonly, editando o arquivo /etc/yum.conf
e adicionando a opção installonlypkgs
:
[main] ... installonlypkgs=rhev-hypervisor
yum.conf
(man yum.conf 5
) na seção de opção installonlypkgs