Pesquisa de site

XenServer 7 – Atualização de pool via CLI e interface Web XenCenter


O primeiro artigo desta série XenServer 7 abordou como instalar/atualizar um único host XenServer. A maioria das instalações do XenServer provavelmente estará em um pool de muitos hosts XenServer.

Este artigo cobrirá o processo de atualização completa do pool XenServer. O componente final cobrirá algumas tarefas domésticas com os convidados em execução nos hosts XenServer.

Requisitos de sistema

  1. XenServer 7 ISO: XenServer-7.0.0-main.iso

Antes de prosseguir, sugiro que você verifique estas duas seções Requisitos do sistema e Adições sugeridas pelo autor em nosso primeiro artigo do Xen Server 7 em:

  1. Nova instalação do XenServer 7

ISENÇÃO DE RESPONSABILIDADE

O objetivo deste artigo é percorrer uma atualização do pool XenServer. Existem várias maneiras de realizar o processo de atualização e a solução “correta” para qualquer instalação específica dependerá fortemente da organização.

A Citrix possui um documento muito detalhado que deve ser revisado antes do início do processo de atualização: xenserver-7-0-installation-guide.pdf

Atualização do conjunto XenServer

Sem dúvida, a maioria das instalações do XenServer provavelmente faz parte de um conjunto de XenServers. Isso complica um pouco o processo de atualização. Embora a opção de ir manualmente para cada servidor e atualizar cada um deles seja uma opção, a Citrix tem uma maneira muito mais fácil de fazer isso através do uso de uma atualização do Rolling Pool através da versão mais recente do XenCenter ou através do ferramenta de linha de comando 'xe'.

De acordo com a documentação da Citrix, uma atualização de pool pode ser realizada em qualquer versão do XenServer 6.x ou superior para a versão 7. Se um host XenServer estiver executando uma versão anterior a 6.x, então o host precisará seguir o caminho de atualização apropriado para XenServer 6.2 e então poderá ser atualizado para XenServer 7.0.

Para fazer a atualização do Rolling Pool, a versão mais recente do XenCenter precisa ser baixada do Citrix. O download pode ser localizado aqui: XenServer-7.0.1-XenCenterSetup.exe

Conforme mencionado na série XenServer 6.5, o XenCenter ainda é um utilitário exclusivo para Windows. A atualização do pool também pode ser feita por meio da CLI para aqueles que não têm acesso a uma máquina Windows para executar o XenCenter.

Este artigo detalhará ambos os métodos (XenCenter e CLI com o utilitário xe).

NOTA – Antes de fazer uma atualização de pool, duas coisas devem ser observadas. A atualização contínua do pool não deve ser feita com inicialização a partir de configurações SAN e o Integrated StorageLink foi removido das versões do XenServer 6.5 e superiores.

Independentemente do método usado, XenCenter ou CLI, o primeiro passo é desabilitar a alta disponibilidade do pool, parar todas as máquinas virtuais convidadas não essenciais, garantir que os hosts XenServer tenham recursos suficientes memória para suportar os convidados que precisam continuar em execução durante a atualização (ou seja, sem provisionamento excessivo), os hosts também precisam de espaço suficiente no disco rígido para o XenServer 7, garantem que as unidades de CD/DVD de todos os convidados estejam vazias e é fortemente incentivamos que seja feito um backup do estado atual do pool.

Vamos começar o processo.

Atualização do pool da CLI

1. Certifique-se de ter lido os 5 parágrafos anteriores, pois eles descrevem algumas informações muito importantes para o processo de atualização! Também é altamente recomendável que os usuários leiam o guia de instalação localizado aqui: xenserver-7-0-installation-guide.pdf. As instruções e avisos para atualização começam na página 24.

2. O primeiro passo tecnológico real é fazer backup do status do pool com a ferramenta 'xe'. Usando uma conexão SSH com o host mestre do pool Xen, o seguinte comando ‘xe’ pode ser executado.

xe pool-dump-database file-name="Xen Pool.db"

Com o backup do banco de dados, copie o arquivo do host mestre para garantir que uma cópia esteja disponível no caso de falha na atualização. O comando a seguir copiará o arquivo Xen Pool.db do XenServer remoto identificado por e colocará o arquivo na pasta Downloads do usuário atual.

scp 'root@<XenServer_ip>:~/”Xen pool.db”'  ~/Downloads/

3. Após o backup do banco de dados do pool, o mestre precisa migrar todos os convidados para outros hosts no pool e, em seguida, o mestre precisa ser desabilitado com o seguinte 'xe'< comandos:

xe host-evacuate host=<hostname of master>
xe host-disable host=<hostname of master>

Agora o host precisa ser reinicializado localmente a partir da mídia de instalação do XenServer 7. Neste ponto, a atualização segue muitas das mesmas partes da atualização de host único anteriormente neste artigo.

Tenha certeza absoluta de que ATUALIZAR foi escolhido ao passar pelas etapas do instalador! Para maior clareza, neste ponto, as etapas 1-6 e depois 15-19 no artigo “XenServer 7 – Nova instalação” devem ser realizadas neste estágio.

O processo de instalação leva cerca de 12 minutos, então navegue até https://linux-console.net para ler outro artigo enquanto aguarda a conclusão da instalação. Assim que a instalação for concluída, reinicie o master e remova a mídia de instalação.

4. Enquanto o master está reiniciando, certifique-se de que ele não exiba nenhum erro e que inicialize na tela do console do XenServer. Esta é uma boa indicação de uma atualização bem-sucedida, mas as coisas ainda não foram feitas. Faça SSH novamente no sistema mestre e verifique se ele está realmente executando a nova versão do XenServer com um dos seguintes comandos:

cat /etc/redhat-release
uname -a

5. Sucesso! Este pool master agora foi atualizado. Neste ponto, mova todos os convidados para este host conforme necessário e prossiga para o próximo host XenServer repetindo a etapa três, exceto substituindo o nome do host do próximo host a ser atualizado.

xe host-evacute host=<hostname of pool slave>
xe host-disable host=<hostname of pool slave>

6. Continue as etapas 3 a 5 para os escravos restantes no pool.

7. Neste ponto é CRUCIAL aplicar mais uma atualização. A Citrix lançou um patch para resolver problemas em que a perda e a corrupção de dados eram possíveis em determinadas circunstâncias.

APLICAR ESTE PATCH AGORA! Este patch requer que os hosts XenServer também sejam reinicializados. As instruções para fazer isso por meio do XenCenter estão localizadas posteriormente neste artigo.

Para fazer isso por meio da CLI de um host XenServer, baixe o patch e emita os seguintes comandos ‘xe’:

wget -c http://support.citrix.com/supportkc/filedownload?uri=/filedownload/CTX214305/XS70E004.zip
unzip XS70E004.zip
xe patch-upload file-name=XS70E004.xsupdate
xe patch-apply uuid=<UUID_from_above_command>
xe patch-pool-apply uuid=<UUID_from_above_command> - only applies to a XenServer pool and must be run from the pool master

8. Depois que todos os hosts no pool forem atualizados, os convidados precisarão ter as ferramentas de convidado do XenServer atualizadas. As etapas para fazer isso estão no final deste artigo.

Atualização de pool do XenCenter

Para aqueles que têm acesso a uma máquina Windows para executar o XenCenter, uma atualização do Rolling Pool pode ser realizada através do aplicativo XenCenter.

A vantagem de usar o XenCenter é que muitas das tarefas e verificações que precisavam ser feitas manualmente nas instruções anteriores agora serão realizadas automaticamente pelo XenCenter.

O assistente de atualização do pool contínuo no XenCenter tem dois modos; manual e automático. No modo manual, o instalador do XenServer 7 deve ser colocado em cada host XenServer individual no momento da atualização (ou seja, um USB ou CD inicializável).

Ao usar o modo automático, o assistente usará arquivos localizados em algum tipo de compartilhamento de arquivos de rede, como HTTP, NFS ou servidor FTP. Para usar este método, os arquivos de instalação da iso de instalação do XenServer devem ser descompactados no servidor de arquivos em rede apropriado e disponibilizados aos hosts do XenServer.

Este guia não detalhará o processo de configuração de um servidor HTTP, mas percorrerá o processo de extração do conteúdo ISO para permitir uma atualização automática.

Extraindo arquivos de instalação do XenServer para o servidor HTTP

Esta seção assumirá que o usuário possui um servidor HTTP funcional com uma raiz da web definida como ‘/var/www/html‘. Esta seção também assumirá que o arquivo iso do XenServer 7 foi baixado e reside na pasta raiz da web.

A primeira etapa para configurar os arquivos de instalação deste artigo é montar o iso, para que os arquivos do instalador possam ser colocados no webroot. A segunda etapa é criar uma pasta para os arquivos do instalador e depois copiar os arquivos para essa pasta.

Todas as etapas podem ser realizadas da seguinte forma:

mount XenServer-7.0.0-main.iso /mnt
mkdir /var/www/html/xenserver
cp -a /mnt/. /var/www/html/xenserver

Neste ponto, navegando até o endereço IP do servidor e a pasta xenserver, os materiais de instalação deverão ser exibidos no navegador.

Atualização contínua do pool com XenCenter

1. O primeiro passo é reler os parágrafos abaixo do título Atualização do pool XenServer anteriormente neste documento! Isso é extremamente importante, pois esses parágrafos detalharão detalhes sobre a atualização para ajudar na transição de versões mais antigas do XenServer.

2. A primeira etapa tecnológica é fazer backup do estado atual do pool usando um comando ‘xe’ do mestre do pool. Usando uma conexão SSH ou console XenCenter com o host mestre do pool Xen, o seguinte comando ‘xe’ pode ser executado.

xe pool-dump-database file-name="Xen Pool.db"

Com o backup do banco de dados, é altamente recomendável que uma cópia seja feita do mestre para que, no caso de falha na atualização, o mestre/pool possa ser revertido ao estado original.

3. Certifique-se de que a versão mais recente do XenCenter esteja instalada. O link para download é o seguinte: XenServer-7.0.1-XenCenterSetup.exe.

4. Depois que o banco de dados do pool for salvo e a versão mais recente do XenCenter instalada, a atualização do pool poderá começar. Abra o XenCenter e conecte-se ao pool que precisa da nova versão do XenServer. Uma vez conectado ao pool master, navegue até o menu ‘Ferramentas’ e selecione ‘Rolling Pool Upgrade…’.

5. Certifique-se de ler os avisos no primeiro prompt. A etapa mencionada aqui é o backup do banco de dados do pool que foi realizado na etapa um da seção “Atualização contínua do pool com XenCenter” deste artigo.

6. A próxima tela solicitará que o usuário selecione os pools que deseja atualizar. Cada pool ao qual o XenCenter está conectado pode ser selecionado. Para simplificar, um pequeno conjunto de testes foi usado nesta documentação.

7. A próxima etapa permite que o usuário selecione os modos ‘Automático‘ ou ‘Manual‘. Novamente, este artigo percorre o método automático e assume que um servidor HTTP está disponível e tem o conteúdo ISO do XenServer extraído em uma pasta chamada 'xenserver' nesse servidor HTTP.

8. Neste ponto, o XenCenter executará uma série de verificações para garantir que todos os hosts tenham os patches/hotfixes apropriados e verificará se a atualização provavelmente será bem-sucedida.

Dependendo do ambiente, esta provavelmente será a etapa em que os problemas ocorrerão. Dois problemas foram encontrados, mas o autor neste momento. Resoluções foram encontradas e esperamos que ajudem outras pessoas.

O primeiro problema enfrentado foi a necessidade de aplicação de dois patches aos hosts XenServer. O XenCenter fará isso se o usuário decidir fazê-lo, no entanto, como o autor e outros já experimentaram, esta etapa nem sempre é concluída corretamente e pode impedir que a próxima etapa funcione corretamente.

Se o XenCenter afirma que todos os patches foram aplicados, mas o usuário recebe “URL inválido para arquivos do instalador” na próxima tela, o autor conseguiu fazer com que o erro desaparecesse reiniciando o XenServer mestre.

Para ler mais sobre o problema, veja a discussão da Citrix no seguinte URL: XenServer 7 URL inválido para arquivos do instalador.

O outro problema ocorrido neste momento foi um aviso do XenCenter sobre uma VM local sendo armazenada no host mestre do XenServer. Esta VM local impediria que o instalador do XenServer particionasse novamente os hosts com o novo esquema de partição GPT.

Depois de muita pesquisa, percebeu-se que um backup de metadados do pool estava sendo armazenado no armazenamento local do host mestre. Depois que foi movido para outro local, o instalador deixou de ver quaisquer problemas.

9. Assim que as pré-verificações forem concluídas, o instalador solicitará a localização dos arquivos de instalação. Este artigo utiliza um servidor HTTP para fornecer os arquivos de instalação aos hosts XenServer e, como tal, o instalador precisa ser informado sobre a localização desses arquivos.

Nas caixas, forneça as informações necessárias do caminho do servidor, bem como as credenciais necessárias para conectar-se e pressione o botão 'Testar' para garantir que o XenCenter possa acessar os arquivos. Se a marca de seleção verde for exibida, a mídia de instalação foi localizada e pode ser usada.

10. Quando tudo estiver pronto, clique no botão ‘Iniciar atualização’. Isso iniciará o processo começando com o mestre do pool.

NOTA – Certifique-se de que a rede de gerenciamento dos hosts XenServer tenha DHCP. Quando o instalador reinicializar os hosts, ele tentará obter um endereço IP via DHCP.

11. Neste ponto, seria sensato começar a almoçar ou dar continuidade a outras tarefas. Este processo demorará um pouco. Se o acesso a um monitor local ou sistema KVM estiver disponível nos hosts XenServer, o administrador poderá observar o processo de instalação e ver se tudo está funcionando como deveria.

12. O processo de instalação neste cluster de teste de quatro hosts levou aproximadamente duas horas para ser concluído. Assim que a instalação for concluída, certifique-se de atualizar as ferramentas para convidados em todos os convidados no pool.

Certifique-se também de verificar se o pool foi completamente atualizado, observando a guia ‘Geral’ do pool no XenCenter ou conectando-se manualmente a cada host XenServer.

Algumas tarefas de acompanhamento também podem ser necessárias neste momento. O autor teve alguns problemas com as interfaces virtuais em alguns convidados ao tentar iniciá-los após a atualização do pool.

Acontece que algumas das configurações de rede do pool não foram traduzidas durante o processo de instalação. Todos os servidores tinham 4 interfaces físicas (PIFs) e em dois dos servidores um par de PIFs deixou de ser ativado na inicialização.

Isso causou muita dor, mas felizmente outros tiveram problemas semelhantes e foi fácil encontrar uma solução. Os servidores em questão eram Dell Power Edge 2950 com NICs Broadcom BCM5708 integradas.

Tudo o que foi necessário foi reverter os sistemas para o XenServer 6.5 e depois aplicar a atualização do site da Dell. O autor sugere fortemente garantir que todas as atualizações de firmware tenham sido aplicadas a todos os sistemas que serão atualizados para a versão mais recente do XenServer para ajudar a evitar problemas.

Para ler mais sobre este tópico, revise o tópico na página de discussão da Citrix: Atualização do XenServer 7 sem rede integrada.

O problema original antes de atualizar o firmware nas NICs BCM5708

Anote a versão do firmware, bem como a atribuição de PIF fora de serviço.

interface-rename -l

O firmware corrigido e a reatribuição de PIF usando o utilitário de renomeação de interface

Observação que o firmware foi atualizado e a ordem do PIF também está correta.

interface-rename -l

13. Neste ponto, todos os hosts XenServer devem estar disponíveis e de volta à configuração de pool adequada. Neste ponto é CRUCIAL aplicar mais uma atualização. A Citrix lançou um patch para resolver problemas em que a perda e a corrupção de dados eram possíveis em determinadas circunstâncias. APLICAR ESTE PATCH AGORA!

Aplicando o patch crítico do XenServer 7 XS70E004

Assim como exigido no novo artigo de instalação, uma atualização do pool também exigirá que esse patch crítico do XenServer 7 seja aplicado ao pool para garantir a integridade dos dados.

Para aplicar o patch, siga as etapas 20 a 26 no novo XenServer 7, este guia aqui: Aplicando o patch crítico do XenServer 7.

Isso conclui o processo de atualização/instalação do XenServer nos hosts. Neste ponto, os repositórios de armazenamento e as máquinas virtuais devem ser reimportados, configurados e testados.

A próxima seção cobrirá a tarefa final de atualização das ferramentas de convidado do XenServer nos convidados virtuais.

Atualizando ferramentas convidadas do XenServer

1. A tarefa final de acompanhamento é garantir que os convidados possam ser reiniciados, bem como garantir que eles tenham os utilitários convidados mais recentes instalados. Isso pode ser feito facilmente seguindo as próximas etapas.

2. O primeiro passo é anexar o guest-tools ISO à unidade de DVD de um dos convidados virtuais.

3. Depois que o XenServer anexar o guest-tools.iso ao convidado, certifique-se de que o convidado reconheça o novo disco. Este exemplo irá percorrer um convidado Debian e a instalação das ferramentas.

Na saída abaixo, o disco de utilitários convidados foi mapeado como ‘xvdd’.

4. Este dispositivo pode ser montado rapidamente usando o utilitário mount da seguinte forma:

mount /dev/xvdd /mnt

5. Depois que o dispositivo for montado, dpkg poderá ser usado para instalar as novas ferramentas convidadas da seguinte maneira:

dpkg -i /mnt/Linux/xe-guest-utilities_7.0.0-24_all.deb

6. Durante a instalação, os arquivos apropriados serão instalados e o daemon xe será reiniciado em nome do sistema.

Para confirmar através do XenCenter que a atualização foi bem-sucedida, vá para a guia ‘Geral’ da máquina convidada e procure a propriedade chamada ‘Estado de Virtualização:’.

Uau… Se você sobreviveu tanto tempo, esperamos que o XenServer 7 esteja instalado, corrigido e os convidados também sejam atualizados! Se você tiver alguma dúvida ou problema, poste nos comentários abaixo e forneceremos ajuda o mais rápido possível.