Upgrade de Xenserver 6.5 en pool vers 7.1 LTSR patché¶
La mise à jour de xenserver en pool doit toujours commencer par le master. Autrement il faudra sortir du pool le slave avant de le mettre à jour. Voir la section cas particulier : mettre à jour un xenserver slave avant le master.
Préparer les bascules¶
Sur le slave¶
Basculer toutes les machines possibles.
Attention
Plusieurs scénarios existent : * Storage en DRBD partagé * Storage en DRBD croisé * Storage en iSCSI partagé
Dans le premier cas, la migration a chaud des machines est possible est simplifiée cependant pendant la mise à jour du master, il faudra penser à passer en primary le xen slave ;
Dans le second scénario il existe deux cas possibles ;
** Le DRBD a assez de place pour déplacer la totalité des machines sur le slave;
** Le DRBD n’a pas assez de place, il faudra soit laisser les VM sur la machine soit passer en primary la partition sur le slave et replugguer le SR;
Dans le dernier cas, l’iSCSI est partagé, la migration des machines peuvent se faire à chaud. Si le montage n’est pas partagé, il faudra prévoir une interruption de service et replugguer le sr et son pbd sur le slave ;
Sur le master¶
faire un dump
xe pool-dump-database file-name=backup_data.xml
le déposer sur une plateforme en dehors du xenserver
faire un rsync du /
Liste des informations éventuelles à récupérer :
accès IPMI (IP + login/mdp)
vérifier @ip
vérifier hostname
vérifier ntp
vérifier dns
vérifier suffixe dns
noter les couples mac/eth sur la machine
Installer Xenserver via script officiel (Méthode recommandée)¶
sources :
https://www.mangolassi.it/topic/12996/xenserver-6-5-to-7-1-using-rolling-pool-upgrade-and-nfs/10
https://xcp-ng.org/blog/2018/06/11/migrate-from-xenserver-to-xcp-ng/
préparer les fichiers nécessaires à l’upgrade¶
Récupérer depuis un xencenter 7.0 le fichier RPU002, l’extraire de la manière suivante sur un Linux :
gpg --output shar.sh RPU002.xsupdate
sh shar.sh unpack
cd /tmp/tmp.HASARD
Récupérer dedans upgrade-plugin-2.1.1-xs2435.noarch.rpm
Puis depuis un Xencenter 7.1 à nouveau le même fichier, son contenu diffère.
Récupérer xcp-python-libs-2.0.1-163
Si le paquet host-upgrade est installé sur la machine, le supprimer
Utiliser ou mettre en place un serveur web qui contient les rpm en question ainsi que l’iso de Xenserver7.1 dézippé (attention à bien tout récupérer un fichier caché nommé .treeinfo est nécessaire à l’update)
Indication
Si vous avez besoin d’un serveur web, voici une configuration possible :
Installer nginx, ajouter dans le /etc/nginx/site-enabled/default
les lignes suivantes dans location / :
autoindex on;
autoindex_exact_size off;
autoindex_format html;
autoindex_localtime on;
Et commenter l’index.
C’est une possibilité parmi d’autre, si vous avez déjà un serveur web, inutile de faire ce paramétrage.
Récupérer les rpm, les déplacer sur le serveur web et les installer sur le xen cible
wget http://SERVEUR_WEB/upgrade-plugin-2.1.1-xs2435.noarch.rpm
wget http://SERVEUR_WEB/xcp-python-libs-2.0.1-163.noarch.rpm
rpm -Uvh *.rpm
Tester le lien URL récupérer l’UUID du host cible : xe host-list
la machine ne doit pas être en pool :
xe host-call-plugin plugin=prepare_host_upgrade.py host-uuid=$(xe host-list --minimal) fn=testUrl args:url=http://SERVEUR_WEB/XS7.1/
Cela doit renvoyer true
Configurer l’upgrade
xe host-call-plugin plugin=prepare_host_upgrade.py host-uuid=$(xe host-list --minimal) fn=main args:url=http://SERVEUR_WEB/XS7.1/
Lorsque c’est à true, lancer la mise à jour.
Simplement faire un reboot et laisser le temps que Xenserver s’installe.
Vous pourrez ensuite patcher le Xenserver.
Installer Xenserver via ISO et IPMI¶
Attention
Cette méthode va complètement écraser toutes les données, il est donc impératif de bien noter toutes les informations demandées ci-dessus.
Récupérer l’iso de xenserver 7.1 ici :
wget https://srvinstallation.tranquil.it/xenserver/xs7.1/iso/XenServer-7.1.0-s1-install-cd.iso
Depuis l’IPMI, réinstaller Xenserver
Reconfigurer Xenserver¶
Vérifier qu’il y a bien un suffixe DNS et un serveur DNS configuré (xe otherconfig)
xe pif-param-set uuid=<pif uuid> other-config:domain=searchdomain.net,searchdomain2.net
pousser les couples mac/eth s’ils ont changé
interface-rename --update eth0=UNE_MAC eth1=UNE_AUTRE_MAC eth2=ETC.
Changer avec xsconsole l’interface et passer à la connexion originelle (si de base sur eth4, remettre sur eth4) Les changements d’interface sont générés dans un fichier par la couche Xenserver.
/etc/sysconfig/network-scripts/interface-rename-data/dynamic-rules.json
Pour reconfigurer les interface au niveau XenServer
xe pif-introduce device=eth11
Verifier s’il est bridgé:
xe network-list PIF-uuids=
Configurer le MTU:
xe pif-list device=eth11
xe pif-param-set uuid=UUID_ETH11 other-config:mtu=9000
Nettoyer les anciennes conf eth:
xe network-list
bridge: xenbr0
uuid : 45140af4-2181-c769-2e30-20f65c8eaf46
récupérer l’UUID
xe network-param-list uuid=45140af4-2181-c769-2e30-20f65c8eaf46
peut donner le pif-uuid : 7a83f8e9-65e7-5b6a-dddd-f5125209d544
xe pif-param-list uuid=7a83f8e9-65e7-5b6a-dddd-f5125209d544
Reconfigurer l’eth0
xe pif-reconfigure-ip uuid=7a83f8e9-65e7-5b6a-dddd-f5125209d544 mode=none IP= DNS= gateway= netmask=
Ajouter une interface géré par XenServer
ip link set eth11 up
xe pif-introduce host-uuid=8c953062-ee7d-43c5-b964-6daa760886ff device=eth11
xe-toolstack-restart
Pour lister les réseaux :
xe-network-list
Récupère uuid du network où le bridge est xenbr11
xe pif-list device=eth11 : vérifier si le network-uuid est le même qu'au dessus
Détruire les bridges inutiles eth8 et eth9 xenbr8 et xenbr9 dans notre exemple
[root@srvxen3 ~]# xe pif-list device=eth9
uuid ( RO) : 8d1f53e4-1762-20af-2d93-06ea79f0827e
device ( RO): eth9
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 3618fb34-43fa-ee03-517d-e205529b6be4
[root@srvxen3 ~]# xe pif-list device=eth8
uuid ( RO) : 18cafc00-06e8-2519-1f75-f726ffcfa267
device ( RO): eth8
currently-attached ( RO): true
VLAN ( RO): -1
network-uuid ( RO): 2a74bd6c-4890-7f42-370f-ec4a118b5f05
xe pif-forget uuid=18cafc00-06e8-2519-1f75-f726ffcfa267
xe pif-forget uuid=8d1f53e4-1762-20af-2d93-06ea79f0827e
Detruire le network associé bridge = xenbr9
uuid = 3618fb34-43fa-ee03-517d-e205529b6be4
xe network-destroy uuid=3618fb34-43fa-ee03-517d-e205529b6be4
Indication
Optionnel
Reparamétrer iscsi (dans notre exemple il est sur eth11)
xe pif-list device=eth11
xe pif-reconfigure-ip uuid=25d0ec15-c6fe-b7cd-5f95-ac2ea151516f mode=static IP=10.16.2.16 netmask=255.255.255.0 MTU=9000
xe pif-param-list uuid=25d0ec15-c6fe-b7cd-5f95-ac2ea151516f
Vous pourrez ensuite patcher le Xenserver.