Computação em nuvem: Clusters virtuais

Clusters virtuais transmitem certas vantagens sobre clusters de físicas em termos de velocidade, flexibilidade e armazenamento.

Kai Hwang, Jack Dongarra e Geoffrey Fox

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

Existem várias diferenças e semelhanças entre clusters virtuais e físicos, diferentes benefícios e transmitidos por cada um. Um cluster físico é uma coleção de servidores (máquinas físicas) conectados por uma rede física como uma LAN. Clusters virtuais têm diferentes propriedades e aplicações potenciais. Existem três problemas de concepção crítica de clusters virtuais: Live migração de máquinas virtuais (VMs), migrações, memória e arquivo e dinâmica implantação de clusters virtuais.

Quando você inicializar um VM tradicional, você precisa escrever informações de configuração ou especificar as fontes de configuração manualmente. Quando mais VMs aderir a uma rede, uma configuração ineficiente sempre causa problemas de sobrecarga ou subutilização. Amazon Elastic Compute Cloud (EC2) é um bom exemplo de um serviço Web que fornece a capacidade de computação elástica em uma nuvem. EC2 permite aos clientes criar VMs e gerenciar contas de usuário ao longo do tempo da sua utilização.

Maioria das plataformas de virtualização oferecem suporte a um modo de ponte que permite que todos os domínios aparecem na rede como hosts individuais. Usando este modo, VMs podem se comunicar uns com os outros livremente através da placa de rede virtual e configurar a rede automaticamente.

Físicas vs. Clusters virtuais

Clusters virtuais são criados com VMs instalados em servidores distribuídos a partir de um ou mais clusters de físicas. As máquinas virtuais em um cluster virtual são logicamente conectadas por uma rede virtual em várias redes físicas. Cada cluster virtual é formado com máquinas físicas ou uma máquina virtual hospedada por vários clusters de físicos. Os limites de cluster virtual são limites distintos.

Dinamicamente o provisionamento VMs para um cluster virtual, apresenta as seguintes propriedades:

  • Os nós de cluster virtual podem ser máquinas físicas ou VMs, e claro, você pode ter várias VMs executando sistemas operacionais diferentes no mesmo nó físico.
  • Uma VM é executado com um sistema operacional, que muitas vezes é diferente do sistema operacional que gerencia os recursos na máquina física que a VM está executando o host convidado.
  • A finalidade do uso de VMs é consolidar várias funcionalidades no mesmo servidor, o que melhora muito a flexibilidade de utilização e aplicação de servidor.
  • Você pode ter VMs replicados em vários servidores com a finalidade de promover o paralelismo distribuído, tolerância a falhas e recuperação de desastres.
  • O número de nós em um cluster virtual pode crescer ou diminuir dinamicamente, semelhante à maneira como uma rede de sobreposição varia de tamanho em uma rede peer-to-peer.
  • A falha de qualquer nó físico pode desabilitar algumas VMs instalados em nós com falha, mas falha VM não vai puxar para baixo o sistema host.

Você precisará considerar estratégias eficazes para gerenciar VMs rodando em uma massa de nós de computação físicas (também chamado de clusters virtuais). Isso envolve a implantação de cluster virtual e monitoramento e gerenciamento de clusters de larga escala, bem como agendamento de recursos, balanceamento de carga, consolidação de servidores, tolerância a falhas e outras táticas. Em um sistema de cluster virtual, você também terá um grande número de imagens VM, e é essencial para determinar como armazenar essas imagens com eficiência.

Existem instalações comuns para a maioria dos usuários ou aplicativos, tais como sistemas operacionais, ou bibliotecas de programação de nível de usuário. Você pode pré-instalar estes como modelos (chamados 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, como bibliotecas e aplicativos instalados para aqueles casos de programação.

Você pode instalar cada VM em um servidor remoto ou replicar VMs em vários servidores pertencentes a clusters físicos iguais ou diferentes. O limite de um cluster virtual pode mudar como VM nós são adicionados, removidos ou migrados dinamicamente ao longo do tempo.

Implantação rápida e eficaz de agendamento

O sistema de cluster virtual deve ter a capacidade de implantação rápida. Neste caso, a implantação significa ser capaz de construir e distribuir stacks de software (incluindo sistemas operacionais, aplicativos e bibliotecas) para um nó físico dentro clusters tão rápidos quanto possível. Isso também significa a capacidade de alternar rapidamente ambientes de execução de cluster virtual de um usuário para cluster virtual de outro usuário. Se um usuário termina de usar o seu sistema, o cluster virtual correspondente deve encerrar ou suspender rapidamente para salvar os recursos para executar outras VMs para outros usuários.

O conceito de "computação verde" tem atraído muita atenção recentemente. No entanto, abordagens anteriores concentraram-se sobre como salvar o custo de energia de componentes em uma única estação de trabalho sem uma visão global. Conseqüentemente, eles não necessariamente reduzem o consumo de energia de todo o cluster. Clusters virtuais podem ir um longo caminho para realizar isso.

Outras técnicas de eficiência energética de todo o cluster só são aplicáveis para estações de trabalho homogêneas e aplicações específicas. A migração de VMs permite transferir as cargas de trabalho de um nó para outro nó. No entanto, ele não garante que você aleatoriamente pode migrar máquinas virtuais entre si. Na verdade, você não pode ignorar o potencial sobrecarga causado por migrações ao vivo das VMs.

A sobrecarga pode ter graves efeitos negativos sobre a utilização de cluster, produtividade e qualidade de questões de serviço. Então, o desafio é determinar como criar estratégias de migração para implementar computação verde sem influenciar o desempenho de clusters.

Outra vantagem da virtualização é balanceamento de aplicativos em um cluster virtual. Você pode conseguir o balanceamento de carga usando o índice de carga e freqüência de logons de usuário. O mecanismo automático de scale-up e escala-para baixo de um cluster virtual pode ser implementado com base neste modelo.

Conseqüentemente, você pode aumentar a utilização de recursos do nó e encurtar o tempo de resposta do sistema. Mapeamento de VMs para o nó físico mais adequado deve também promover o desempenho. Ajustando dinamicamente as cargas entre nós por migração ao vivo de VM é uma abordagem desejável quando desequilibrou-se, as cargas em nós do cluster.

Alta Performance de armazenamento Virtual

Você pode distribuir o modelo VM para vários hosts físicos dentro do cluster para personalizar outras VMs. Além disso, pacotes de software pre-projetados reduzem o tempo necessários para a personalização e alternar entre ambientes virtuais. É importante gerir de forma eficiente os espaços do disco.

Você pode aplicar algum projeto de arquitetura de armazenamento para reduzir os blocos duplicados dentro de um sistema de arquivos distribuídos de clusters virtuais. Use valores de hash para comparar o conteúdo dos blocos de dados. Os usuários têm seus próprios perfis que armazenam dados bloco identificação correspondente VMs dentro de um cluster virtual do usuário específico. Quando os usuários modificam os dados correspondentes, ele cria novos blocos de dados. Blocos recém-criado são então identificados nos perfis dos usuários.

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

  1. Preparar a imagem de disco
  2. Configurar os VMs
  3. Escolher os destino nós
  4. Executar o comando de implantação de 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 de operacional pré-instalado com ou sem determinado software de aplicação.

Os usuários escolher um modelo adequado de acordo com suas necessidades e fazem um backup para usar como sua imagem de disco. Modelos poderiam implementar a cópia no formato de escrever (vaca). Um novo arquivo de backup de vaca é pequeno e fácil de criar e transferir. Portanto, definitivamente reduz consumo de espaço em disco.

Tempo de implantação de VM é muito menor do que a cópia do arquivo de imagem raw todo. Cada VM é configurado com um nome de imagem de disco, configuração de rede e alocado CPU e memória. Basta gravar cada configuração da VM em um arquivo.

Este método pode ser ineficiente, no entanto, ao gerenciar um grande grupo de VMs. VMs com as mesmas configurações poderiam usar perfis pré-editado para simplificar o processo. Nesse cenário, o sistema configura os VMs de acordo com o perfil escolhido.

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

Você vai precisar de uma estratégia para escolher o host de destino adequado para qualquer VM. O princípio de sua estratégia de implantação é para atender à necessidade de VM e equilibrar cargas de trabalho entre a rede de toda série.

Kai Hwang

Kai Hwang é professor de computador engenharia da University of Southern California e um Professor visitando da cadeira de Tsinghua University, China. Obteve o doutorado no CEC de University of California, Berkeley. Publicou extensivamente em aritmética digital, arquitetura de computadores, sistemas distribuídos, processamento, segurança de Internet em paralelo e computação em nuvem.

Jack Dongarra

Jack Dongarra é um Professor distinto de engenharia elétrica da Universidade e ciência da computação para a Universidade do Tennessee, uma equipa de investigação distinto no Oak Ridge National Laboratory e transformando Fellow na Universidade de Manchester. Dongarra pioneiro em áreas de benchmarks 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 distinto Professor de informática, computação e física e associar o decano 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 extensivas publicações de arquitetura paralela, programação distribuída, grid computing, serviços Web e aplicativos de Internet.

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

Conteúdo relacionado