.. Reminder for header structure : Niveau 1 : ==================== Niveau 2 : -------------------- Niveau 3 : ++++++++++++++++++++ Niveau 4 : """""""""""""""""""" Niveau 5 : ^^^^^^^^^^^^^^^^^^^^ .. meta:: :description: upgrade de Xenserver 6.5 en pool :keywords: Xenserver,6.5,mettre à jour,upgrade,documentation,configurer,pool,drbd .. _upgrade-xenserver-6-5-pool: 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 .. code-block:: console 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://discussions.citrix.com/topic/378305-cannot-perform-rolling-pool-upgrade-of-xenserver-7-invalid-url-to-installer-files/ * 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 : .. code-block:: console gpg --output shar.sh RPU002.xsupdate sh shar.sh unpack cd /tmp/tmp.HASARD Récupérer dedans :file:`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 :file:`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) .. hint:: Si vous avez besoin d'un serveur web, voici une configuration possible : Installer nginx, ajouter dans le :file:`/etc/nginx/site-enabled/default` les lignes suivantes dans location / : .. code-block:: bash 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 .. code-block:: console 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 : .. code-block:: console 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 .. code-block:: console 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 :ref:`patcher le Xenserver <upgrade-xenserver-patch>`. 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 : .. code-block:: console 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) .. code-block:: console xe pif-param-set uuid=<pif uuid> other-config:domain=searchdomain.net,searchdomain2.net pousser les couples mac/eth s'ils ont changé .. code-block:: console 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. .. code-block:: console /etc/sysconfig/network-scripts/interface-rename-data/dynamic-rules.json Pour reconfigurer les interface au niveau XenServer .. code-block:: console xe pif-introduce device=eth11 Verifier s'il est bridgé: .. code-block:: console xe network-list PIF-uuids= Configurer le MTU: .. code-block:: console xe pif-list device=eth11 xe pif-param-set uuid=UUID_ETH11 other-config:mtu=9000 Nettoyer les anciennes conf eth: .. code-block:: console xe network-list bridge: xenbr0 uuid : 45140af4-2181-c769-2e30-20f65c8eaf46 récupérer l'UUID .. code-block:: console xe network-param-list uuid=45140af4-2181-c769-2e30-20f65c8eaf46 peut donner le pif-uuid : 7a83f8e9-65e7-5b6a-dddd-f5125209d544 .. code-block:: console xe pif-param-list uuid=7a83f8e9-65e7-5b6a-dddd-f5125209d544 Reconfigurer l'eth0 .. code-block:: console xe pif-reconfigure-ip uuid=7a83f8e9-65e7-5b6a-dddd-f5125209d544 mode=none IP= DNS= gateway= netmask= Ajouter une interface géré par XenServer .. code-block:: console 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 : .. code-block:: console xe-network-list Récupère uuid du network où le bridge est xenbr11 .. code-block:: console 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 .. code-block:: console [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 .. code-block:: console xe pif-forget uuid=18cafc00-06e8-2519-1f75-f726ffcfa267 xe pif-forget uuid=8d1f53e4-1762-20af-2d93-06ea79f0827e Detruire le network associé bridge = xenbr9 .. code-block:: console uuid = 3618fb34-43fa-ee03-517d-e205529b6be4 xe network-destroy uuid=3618fb34-43fa-ee03-517d-e205529b6be4 .. hint:: Optionnel Reparamétrer iscsi (dans notre exemple il est sur eth11) .. code-block:: console 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 :ref:`patcher le Xenserver <upgrade-xenserver-patch>`.