Virtualização para independência de hardware com bom desempenho de disco?

2

Essa é uma pergunta difícil de fazer, pois sei muito pouco sobre esse tópico. Por favor, tenha paciência comigo.

Do meu ponto de vista, suportando um número relativamente pequeno de máquinas, a noção de virtualização tem um benefício intrigante: a independência do hardware. Talvez esse não seja o jeito certo de dizer isso, mas eu realmente gosto da idéia de ser capaz de pegar uma máquina inteira e movê-la para qualquer peça de hardware adequada.

Eu sei que isso é possível, é claro, mas as coisas parecem complicadas quando se trata de discos virtuais e desempenho. Se você estiver usando a passagem para o disco, sua máquina virtual ainda estará vinculada a um determinado hardware.

Existem tecnologias hoje em dia que permitem que uma pessoa empacote facilmente uma máquina e seus discos e os mova para um hardware diferente de forma que o desempenho de E / S não seja muito afetado? Tão fácil quanto copiar uma imagem de disco virtual para uma nova máquina? Isso é possível com soluções gratuitas do vmware, da Microsoft e afins?

(Quando falo de performance, não estou falando de nada de mais ... apenas soluções padrão para pequenas e médias empresas: ERP, e-mail, etc.)

    
por Boden 09.11.2009 / 18:49

4 respostas

2

Eu não acho que você esteja perguntando sobre os recursos da migração ao vivo, como o VMotion. Eu acho que você está apenas perguntando:

How to I do things like expose raw block devices / LUNs to my VMs ("IO pass through"), which I've heard gives better performance than using virtual disk files inside filesystems managed by the hypervisor w/o giving up the hardware-independent nature of my VMs?

Você identificou um cenário de negociação. Remover camadas de abstração pode fazer com que as coisas corram mais rápido, mas você está desistindo dos benefícios da abstração ao fazê-lo. Se você achar que precisa expor o dispositivo de bloco bruto a suas VMs por motivos de desempenho, planeje ficar "vinculado" a esses dispositivos de bloco ou use algo como replicação no nível da SAN para ganhar algum dispositivo independência em um nível mais baixo (possivelmente com seu próprio conjunto de compensações de desempenho).

Pessoalmente, eu tentaria ficar no mundo confortável dos discos virtuais o máximo possível. A abstração oferece um benefício significativo.

    
por 09.11.2009 / 21:32
3

Independência de hardware é exatamente o jeito certo de vê-lo - separar os serviços dos quais você depende do hardware é um grande benefício que a virtualização oferece.

Sua pergunta sobre portabilidade e desempenho de IO não está totalmente clara, mas acho que posso ver em que você está chegando.

Praticamente todos os hypervisors, certamente todos os principais (VMware, Microsoft, Xen, KVM) permitem desligar uma VM e movê-la para um armazenamento diferente ou para um host completamente diferente sem qualquer problema, seu único problema será estar lidando com o fato de que você geralmente copia uma grande quantidade de dados. A maioria dos fornecedores tem vários Hypervisors e, em geral, é bastante simples mover uma VM de (digamos) VMware Workstation para VMware Server para VMware ESX. Mover-se entre os fornecedores de hipervisor é um pouco mais difícil e envolverá alguma conversão, mas novamente todos os principais fornecedores suportam isso em algum grau. Em geral, desde que uma VM esteja desligada, ela pode ser movida sem mais problemas do que copiar um arquivo grande.

Mover VMs com mínimo (ou nenhum) tempo de inatividade é muito mais difícil, mas todos os principais fornecedores fornecem alguma versão disso agora. Com VMware é chamado de VMotion, Microsoft chama de migração ao vivo, Citrix (Xen) chamá-lo de XenMotion ou Live Motion. Todos eles exigem armazenamento compartilhado (SAN ou NAS) e impõem restrições bastante rígidas à variedade de hardware que você pode ter em seu cluster, mas permitem que você mova uma VM em execução de um host para um diferente em um cluster gerenciado com perto de zero (milissegundos \ sub-milissegundos intervalo) interrupção nos serviços. Esse é um recurso altamente desejável e tende a exigir licenças caras, como Bart Silverstrim apontou em sua resposta, mas o HyperV 2008 R2 Server da Microsoft permite que você construa um cluster usando apenas componentes gratuitos (como na cerveja) que sejam bastante interessantes como do Citrix . As licenças mais baratas da VMware que suportam isso custam cerca de US $ 2k por CPU, se bem me lembro, mas você não pode realmente argumentar com o ponto de preço da Citrix ou da Microsoft se quiser construir algo pequeno. O VMware é indiscutivelmente o melhor do grupo, mas você tem que pagar bastante para obter tudo a partir dele, o Xen é mais maduro que o Hyper-V, mas a Microsoft fez um enorme progresso nos últimos 18-24 meses, portanto não deve ser descontado. A migração Vmotion \ Live não tem grande impacto no desempenho do disco IO.

Uma variação do VMotion \ Live Migration envolve deixar a VM em execução no mesmo host, mas move o local de armazenamento subjacente sem desativar a VM. Esta é uma opção de licenciamento ainda mais cara da VMware (eles chamam isso de Storage VMotion), a Microsoft tem uma "Quick Storage Migration" que é semelhante, mas não totalmente perfeita, tanto quanto eu sei. Observe que o processo de cópia ainda leva muito tempo e terá um impacto, possivelmente significativo, no desempenho geral do armazenamento enquanto a migração ocorre.

Em termos de desempenho do disco rígido da VM, você deve ter algumas coisas em mente. Os hipervisores são todos muito bons - você deve esperar ver 80% + de desempenho nativo, mesmo sob condições extremas e, na maior parte, a menos que você tenha padrões de IO de armazenamento muito estranhos, você pode seguramente assumir 95% ou mais. Basicamente, uma implementação bem planejada com um bom subsistema de armazenamento deve ser difícil de distinguir de uma solução nativa. Você precisa saber quanto desempenho suas VMs precisarão e, em seguida, é necessário fornecer isso, além de qualquer desempenho adicional que você precise fornecer algo extra (como a capacidade de migração de falhas / Live Migration etc). Como com qualquer outra coisa (CPU, memória, largura de banda de rede) se você não fornecer capacidade de armazenamento suficiente (largura de banda sequencial, espaço, IOPS), sua solução terá um desempenho ruim. A melhor maneira de abordar o planejamento para isso é ter uma boa ideia das características totais de armazenamento necessárias (novamente GB de espaço utilizável, pico total de IOPS, largura de banda de pico) para adicionar o que você precisa para um crescimento iminente e garantir que a solução de armazenamento que você coloca em prática pode fornecer isso.

Como regra geral, ambientes de hospedagem VM gastam dinheiro em memória, certifique-se de ter potência de CPU suficiente e armazenamento (pelo menos até obtermos um armazenamento SSD barato) comprar um bom controlador RAID \ SAN \ NAS e tentar comprar como muitos discos como você pode - 2 TB de armazenamento que vem de discos 8x250GB superará substancialmente discos 2x1TB todas as outras coisas sendo iguais.

    
por 09.11.2009 / 20:57
1

O VMWare ESXi é gratuito. Específico com seus requisitos de hardware. A maioria é.

O Xen pode ser configurado para failover semiautomático. (Eu quero dizer Xen, não o produto baseado em xen da Citrix ... isso está se referindo ao uso de Heartbeat e esgrima e muito trabalho manual com o Linux para obter suporte a failover).

Tudo depende do que você espera de "movimentação rápida". O Vmotion é pago como um add-on, e não é barato, da VMWare, mas permite que você mova VMs do servidor 1 para o servidor 2 sem interrupções, e normalmente requer alguns meios de armazenamento compartilhado entre os dois servidores.

Nós temos um sistema para trazer servidores de forma relativamente rápida, mas envolve copiar instantâneos de nossas máquinas virtuais para outro local e rodar o VMWare a partir daí. A cópia (backup) leva horas para fazer isso e eu normalmente coloco os servidores offline por parte do fim de semana para fazê-lo. A natureza de nossos servidores nos permite sair do ar por esse período de tempo. Se você está falando sobre algo que precisa ser feito 24 horas por dia, isso definitivamente não funcionará.

Para uma configuração barata, você pode tentar montar alguns servidores de "caixa branca" (o Google é seu amigo) por ~ $ 500 por peça que será compatível com o VMWare ESXi para rodar gratuitamente, então você pode trabalhar em uma solução de backup para copie as VMs entre as duas periodicamente (a Veeam tinha alguns utilitários de cópia gratuita, não sei se a VMWare exigia que eles a desativassem para o produto ESXi agora). Então, se você tiver uma falha de hardware, poderá trazer rapidamente um backup bastante recente on-line. Ou se você tiver um rápido armazenamento externo, você pode usá-lo para compartilhar entre os dois servidores, assim, se o servidor morrer, você pode disparar o segundo rapidamente.

A maioria das soluções que conheço para maximizar o tempo de atividade, como o VMotion, é o que é pago em soluções baseadas em Xen e VMWare. Os recursos corporativos são seus criadores de dinheiro. Mover VMs perfeitamente é exatamente o mercado que está disposto a pagar por esses recursos. De qualquer forma, você precisa ter um bom plano para backups das próprias VMs ou acoplado a agentes de backup nos servidores virtualizados, para que, no mínimo, você possa criar novos servidores em branco em outra VM e restaurar de seus servidores virtuais de backup como se eles fossem bare metal. Se estiver usando armazenamento compartilhado, você deve planejar bons backups para isso em caso de falha da unidade.

    
por 09.11.2009 / 19:04
1

Você deve esperar um desempenho de disco semelhante, especialmente ao usar LUNs brutos em uma SAN.

Um cenário comum em que o desempenho do disco é afetado é quando a partição não está alinhada. Windows 2003 e anteriores fizeram algumas coisas danificadas pelo cérebro ao criar uma nova partição, ela começaria no 64º setor. O resultado é que a partição os está desalinhada com o volume físico. O resultado é que clusters únicos de dados do usuário são gravados em várias unidades de distribuição do RAID. Cada enésima operação é afetada (n depende do tamanho da unidade de alocação de arquivos (cluster) e do tamanho da unidade de distribuição). Tudo isso está bem documentado nos sites da VMWare e da Microsoft.

Não é incomum melhorar o desempenho 20-40% quando as partições estão alinhadas corretamente.

Você também pode melhorar o desempenho usando um tamanho de unidade de alocação NTFS maior, como 8k. Mas você deve usar 4k para a partição do sistema (onde ntldr reside).

Mais informações:

link

Verifique também o novo recurso do Windows 7 / Windows 2008 R2, inicialize a partir do vhd:

link

    
por 09.11.2009 / 23:41