Quando mover um servidor virtualizado para físico?

12

A virtualização tem alguns grandes benefícios, mas há momentos em que um servidor virtualizado precisa de mais desempenho e deve ser movido para físico.

Minha pergunta é: como você sabe quando são esses tempos? Estou procurando dados e métricas mensuráveis ​​que mostrem que mover um servidor para sua própria caixa física faria uma diferença significativa no desempenho. Pessoalmente, estou interessado no Windows, mas presumivelmente o essencial é o mesmo em todas as plataformas.

Alex Angas
fonte

Respostas:

3

O único caso em que eu tive que executar uma V2P foi para uma caixa MS SQL que estava sendo executada em duas CPUs de núcleo duplo de 3,2 Ghz (CPU total de 14,4 Ghz) que migramos para um cluster ESX 2.5 em que o hardware subjacente era mais novo com mais núcleos mais lentos (2.4Ghz IIRC). Adicionando ~ 10% de sobrecarga, mesmo com 4 vCPUs, essa VM só poderia obter uma CPU agregada de 8 a 8,5 Ghz. CPU com 60% de pico antes da migração se tornar 90-100% após a migração, o cliente queria espaço livre, então voltamos ao físico. Para responder sua pergunta especificamente, vimos que a caixa estava sendo executada com 100% de CPU na placa no Perfmon e no cliente VI. Uma solução melhor (na minha opinião) teria sido a atualização para CPUs mais rápidas, mas há casos extremos como esse onde isso não é econômico, especialmente com a tendência de CPU mais lenta '

Com o ESX 4, poderíamos adicionar até 8 vCPUs de caixas como essa, mas essa não era uma opção na época.

No que diz respeito à procura de limites de desempenho que possam indicar que você precisa abandonar sua VM com um ambiente Windows Guest no VMWare, a combinação do Perfmon e do VI Client deve ser mais do que a tarefa de encontrar qualquer VM com desempenho limitado. . Além disso, adicione algumas análises de SAN a isso, se puder, mas se a SAN mostrar um problema, você certamente estará refazendo o armazenamento para isolar e \ ou aprimorar os volumes nos quais os discos virtuais da VM estão armazenados. O mesmo se aplica a qualquer outra combinação OS \ Hypervisor - obtenha todas as estatísticas internas que você puder, mas as correlacione com a visão do Hypervisor sobre o que está acontecendo, porque 100% da CPU relatada em uma VM (por exemplo) não significa necessariamente que o Hypervisor nunca poderia fornecer mais desempenho,

Helvick
fonte
4

Discordo que um servidor virtual precisaria ser movido para físico por causa do desempenho. Agora, os hipervisores estão tão próximos do metal que não há praticamente nenhum impacto no desempenho. Especialmente agora que muitos fabricantes de placas estão incluindo hipervisores no chipset. Se você pegasse dois servidores com hardware idêntico, um executando um único convidado e outro executando uma cópia exata desse convidado no hardware físico, seria difícil perceber uma diferença no desempenho, eu acho.

Existem outros motivos, no entanto, você pode precisar de um servidor físico em vez de virtual. Um deles é a compatibilidade de hardware. Se seu aplicativo exigir hardware não padrão com seu próprio barramento exclusivo, talvez você não consiga executá-lo em uma máquina virtual.

Estou ansioso para ouvir o que os outros têm a dizer. Ótima pergunta.

NOTA: Temos servidores virtualizados e, em seguida, colocamos novamente o mesmo hardware apenas para ter os recursos de snapshot / vmotion que amamos.

Daniel Lucas
fonte
3

Não sou especialista neste assunto, mas de um modo geral: aplicativos de E / S com muita fome (especialmente aqueles que escrevem pouco e rápido) são os que obtêm seu próprio servidor físico.

Também não é muito difícil encontrá-los, basta executar o monitor de desempenho e procurar tempos de espera de E / S altos.

Além disso, os bancos de dados avançados geralmente obtêm seu próprio servidor dedicado, por vários motivos:

  1. Eles querem armazenar em cache tudo o que podem, o uso de RAM é enorme
  2. Eles têm melhor desempenho com o encadeamento em vários núcleos (a 8 vias é normal) e, geralmente, você não deseja atribuir mais de 1 CPU virtual a qualquer servidor devido ao bloqueio
  3. Eles têm muita fome de E / S ao carregar dados no cache, a baixa latência na E / S é essencial.
pauska
fonte
1
Eu discordo do comentário "geralmente". Existem artigos em todo o site VMWare sobre a configuração de servidores de banco de dados no VMWare e não acredito que isso seja um problema. Mas você enfatiza bastante o que precisa ser avaliado ao considerar a mudança para um servidor Virturalizado.
SpaceManSpiff
1
Em breve, virtualizaremos nossos quatro servidores de banco de dados devido aos benefícios que veremos com snapshots / vmotion / etc. Concordo com o LEAT que os servidores de banco de dados têm e serão virtualizados no futuro.
22411 Daniel Lucas
Eu acho que você me entendeu mal. Eu digo que os servidores de banco de dados não devem ser virtualizados (todos os meus dbs são). Eu disse que os servidores high-end geralmente ficam em servidores físicos separados, devido às limitações que isso traz (como ter apenas quatro CPUs virtuais disponíveis).
22411 pauska
Os aplicativos de E / S com fome provavelmente atingirão uma SAN, o que significa que você está de volta à velocidade do canal ou da velocidade infinita e não ao disco bruto da VM - eu não vi (pessoalmente) um aplicativo que precise estar em hardware físico, fora dos sistemas de cronometragem crítica, ou onde é oficialmente suportada pelo fornecedor
Warren
Tenho a sensação de que as pessoas estão me discutindo por uma questão de discussão. Eu não disse que ele precisa de um host físico. Eu disse que os aplicativos / usos que exigem muitos recursos geralmente obtêm seu próprio servidor dedicado para não bloquear outras VMs.
pauska
1

Isso depende muito do serviço que está sendo executado.

Normalmente, analiso os recursos que estão sendo usados ​​e determino se eles são realmente gargalos para esse hóspede e os serviços que ele fornece.

Isso é assim:

Se você tem um convidado Dual Core (2vSMP) de 4 GB de RAM executando um servidor Web (IIS) e não está obtendo o máximo de solicitações de CPU e RAM, talvez o convidado não precise de mais hardware.

Temos encontrado casos em que a execução de um banco de dados Oracle em uma plataforma de virtualização se aproxima da mesma quantidade de desempenho que um servidor de hardware de tamanho semelhante.

Obviamente, se você quiser ter um servidor de 16 núcleos como uma VM, poderá ter problemas para vê-lo com desempenho e hardware dedicado.

Mike Fiedler
fonte
1

Quando a VM está sedenta de recursos (ou talvez com fome de outras VMs), por exemplo:

  1. Quando o IO da VM não pode ser satisfeito através do host
  2. Quando a VM precisa de mais largura de banda da rede do que é possível, compartilhando o tronco
  3. Quando os processos da VM desejam mais CPU do que podem obter, por exemplo, se houver um único processo que esteja maximizando a CPU virtual
  4. Se o linux e precisar de um tempo muito preciso (se estiver sendo executado em um host VMware, o host linux sob o tempo de desvio do VMware. Isso pode ser aliviado usando o ntp, no entanto, para aplicativos que requerem um tempo muito preciso, por exemplo, kerberos, você pode considerar um hardware real)
  5. Quando seu linux e precisa de um disco muito confiável (se estiver sendo executado em um host VMware - o VMware teve e acredito que ainda tem problemas de SCSI no VMWare sob certas condições. Foi realizada uma correção, mas ainda ocorre, embora com muito menos frequência)
Jason Tan
fonte
0

Eu diria que é quando o servidor está no ponto em que está consumindo o suficiente dos recursos do servidor e não pode compartilhar o hardware.

O ESX, o ESXi e o Windows Hyper V devem oferecer desempenho quase real. Portanto, desde que uma das máquinas não esteja usando 90% dos recursos por si só, você não precisará mudar para o hardware real.

As exceções são que você não gostaria de coisas como os dois controladores de domínio na mesma caixa, caso o hardware falhe.

SpaceManSpiff
fonte
2
Eu também discordo aqui. Embora o custo para executar uma única VM em um único host seja alto, considerando os custos de licenciamento, etc. Existem vantagens distintas em termos de recuperação de desastres e failover de hardware. Eu acho que mesmo neste caso vale a pena virtualizar.
22610 Kevin Kuphal
1
Você está bem correto. Com o EXSi sendo gratuito agora, é possível virtualizar um único servidor, seu servidor Exchange, por exemplo, e tê-lo sozinho em uma máquina. Quando for a hora de atualizar o hardware, basta copiar a VM para a nova máquina.
SpaceManSpiff
0

Duvido que exista uma resposta genérica para isso, mas se você está preocupado com o desempenho, é para isso que precisa analisar. O óbvio seria verificar se você está maximizando a CPU, E / S, ...

Além disso, testes de desempenho e benchmarks também o ajudariam a decidir se existe alguma penalidade por ser virtual e se é sensato ou não ter uma única VM no host.

Toto
fonte
0

Você primeiro precisa identificar qual recurso é o gargalo.

O monitor de desempenho do Windows ( perfmon ) fornece muitos contadores para vários aspectos, como fila de disco, estatísticas de memória virtual etc.

Se você estiver ligado ao disco, conceder à máquina virtual acesso direto a um disco, em vez de algo como um arquivo vmx com o VMWare, pode ajudar bastante.

Kyle Brandt
fonte
0

Eu acho que tudo depende de dois fatores:

  • Compartilhamento de recursos: o convidado consome tantos recursos que o desempenho do outro é afetado
  • Segurança: se for um serviço muito crítico, você provavelmente não deve usar a virtualização, pois quanto mais adicionar camadas entre o software e o hardware, menos segurança poderá estar.

    apenas meus 2cts.

  • Maxwell
    fonte