terça-feira, 17 de junho de 2014

XenServer 6.x - Instalando Updates e Hotfixes via linha de comando

Consideração 1 - Atenção na versão licenciada do XenServer as atualizações podem ser aplicadas pelo XenCenter.
Na versão não licenciada as atualizações só podem ser aplicadas utilizando a linha de comando, porem o processo é bem simples.

Consideração 2 - Se os servidores a serem atualizados pertencerem a um Pool de servidores é recomendável deixar o servidor Master do pool por ultimo para evitar problemas de perda de conexão aos servidores do pool. 

1º Passo - Baixar atualização
  1. Menu--> Tools>Check for Updates
  2. O XenCenter irá listar as atualizações disponíveis e seus respectivos links para download.
  3. Faça o download das atualizações desejadas e salve e descompacte os arquivos das atualizações.

2º Passo - Copiar as atualização para o servidor XenServer

  1. Baixe o WinSCPinstale, execute e preencha em 
    • "Host Name:" ip do servidor
    • "User name:" root
    • "Password:" senha do servidor
  2. O WinSCP irá se conectar ao servidor,
  3. No lado esquerdo localize as atualizações que foram salvas e descompactadas
  4. Arraste os arquivos .xupdates desejados para o /root do servidor no lado direto. 
  5. Obs. a copia dos arquivos para servidor pode ser feita da maneira que preferir.

3º Passo - Aplicar a atualização

  1. Acesse a linha de comando do Servidor, pelo console do XenCenter ou SSH
  2. No comando a seguir faremos o upload do arquivo de atualização desejado para o sistema no caso o arquivo exXS62ESP1005.xsupdate  
  3. xe patch-upload file-name=XS62ESP1005.xsupdate
  4. O comando acima imprime na tela um UUID que identifica a atualização por ex. 59128f15-92cd-4dd9-8fbe-a0115d1b07a2
  5. Copie esse UUID gerado pelo comando anterior.
  6. O próximo comando irá aplicar a atualização utilizando o UUDI:59128f15-92cd-4dd9-8fbe-a0115d1b07a2 e o UUID do host
  7. O UUID da atualização já temos, agora para sabermos o UUID do Host usaremos o seguinte comando 
  8. xe host-list lista os UUIDs dos Hosts, copie o UUID do Host desejado por ex. 9d7fa597-a628-4db8-9928-09f01f9283d4
  9. Agora o comando para aplicar atualização utilizando o UUID da atualização e UUID do Host em que a atualização será instalada
  10. xe patch-apply uuid=59128f15-92cd-4dd9-8fbe-a0115d1b07a2 host-uuid=9d7fa597-a628-4db8-9928-09f01f9283d4

4º Passo - Reiniciar o Servidor

  1. Reiniciar o Servidor
Vídeo ilustrando os procedimentos acima:http://youtu.be/hiU9785ZZ7o

Bonus 1

Se ao aplicar alguma atualização der o o seguinte erro

The patch apply failed.  Please see attached output.
output: <error errorcode="PATCH_PRECHECK_FAILED_UNKNOWN_ERROR">
    <info>Backup files already present - aborting.  If this is invalid, please remove /opt/xensource/patch-backup/0850b186-4d47-11e3-a720-001b2151a503/ and retry.</info>

</error>

Provavelmente o problema é espaço em disco insuficiente em / para o sistema realizar a manobra de atualização.
Para confirmar podemos verificar o espaço em disco com o comando 
df -h

Para liberar espaço faça
 rm -ri /opt/xensource/patch-backup/0850b186-4d47-11e3-a720-001b2151a503/
e confirme tudo com y

e repita o procedimento de aplicação do patch

Bonus2

Caso alguma maquina virtual não iniciar após a aplicação de algum patch, e no log aparecer que o disco virtual não foi encontrado

Error: Starting VM 'CentOS ' - This operation cannot be performed because the specified virtual disk could not be found 

Existe a possibilidade de haver alguma imagem de disco carregada no DVD da maquina virtual

No Xencenter clique na máquina virtual que não inicia, 
clique na aba console,
e clique em Eject no drive de DVD  

E tente iniciar a maquina novamente.