[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Citrix XenServer
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1523
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 42
Contato:
Status: Offline

[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por marceloleaes »

Imagem

ATENÇÃO

Jamais faça este processo com o HA do Xen rodando, primeiramente desative o mesmo. Atualize os servidores do seu Pool deixando o Master por último neste processo, ao perder a comunicação com o Master você perderá a conexão com os demais servidores.

Prestando atenção a estes dois fatores, o processo é simples e feito através de uma máquina Windows com o Xencenter instalado.

1 - Faça o download do pacote SP1 ou do Hotfix necessário do site da Citrix

2 - Extraia o conteúdo do pacote zipado e perceba que um arquivo com a extensão .xsupdate foi descompactadp. É ele que vamos enviar para o nosso Pool ou servidor standalone para que seja atualizado.

3 - Navegue até o diretório do XenCenter pelo prompt de comando, e vamos executar:

Upload do arquivo para o Pool ou Host

Código: Selecionar todos

xe patch-upload -s <hostname/ip> -u root -pw <senhadoroot> file-name=<caminho>\exemplo.xsupdate
Perceba que ao final do Upload o XenServer irá atribuir um UUID ao novo arquivo para que possa ser aplicado
A saída dever ser como esta: 59128f15-92cd-4dd9-8fbe-a0115d1b07a2

Aplicando o Hotfix desejado

Código: Selecionar todos

xe -s <hostname/ip> -u root -pw <senhadoroot> patch-pool-apply uuid=59128f15-92cd-4dd9-8fbe-a0115d1b07a2
Aguarde a finalização e reinicie o servidor

Consultar se um Hotfix especifico está aplicado

Código: Selecionar todos

xe patch-list -s <hostname/ip> -u root -pw <senhadoroot> name-label=XS62E002
Onde XS62E002 é o exemplo da identificação no site da Citrix

Bom proveito  ;)


"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio
Avatar do usuário
tacioandrade
Administrator
Administrator
Mensagens: 110
Registrado em: 10 Jun 2013 22:03
Localização: Vitória da Conquista - Ba
Idade: 35
Contato:
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por tacioandrade »

Marcelo uma duvida, no caso do Xen se eu der um yum update && yum upgrade o mesmo não atualiza o Xen também não? Pensei que ele iria atualizar o mesmo e não só os pacotes do CentOS.
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1523
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 42
Contato:
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por marceloleaes »

Não atualiza, a partir da versão 6.2 tudo é feito manualmente se você não paga a subscrição de suporte deles.
"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio
Avatar do usuário
tacioandrade
Administrator
Administrator
Mensagens: 110
Registrado em: 10 Jun 2013 22:03
Localização: Vitória da Conquista - Ba
Idade: 35
Contato:
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por tacioandrade »

Ah ta compreendi agora a ideia deles. ;) hehehe
Avatar do usuário
felipeqga
Global Moderator
Global Moderator
Mensagens: 79
Registrado em: 05 Nov 2013 23:42
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por felipeqga »

Ola pessoal,
existe um script para atualizr de forma automatica seu Xenserver 6.20
 

Código: Selecionar todos

#!/bin/bash
#Automatically Update script for Xen Servers. Supports only 6.2 at the moment.
#Start by downloading the xml file
#bash xeer1
echo "Downloading updates.xml"
curl -# -L -R -o updates.xml http://updates.xensource.com/XenServer/updates.xml

#Grep the patches for version number XS62E, parse the data, and form the table
#Columns are 1-patch name 2 - url 3- timestamp and 4- uuid
#Each column is one variable and sorted by date and then by name

grep 'name-label="XS62E' updates.xml | cut -d "\"" -f 6,8,12,16 --output-delimiter=" "|sort -k3,3 -k1|while read line1 line2 line3 line4
        do
        #Save some typing
        export ShortUrl=`basename $line2`
                # Check to see if the patch has been installed already
                if [[ -n $(xe patch-list name-label=$line1 2> /dev/null) ]]
                then
                        echo $line1 "has aleady been installed"
                else
                        #Patch download portion
                        echo -e $line1 "Patch was not found.\nRetrieving URL for download " $line2 " \nURL Fetched Starting Download"
                                #check to see if the file already exists
                                if [ -f $ShortUrl ]
                                then
                                        #skips the file
                                        echo $ShortUrl " already exists skipping download\n"
                                else
                                        #Downloads the file and unzip it
                                        echo "Downloading $ShortUrl"
                                        curl -# -o $ShortUrl -L -R $line2
                                        echo -e "Download Completed\n"

                                fi
                        #Unzip
                        echo -e "Unziping " $ShortUrl "\n"
                        unzip -o -q $ShortUrl
                        #upload to Xen Server
                        echo "Uploading to Xen Server"
                        xe patch-upload file-name=$line1.xsupdate
                        echo "Applying Patch"
                        xe patch-pool-apply uuid=$line4
                        echo "Verifying Installation"
                                if [[ -n $(xe patch-list name-label=$line1 2> /dev/null) ]]
                                        then
#Removing src xsupdate and cleaning with patch clean
                                                echo $line1 "has been installed successfully"
                                                echo "Removing installation files"
                                                rm -f $line1-src-pkgs.tar.bz2
                                                rm -f $line1.xsupdate
xe patch-clean uuid=$line4
                                        else
                                                echo $line1 "Failed to Install please check it manually. Please fix the issue and run this program again"
                                                #Remove patch for you to fix the issue and try again
                                                rm -rf /opt/xensource/patch-backup/$line3
                                                exit 0
                                fi
                fi
        done
Avatar do usuário
felipeqga
Global Moderator
Global Moderator
Mensagens: 79
Registrado em: 05 Nov 2013 23:42
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por felipeqga »

Nao sei por qual motivo, mas esse script vai baixando os HOTfix e o Xenserver estoura o espaço em disco , depois de eu teletar os ZIPS e as pastas e rodar novamente ele continuo com os UPDATES!!! talvez se aprimorarmos esta parte de ele deletar ...
Avatar do usuário
felipeqga
Global Moderator
Global Moderator
Mensagens: 79
Registrado em: 05 Nov 2013 23:42
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por felipeqga »

Pessoal, apos aplicar o Sp1 e reinciar, deveremos fazer o seguinte:

Código: Selecionar todos

cd /root/
mkdir /mnt/tmp/
wget http://downloadns.citrix.com.edgesuite.net/8717/bnx2x-1.78.56-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8721/tg3-3.133d-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8718/fnic-1.5.0.45-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8727/emulex-8.3.7.33-4.9.230.0-6.4.13.1-1-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8719/qla2xxx-8.06.00.10.55.6-k-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8720/qlcnic-5.2.46.1-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8722/qlge-1.00.00.32-XS62ESP1.zip

unzip bnx2x-1.78.56-XS62ESP1.zip
mkdir -p /mnt/tmp
mount bnx2x.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip tg3-3.133d-XS62ESP1.zip
mount tg3.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip fnic-1.5.0.45-XS62ESP1.zip
mount fnic.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip emulex-8.3.7.33-4.9.230.0-6.4.13.1-1-XS62ESP1.zip
mount emulex.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip qla2xxx-8.06.00.10.55.6-k-XS62ESP1.zip
mount qla2xxx.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip qlcnic-5.2.46.1-XS62ESP1.zip
mount qlcnic.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip qlge-1.00.00.32-XS62ESP1.zip
mount qlge.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

Podem colocar tudo em script tipo "afterupdatesp1.sh" chmod a+x  e  ./afterupdatesp1.sh que le baixa e instala, ai vc reinicializa e pronto.

OBS: quem quiser pesquisar sobre como dá um AUTOSTART na VM na versao 6.2 ----> http://embaby.com/blogs/tamer/auto-star ... nserver-62
Editado pela última vez por felipeqga em 22 Jun 2014 19:18, em um total de 1 vez.
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1523
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 42
Contato:
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por marceloleaes »

É interessante auto aplicar os updates, porém tem esta questão do espaço em disco.
Sinceramente eu não recomendaria deixar isto automatizado, imagina este script rodar e estourar o espaço em disco do dom0 em todos os teus servidores ?

Acho que a maneira mais segura é aplicando manualmente, existem updates que precisam de reinicialização do host para começar a valer, não tem como fugir de uma manutenção agendada e manual.

Sobre o auto start, tem post no fórum sobre  ;D
"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1523
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 42
Contato:
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por marceloleaes »

Uma observação, foi desativado o autostart nas vms do pool por causarem problemas com o HA

Não recomendo ligar este recurso, pq já tive problemas de não virar as vm's diversas vezes quando o master do pool caiu.

Para contornar eu usei o xe vm-start rodando no rc.local http://itbr.org/forum/xen/%28tutorial%2 ... rver-6-22/
"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio
Avatar do usuário
felipeqga
Global Moderator
Global Moderator
Mensagens: 79
Registrado em: 05 Nov 2013 23:42
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por felipeqga »

Pessoal fiz testes com script inumeras vezes entao esta aprovado. Quem quiser testar mais.
Script1: Autoupdate Hotfix + SP

Código: Selecionar todos

#!/bin/bash
#Automatically Update script for Xen Servers. Supports only 6.2 at the moment.
#Start by downloading the xml file
#bash xeer1
rm -rf updates.xml
rm -rf *.zip
echo "Downloading updates.xml"
curl -# -L -R -o updates.xml http://70.42.241.149/XenServer/updates.xml

#Grep the patches for version number XS62E, parse the data, and form the table
#Columns are 1-patch name 2 - url 3- timestamp and 4- uuid
#Each column is one variable and sorted by date and then by name

grep 'name-label="XS62E' updates.xml | cut -d "\"" -f 6,8,12,16 --output-delimiter=" "|sort -k3,3 -k1|while read line1 line2 line3 line4
        do
        #Save some typing
        export ShortUrl=`basename $line2`
                # Check to see if the patch has been installed already
                if [[ -n $(xe patch-list name-label=$line1 2> /dev/null) ]]
                then
                        echo $line1 "has aleady been installed"
                else
                        #Patch download portion
                        echo -e $line1 "Patch was not found.\nRetrieving URL for download " $line2 " \nURL Fetched Starting Download"
                                #check to see if the file already exists
                                if [ -f $ShortUrl ]
                                then
                                        #skips the file
                                        echo $ShortUrl " already exists skipping download\n"
                                else
                                        #Downloads the file and unzip it
                                        echo "Downloading $ShortUrl"
                                        curl -# -o $ShortUrl -L -R $line2
                                        echo -e "Download Completed\n"

                                fi
                        #Unzip
                        echo -e "Unziping " $ShortUrl "\n"
                        unzip -o -q $ShortUrl
                        #upload to Xen Server
                        echo "Uploading to Xen Server"
                        xe patch-upload file-name=$line1.xsupdate
                        echo "Applying Patch"
                        xe patch-pool-apply uuid=$line4
                        echo "Verifying Installation"
                                if [[ -n $(xe patch-list name-label=$line1 2> /dev/null) ]]
                                        then
#Removing src xsupdate and cleaning with patch clean
                                                echo $line1 "has been installed successfully"
                                                echo "Removing installation files"
                                                rm -f $line1-src-pkgs.tar.bz2
                                                rm -f $line1.xsupdate
                                                rm -rf $line1
                                                rm -rf $line1.zip
                
xe patch-clean uuid=$line4
                                        else
                                                echo $line1 "Failed to Install please check it manually. Please fix the issue and run this program again"
                                                #Remove patch for you to fix the issue and try again
                                                rm -rf /opt/xensource/patch-backup/$line3
                                                exit 0
                                fi
                fi
        done

Reboot na maquina
ai depois
Pos Servicepack

Código: Selecionar todos

cd /root/
mkdir /mnt/tmp/
wget http://downloadns.citrix.com.edgesuite.net/8717/bnx2x-1.78.56-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8721/tg3-3.133d-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8718/fnic-1.5.0.45-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8727/emulex-8.3.7.33-4.9.230.0-6.4.13.1-1-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8719/qla2xxx-8.06.00.10.55.6-k-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8720/qlcnic-5.2.46.1-XS62ESP1.zip
wget http://downloadns.citrix.com.edgesuite.net/8722/qlge-1.00.00.32-XS62ESP1.zip

unzip bnx2x-1.78.56-XS62ESP1.zip
mkdir -p /mnt/tmp
mount bnx2x.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip tg3-3.133d-XS62ESP1.zip
mount tg3.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip fnic-1.5.0.45-XS62ESP1.zip
mount fnic.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip emulex-8.3.7.33-4.9.230.0-6.4.13.1-1-XS62ESP1.zip
mount emulex.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip qla2xxx-8.06.00.10.55.6-k-XS62ESP1.zip
mount qla2xxx.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip qlcnic-5.2.46.1-XS62ESP1.zip
mount qlcnic.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/

unzip qlge-1.00.00.32-XS62ESP1.zip
mount qlge.iso /mnt/tmp -o loop
cd /mnt/tmp/
./install.sh
cd /root/
umount /mnt/tmp/


rm -rf *.zip
rm -rf *.iso
rm -rf *.gz
rm -rf *.md5
Agora instala sem Problemas.
Avatar do usuário
felipeqga
Global Moderator
Global Moderator
Mensagens: 79
Registrado em: 05 Nov 2013 23:42
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por felipeqga »

Ola marcelo, vi la o que voce escreveu e tambem passei pelo "erro" do espaço em disco.
Entao este script ai acima instala e deleta um por um de cada vez.

adicionei:

rm -rf $line1
rm -rf $line1.zip
que deleta a bastar descompctada e deleta o Zip baixo em cada loop.
os arquivos .xenupdates ja sao deletados ai no script tamnem.
Avatar do usuário
marceloleaes
Administrator
Administrator
Mensagens: 1523
Registrado em: 10 Jun 2013 12:45
Localização: Novo Hamburgo
Idade: 42
Contato:
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por marceloleaes »

Seria interessante ter os arquivos já descompactados e dentro do host, vou ver se consigo facilitar de alguma maneira tambem.
Mas acho que para aplicar é necessária intervenção manual... É complicado parar um host ou mesmo um pool inteiro devido a qualquer problema bobo.
"Transportai um punhado de terra todos os dias e fareis uma montanha." Confúcio
Avatar do usuário
tacioandrade
Administrator
Administrator
Mensagens: 110
Registrado em: 10 Jun 2013 22:03
Localização: Vitória da Conquista - Ba
Idade: 35
Contato:
Status: Offline

Re:[Tutorial] Atualizando o XenServer 6.2 aplicando Service Packs e Hotfixes

Mensagem por tacioandrade »

Felipe ótima dica essa do script, fico pensando se não seria legal postar algo como um "atualizador" automático, de forma que o script veja se não tem uma versão mais nova (com novos patchs) baixando de um web server ou algo do tipo e se tiver ele instala. hehehe

É uma ideia, porem deve dar um trabalhinho além de ter um problema de segurança (de por exemplo invadirem o webserver e alterarem o arquivo). ;)
Responder

Voltar para “XenServer”