Update VMware ESXi 4.1 com vCLI

Não é só de banco de dados que vive um DBA, as vezes temos que dar manutenção em diversos ambientes. Temos que nos preocupar com updates do sistema operacional, placa de rede, Storage e afins.

Recentemente tive que fazer uma atualização de um servidor com VMware onde era utilizado o ESXi 4.1. Infelizmente por ser ESXi algumas funcionalidades interessantes não estavam habilitadas, uma delas era o vCenter para gerência dos updates de forma centralizada.

Assim, tive que aplicar o update “na mão”. Como não é algo trivial resolvi compartilhar os passos para que possa auxiliar alguém que esteja na mesma situação. Aqui o update é para o ESXi 4.1 realizado de forma remota e atualizando para o último update. Os passos aqui descritos podem ser utilizados para qualquer update disponível no site da VMware, podendo ser um update completo ou um simples patch bundle.

Para começar a aplicação do update o vCLI (VMware Comand Line Interface) precisa estar instalado no computador (não no servidor). Como será realizado remotamente precisamos de um computador com Windows (ou Linux) para aplicar o update, ele também irá hospedar o arquivo do update. O vCLI pode ser encontrado no seguinte link e a sua última versão contêm os comando necessários para atualizar desde o VMware 4.0 até o 5.1.

Após instalar o vCLI é necessário verificar qual a versão corrente do ESXi, para isso basta logar no servidor com o vShpere Client. Após o login temos a tela de gerenciamento do VMware e lá está presente a versão que está rodando no servidor. No menu central logo acima as abas de gerenciamento temos a informação da versão, no meu caso era a ESXi 4.1.0 348481. Na imagem abaixo isso está marcado em vermelho.

Update-VMware-4-01

Após descobrir a versão temos que fazer download do update, todos são encontrados no site do VMware e onde também identificamos a versão necessária. Cada update do VMware tem um código que representa o seu Build Number. Este número é o mesmo que aparece na imagem anterior e também pode ser visto na imagem abaixo (marcado em vermelho).

Update-VMware-4-02

Verifique qual o arquivo que você necessita, pode ser um update completo (como o deste post) ou somente um patch bundle. Independente disso, sempre fique atento ao build number do arquivo que você está fazendo download. Todos os updates e patch bundles do VMware são acumulativos, isso que dizer que os Updates contêm todas as correções desde o último Update (lançado a cada ano aproximadamente), e isso também ocorre com o patch bundle (que é lançado a cada três meses aproximadamente).

Aqui, será realizado um update do VMware do build number  348481 para o 800380 através do arquivo update-from-esxi4.1-4.1_update03.zip. Eu sempre começo todo e qualquer update verificando o que já está instalado no servidor, para fazer isso via vCLI utiliza-se o comando vihostupdate.pl –server XXX.XXX.XXX.XXX –query. Com isso remotamente o vCLI pergunta ao servidor o que já foi instalado. No meu caso a reposta foi a seguinte:

C:\Programas\Vmware\VCLI-5-x32\bin>vihostupdate.pl --server xxx.xxx.xxx.xxx --query
Enter username: root
Enter password:
---------Bulletin ID--------- -----Installed----- ----------------Summary-----------------
ESXi410-201101223-UG          2011-01-13T05:09:39 3w-9xxx: scsi driver for VMware ESXi
ESXi410-201101224-UG          2011-01-13T05:09:39 vxge: net driver for VMware ESXi

Cada update do VMware é composto por pequenas atualizações, chamadas de Bulletins que podem ser instalados um a um no caso de patchs bundles. Para updates isso não é possível, além de que se você está instalando um pacote de atualizações completo não parece ser correto ficar escolhendo o que atualizar.

Para saber o conteúdo do update, basta digitar o seguinte comando: vihostupdate.pl –server XXX.XXX.XXX.XXX –scan –bundle <caminho>\<update>. Aqui, o <caminho> representa o local onde está o arquivo com o update que você fez donwload e <update> é o arquivo em si. No meu caso o retorno foi o seguinte:

C:\Programas\Vmware\VCLI-5-x32\bin>vihostupdate.pl --server xxx.xxx.xxx.xxx --scan --bundle D:\Downloads\update-from-esxi4.1-4.1_update03.zip
Enter username: root
Enter password:
The bulletins which apply to but are not yet installed on this ESX host are listed.

---------Bulletin ID---------   ----------------Summary-----------------
ESXi410-201208101-SG            Updates ESXi 4.1 Firmware
ESXi410-201208102-SG            Updates the ESXi 4.1 Tools
ESXi410-201208201-UG            Updates the ESXi 4.1 Firmware
ESXi410-201208202-UG            Updates the ESXi 4.1 Tools
ESXi410-Update03                VMware ESXi 4.1 Complete Update 3

C:\Programas\Vmware\VCLI-5-x32\bin>

Acima podemos observar que o pacote do update é composto por diversos bulletins. Temos desde o VMware Tools até o update completo do sistema. Sobre o VMware Tools, recomenda-se atualizar o VMware Tools de cada máquina virtual hospedada para que ela reflita a versão que roda no servidor. A VMware recomenda que ambas (máquina virtual e ESX/ESXi) coincidam a mesma versão do VMware Tools.

Antes de aplicar o patch é necessário deixar o seu VMware em modo de manutenção. Aqui como o update é sobre o ESXi você vai precisar parar todas as máquinas virtuais antes. Para deixar em modo de manutenção existem dois modos, via console e através do vSphere client ou através do vCLI (através do comando vicfg-hostops).  Abaixo a imagem demonstra como fazer isso através do vSphere Client, basta clicar com o botão direito sobre o servidor e selecionar o modo de manutenção:

Update-VMware-4-03

Depois de deixar o servidor em modo de manutenção é possível aplicar o update. Para isso basta digitar o comando a seguir: vihostupdate.pl –server XXX.XXX.XXX.XXX –install –bundle <caminho>\<patch>. Repare que este, diferentemente do anterior tem a opção install. O resultado no meu caso foi o seguinte:

C:\Programas\Vmware\VCLI-5-x32\bin>vihostupdate.pl --server 172.23.1.35 --install --bundle D:\Downloads\update-from-esxi4.1-4.1_update03.zip --bulletin ESXi410-Update03
Enter username: root
Enter password:
Please wait patch installation is in progress ...
The update completed successfully, but the system needs to be rebooted for the c
hanges to be effective.

C:\Programas\Vmware\VCLI-5-x32\bin>

Com isso, o update foi aplicado no VMware. A aplicação é rápida, pois (resumidamente) o VMware não “instala” o update, ele simplesmente copia e aplica uma nova imagem. Neste link você pode ver mais detalhes sobre isso.

Para verificar se o update foi corretamente instalado reinicie o servidor e observe (ao logar novamente com o vSphere Client) a versão que aparece. Observe na imagem abaixo que a versão reportada agora é a de build number 800380.

Update-VMware-4-04

Você também pode usar o comando abaixo para verificar os updates instalados no ESXi:

C:\Programas\Vmware\VCLI-5-x32\bin>vihostupdate.pl --server xxx.xxx.xxx.xxx --query
Enter username: root
Enter password:
---------Bulletin ID--------- -----Installed----- ----------------Summary-----------------
ESXi410-Update03              2013-06-28T13:58:52 VMware ESXi 4.1 Complete Update 3

C:\Programas\Vmware\VCLI-5-x32\bin>

De forma resumida a aplicação do update através do vCLI no ESXi 4.1 tem os seguintes passos:

  • Verifique a versão atual do VMware ESXi;
  • Verifique o que já foi instalado: vihostupdate com a opção query;
  • Download do update necessário do site do VMware;
  • Modo de manutenção no VMware ESXi;
  • Aplicação do update: vihostupdate com a opção install;
  • Verifique o sucesso da instalação: vihostupdate com a opção query;
  • Sair do modo de manutenção do ESXi.

One thought on “Update VMware ESXi 4.1 com vCLI

  1. Pingback: » Update VMware ESXi 5.x com vCLI Have you hugged your backup today?

Leave a Reply

Your email address will not be published. Required fields are marked *