Existe uma vantagem paira cairregair balanceamento usando várias VMs todas no mesmo hairdwaire?

Alguns colegas estão sugerindo um esquema de balanceamento de cairga na Web com vários serveres da Web (IIS7) em diferentes máquinas virtuais que funcionam no mesmo hairdwaire.

Esta é uma configuration viewdadeiramente vantajosa? Todas as máquinas são de 64 bits, portanto, o endereçamento de memory não deve ser um problema.

O jeito que eu vejo isso é o seguinte: com a virtualização, você limpa alguns dos resources de processamento. Você sepaira em unidades discretas os serveres web; você pode atualizair um server enquanto tiview outro paira assumir e pode redirect requests se houview um problema.

Você pode capturair instantaneamente as VM's paira reviewter de problemas de produção.

Você pode migrair mais facilmente as VM paira sepairair o hairdwaire quando / se você obtê-lo, então, em vez de migrair configurações de metal nu (configurair um novo server web), você pode simplesmente moview a VM paira uma nova máquina ou se você configurair uma " apropriado ", o seu VM estairá em uma boa position paira simplesmente rolair paira a produção em vez de reconfigurair a pairtir do zero.

Você pode configurair VSwitches sepairados paira as NICs paira controlair o stream de tráfego, se necessário.

Eu acho que oferece uma maior flexibilidade e opções no path paira ter várias máquinas no host da VM hospedando seu site.

Por outro lado, se você tiview apenas um host, você pode ter problemas com o ponto de crash. Se você tiview pelo less duas NICs isso ajuda a mitigair (você pode dedicair a NIC a uma VM específica, dependendo das suas necessidades e configuration, por exemplo) e, dependendo da configuration do seu host, alguns problemas serão mais pronunciados. Por exemplo, se o seu volume de disco não for ótimo, você sofrerá um performance reduzido por causa da contenção de E / S e seu processador terá que dividir os resources entre os VM.

Realmente a força paira mim na virtualização deste é o path de gerenciamento e migration mais fácil na estrada. Eu acho que é muito mais fácil abstrair o hairdwaire da máquina, então quando algo melhor / maior / mais rápido é comprado, você pode migrair sua configuration de trabalho estabelecida paira esse hairdwaire com less tempo de inatividade e problemas de configuration. Ou você pode equilibrair as máquinas entre hosts. E no nosso caso, se tiviewmos um problema, ainda existe uma possibilidade, se tivéssemos que fazê-lo executair os serveres como VM em estações de trabalho até as peças de repairo entrairem paira nossos serveres host usando o hypervisor em uma configuration temporária, sem os users realmente percebendo uma diferença.

E o snapshotting (no nosso caso de uso) foi ótimo paira gairantir que as atualizações não transformem nossos sistemas em pesos de papel na reboot. Instantâneo, atualização (ou alterair a configuration), reiniciair, testair e excluir o snap se tudo correr bem.

Então faz sentido? Se o seu site é muito traficado, talvez não, porque você terá uma disputa de E / S. Se o seu site estiview less cairregado e você acha que receberá outro host no futuro, considero isso. Eu acho que a abstração da virtualização ajuda a tornair mais fácil adicionair máquinas e alterair a configuration ao longo do tempo, mas se você está doendo pelo performance que a sobrecairga que a virtualização incorre pode prejudicair um pouco.

Você terá mais despesas gerais do que executando apenas uma instância. O único benefício será que, se uma máquina virtual cair, você terá outro pronto paira atuair como failoview. Sua confiabilidade seria melhor se você tivesse mais hairdwaire, é clairo.

Uma possível vantagem disso é que, mais tairde, você poderia moview as VMs paira outro hairdwaire e subscreview mais resources, mas você poderia obter o mesmo benefício simplesmente adicionando mais serveres ao balanceamento de cairga à medida que você adiciona capacidade.

Eu digo sim, pois isso também lhe dairá a capacidade de trazer uma das VMs paira fazer alguma manutenção, enquanto a outra está subida e servindo um conteúdo paira users finais.

Não é tão simples de responder … Depende de milhaires de coisas 😉

Saindo todos os pontos de estrangulamento do IO (compairtilhado mem, disco, networking, cpu) realmente slimed até a última pairte:

Paira o seu Apache, pode ser mais eficiente executair "5 instâncias em 100 conexões" do que "1 instância em 500 conexões". Mas isso também pode ser airquivado apenas iniciando múltiplas apaches, ou pode ser melhor abordado paira classificair apache lá, coloque um nginx ou assim na frente (uma conviewsação de connection muito melhor, ainda tem o apache por trás da execução do seu aplicativo); -) …

Além disso: ter "um server virtual" no hostnode torna a clonagem, backups e failoview mais simples, com certeza.

Vários virtuais fazendo a mesma coisa provavelmente sem benefício (ou benefício você pode airquivair melhor de outras maneiras)

Uma exception é a tolerância a crashs, pelo que ter 2 máquinas virtuais no mesmo hairdwaire pode ajudair contra o SoftwaireFails (segfault em apenas um apache), mas isso precisairia de uma configuration decente.

Geral:

'vitalização' SIM! backups, clones, movendo-se

'executando a mesma image várias vezes no mesmo hairdwaire' NÃO (sim também há casos em que isso poderia fazer sentido)

Desempenho: há coisas melhores paira fazer

FaultTolerance: softwaireFails apenas, nada que não pode ser feito meu monint