Marllus
Marllus Cientista da computação, mestre em políticas públicas, professor, poeta, escritor, artista digital e aspirante a tudo que lhe der na telha.

Pools no XenServer 6.5

Pools no XenServer 6.5
Photo by Fábio Hanashiro

Um pool de recursos é um termo usado para designar um grupo de instalações XenServer (hosts xen). Esse grupo pode ser um laboratório de hosts xen de teste, produção ou qualquer outro conjunto de servidores em operação para um determinado fim.

Em todo e qualquer pool existirá o membro master (host que roteia a comunicação para outros membros do pool quando necessário) e os restantes slaves. Cada membro têm consigo um base de dados que contém informações a respeito de todos os membros existentes no pool, ou seja, qualquer host no pool sabe quem é master e quem é slave e quem está no pool.

Quando neste pool existe um storage compartilhado, que é um local onde todos os hosts xen têm acesso para leitura/escrita de dados, VMs podem ser migradas, (quase) sem dowtime, entre estes hosts. Essa migração é o recurso no XenServer chamado XenMotion. Se a característica de Alta Disponibilidade (HA) estiver habilitada no pool e um host xen falhar/desligar/se perder/bugar, qualquer VM (definida por você) será movida automaticamente para outro host xen vivo, bem como um novo host membro master será eleito, se este host perdido for o membro master do pool. O limite máximo é de 16 hosts xen em um mesmo pool.

Existem dois tipos de pools, os homogêneos e os heterogêneos.

Em um pool homogêneo, as seguintes características são necessárias:

– As CPU’s de todos os hosts xen no pool devem ser as mesmas (em modelo, marca e características);

– Todos os hosts xen devem ter a mesma versão de software XenServer, bem como os mesmos hotfixes (updates) aplicados;

Já em um pool heterogêneo:

– As CPU’s de todos os hosts xen precisam ter somente os mesmos fabricantes (ex. AMD, Intel).

– As CPU’s de todos os hosts xen devem ter suporte à tecnologia Intel FlexMigration (em caso de CPU’s Intel) ou AMD Enhanced Migration (em caso de CPU’s AMD);

– Todos os hosts xen devem ter a mesma versão de software XenServer, bem como os mesmos hotfixes aplicados;

Você deve estar se perguntando qual tipo de pool utilizar, se homogêneo ou heterogêneo. O recomendável é usar CPU’s com o máximo de equivalência possível, assim, a compatibilidade é melhor aproveitada entre elas, possibilitando transtornos mínimos em processo migratórios que possam vir a calhar no ambiente. Isso reforça a ideia de hoje ainda não ser trivial uma total compatibilidade entre CPU’s distintas. Estas tecnologias supracitadas, como FlexMigration (Intel), nada mais são que “gambiarras tecnológicas” criadas afim de resolverem parte destes problemas. No futuro, eu espero que a informação em tornos das CPU’s seja totalmente abstrata (de forma nativa) para o sistema operacional, consequentemente para a compilação de aplicações e VM’s em ambientes virtualizados. Sem dúvida isso facilitará, e muito, o processo de realocação de serviços neste tipo de infra-estrutura, tão volátil que é.

Abaixo eu listo uma série de requisitos necessários (e obrigatórios) ao host xen para se criar um pool homogêneo.

– Ele não deve ser membro de um pool já existente;

– Ele não deve ter nenhum storage compartilhado configurado;

– Caso o pool já tenha sido criado e você queira adicionar um host ao mesmo, este host não deve ter nenhuma VM rodando ou em estado de suspensão ou nenhuma operação ativa em progresso na VM, como um desligamento, por exemplo;

Outros requisitos bem importantes, que também devem ser seguidos:

– Cheque se o serviço de tempo está sincronizado entre todos os hosts (use algum servidor NTP confiável, se possível);

– Não configure bond na interface de rede de gerência (se for fazer isso, faça após a criação do pool);

– Certifique-se que o ip de gerência do pool é estático (configurado manualmente ou “amarrando” por DHCP);

Passos para se criar um pool:

Abra o XenCenter e siga os passos abaixo:

  1. Abra a caixa de diálogo “New Pool” e depois clique na toolbar “New Pool”.

  2. Coloque um nome para o novo pool e uma descrição opcional e selecione o servidor que será o pool master. Adicione também o restante dos servidores que comporão o pool, através da lista de membros adicionais que aparecerá ou adicionando um novo membro através do botão “Add New Server”.

  3. Clique em “Create Pool” para criar o pool e feche a caixa de diálogo

  4. Pronto, pool criado!

Para adicionar um host a um pool já criado:

  1. Clique com o botão direito em cima do pool e vá opção “Add Server”.

  2. Na janela que abrirá, digite o ip do servidor e as credenciais do mesmo e clique em “Add”.

  3. Pronto, servidor adicionado!

Informação adicional:

A Citrix recomenda que você tenha um storage compartilhado em mãos antes de criar um pool, pois este é um pré-requisito para você poder utilizar a maioria dos recursos (além de outros) que citei no início do artigo.

Referências:

http://docs.citrix.com/en-us/xencenter/6-5/xs-xc-pools/xs-xc-pools-about.html

http://docs.vmd.citrix.com/XenServer/6.5.0/1.0/en_gb/reference.html#hosts_and_pools

Licença Creative Commons
Este trabalho de Marllus, está licenciado com uma Licença Creative Commons – Atribuição-CompartilhaIgual 4.0 Internacional.