Compartilhar via


Virtualização: Físicos vs. Clusters virtuais

Implantar diversas máquinas virtuais em clusters requer algumas técnicas especiais de gerenciamento e configuração.

Kai Hwang, Jack Dongarra e Geoffrey Fox

Adaptado de "distribuído e computação em nuvem: De processamento paralelo para a Internet das coisas"(Syngress, um selo da Elsevier, 2011)

Clustering é uma técnica eficaz para garantir a alta disponibilidade. É ainda mais eficaz, flexível e eficiente quando combinada com a tecnologia de virtualização. Clusters virtuais são construídos com máquinas virtuais (VMs) instaladas em servidores distribuídos de um ou mais clusters físicos. As VMs em um cluster virtual são logicamente interligadas por uma rede virtual em várias redes físicas.

Clusters virtuais são formadas com máquinas físicas ou uma VM hospedado por vários clusters físicos. Provisionamento VMs para um cluster virtual é feito dinamicamente para ter as seguintes propriedades:

  • Os nós de cluster virtual podem ser máquinas físicas ou VMs. Você pode implantar várias VMs executando sistemas operacionais diferentes no mesmo nó físico.
  • Uma VM executa com um convidado OS (frequentemente diferentes do sistema operacional do host) que gerencia os recursos na máquina física onde a VM é implementada.
  • O objetivo do uso de VMs é consolidar várias funcionalidades no mesmo servidor. Isto reforçará fortemente a flexibilidade de utilização e a aplicação de servidor.
  • Você pode colonizar ou replicar VMs em vários servidores para o fim de promover o paralelismo distribuído, tolerância a falhas e recuperação de desastres.
  • O tamanho (número de nós) de um cluster virtual pode crescer ou diminuir dinamicamente, semelhante a como uma rede de superposição varia em tamanho dentro de uma rede peer-to-peer.
  • Se nenhum nó físico falhar, ele pode desativar alguns das VMs instaladas em nós com falha. No entanto, qualquer falha VM não vai puxar para baixo o sistema host.

Você tem que gerenciar efetivamente VMs em execução em uma massa de nós de computação físicas (também chamado de clusters virtuais) em um ambiente de computação virtualizado de alto desempenho. Isso envolve a implantação de cluster virtual, monitoramento e gerenciamento sobre clusters de larga escala. Você também terá que aplicar agendamento de recursos, o balanceamento de carga, consolidação de servidores, tolerância a falhas e outras técnicas. Em um sistema de cluster virtual, é importante armazenar o grande número de imagens da VM com eficiência.

Existem instalações comuns para a maioria dos usuários ou aplicativos, tais como OS usuário nível ou bibliotecas de programação. É possível pré-instalar esses pacotes de software como modelos (chamados de modelo VMs). Com esses modelos, os usuários podem criar suas próprias pilhas de software. Eles também podem copiar novas instâncias de sistema operacional do modelo VM. Você pode ter componentes específicos do usuário tais como programação de bibliotecas e aplicativos instalados para essas instâncias antecipadamente.

As máquinas físicas (sistemas de host) e VMs (sistemas convidados) podem ser executados com diferentes sistemas operacionais. Você pode ter cada VM instalado em um servidor remoto ou replicados em vários servidores pertencentes a clusters físicos iguais ou diferentes. O limite de um cluster virtual pode alterar como você adicionar, remove ou migra dinamicamente VM nós ao longo do tempo.

Implantação rápida e eficaz de agendamento

O ambiente virtual que você cria deve ser capaz de implantação rápida. Nesta instância, a implantação significa duas coisas: para construir e distribuir software stacks (sistemas operacionais, aplicativos e bibliotecas) para um nó físico dentro de clusters como rápido quanto possível e rapidamente alternar ambientes de tempo de execução de cluster virtual de um usuário para outro. Se um usuário for concluído usando seu sistema, o cluster virtual correspondente deve encerrar ou suspender rapidamente as operações para salvar os recursos para executar outras VMs para outros usuários.

O conceito de "computação verde" recentemente tem atraído muita atenção. No entanto, abordagens anteriores concentraram-se em economia no nível da única estação de trabalho de custos de energia. Eles não tinham uma visão mais ampla. Consequentemente, eles não necessariamente reduziria o consumo de energia do cluster inteiro.

Você só pode aplicar técnicas eficientes de todo o cluster para estações de trabalho homogêneas e aplicações específicas. Ao vivo de migração de VMs permite você transferir cargas de trabalho de um nó para outro. No entanto, ele não garante que as VMs aleatoriamente podem migrar entre si.

Você não pode ignorar o potencial sobrecarga causado por migrações ao vivo de VM. Essa sobrecarga pode ter efeitos negativos graves sobre a utilização de cluster, produtividade e qualidade dos problemas de serviço. Portanto, o desafio é determinar como desenhar estratégias de migração para implementar computação verde sem influenciar o desempenho do cluster.

Outra vantagem para o cluster transmitida pela virtualização é balanceamento de carga de aplicativos em um cluster virtual. Você pode usar o índice de carga e a frequência de logons de usuário para obter um status de balanceamento de carga. Você pode implementar o mecanismo automático de scale-up e escala-para baixo de um cluster virtual, com base neste modelo.

Conseqüentemente, você pode aumentar a utilização de recursos de modo e encurtar o tempo de resposta do sistema. Mapeamento de VMs para o nó físico mais apropriado deve promover o desempenho. Ajustando dinamicamente cargas entre nós por migrar VMs em tempo real é útil quando as cargas de trabalho do nó de cluster tornar-se desequilibrado.

Armazenamento Virtual de alto desempenho

Você pode distribuir o modelo VM para vários hosts físicos no cluster para personalizar VMs. Você também pode usar pacotes de software existente para reduzir o tempo para personalização. É importante gerenciar de forma eficiente o espaço em disco ocupado por seus pacotes de software do modelo. Com cuidado pode projetar a arquitetura de armazenamento para reduzir os blocos duplicados em um sistema de arquivos distribuídos de clusters virtuais e usar valores de hash para comparar o conteúdo dos blocos de dados.

Os usuários terão seus perfis que armazenam dados bloco identificação para VMs correspondentes em um cluster virtual específico do usuário. Quando os usuários modificar os dados correspondentes, são criados novos blocos de dados. Blocos recém-criado são identificados em perfis de usuário.

Basicamente, existem quatro etapas para implantar um grupo de VMs em um cluster de destino:

  1. Prepare a imagem de disco.
  2. Configure os VMs.
  3. Escolha destino nós.
  4. Execute o comando de implantação VM em cada host.

Muitos sistemas usam modelos para simplificar o processo de preparação de imagem de disco. Um modelo é uma imagem de disco que inclui um sistema operacional pré-instalado com ou sem determinado software aplicativo. Os usuários escolher um modelo adequado de acordo com suas necessidades e fazem uma duplicata como sua própria imagem de disco.

Modelos poderiam usar a cópia em formato de gravação (vaca). Um novo arquivo de backup de vaca é muito pequeno e fácil de criar e transferir. Portanto, ele definitivamente reduz o consumo de espaço em disco. Ele também reduz o tempo de implantação VM, tornando-se muito mais eficiente do que copiar o arquivo de imagem totalmente cru.

Cada VM é configurado com um nome, imagem de disco, configuração de rede, alocada da CPU e memória. Você precisará registrar cada configuração de VM em um arquivo. No entanto, este é ineficiente ao gerenciar um grande número de VMs. VMs com as mesmas configurações poderiam usar perfis de pré-edição para simplificar o processo. O sistema deveria configurar os VMs de acordo com o perfil escolhido.

A maioria dos itens de configuração usam as mesmas configurações. Alguns deles — como o UUID, VM nome e endereço IP — são atribuídos automaticamente com valores calculados. Normalmente, os usuários não se importam qual host está executando sua VM.

Ao considerar a sua estratégia para a escolha de seu host de destino da VM, tenha em mente o princípio de deployment geral, que é para atender suas necessidades de capacidade VM, mas também para cargas de trabalho de equilíbrio em toda a rede do host. Dessa forma, você vai chegar a um equilíbrio eficiente entre os recursos disponíveis e a sua carga de trabalho.

Kai Hwang

Kai Hwang é professor de computador engenharia pela University of Southern California e um professor de cadeira visitante para a Universidade de Tsinghua, China. Ele obteve um pH.d. na CEC da Universidade da Califórnia, Berkeley. Ele publicou extensivamente na arquitetura de computador, aritmética digital, paralelo sistemas de processamento, distribuídos, segurança da Internet e computação em nuvem.

Jack Dongarra

Jack Dongarra é um ilustre professor de Universidade de engenharia elétrica e ciência da computação da Universidade do Tennessee, uma equipe de investigação distinto no Oak Ridge National Laboratory e transformando Fellow na Universidade de Manchester. Dongarra pioneira em áreas de pontos de referência de supercomputador, análise numérica, solucionadores de problemas de álgebra linear e computação de alto desempenho e publicou extensivamente nessas áreas.

Geoffrey Fox

Geoffrey Fox é um ilustre professor de informática, computação e física e associar Pró-Reitoria de pós-graduação e pesquisa em escola de informática e computação na Universidade de Indiana. Ele recebeu seu Ph.d. da Universidade de Cambridge, Reino Unido. Fox é bem conhecido por seu trabalho abrangente e extensas publicações na arquitetura paralela, programação distribuída, grid computing, serviços Web e aplicativos da Internet.

© 2011 Elsevier Inc. Todos os direitos reservados. Impresso com permissão da Syngress, um selo da Elsevier. Copyright 2011. "Distribuídos e computação em nuvem: Do paralelo de processamento para a Internet das coisas"por Kai Hwang, Jack Dongarra, Geoffrey Fox. Para obter mais informações sobre esse título e outros livros semelhantes, por favor visite elsevierdirect.com.

 

Conteúdo relacionado