Accéder au contenuNavigation Accéder à la page : page précédente [raccourci clavier p] / page suivante [raccourci clavier n]
documentation.suse.com / Documentation de SUSE Linux Enterprise Server / Guide de mise à niveau / Préparation de la mise à niveau
S'applique à SUSE Linux Enterprise Server 15 SP2

3 Préparation de la mise à niveau

Avant de lancer la procédure de mise à niveau, assurez-vous que votre système est prêt. Cette préparation implique notamment la sauvegarde des données et la consultation des notes de version.

3.1 Assurez-vous que le système est à jour

La mise à niveau du système est prise en charge uniquement à partir du niveau de correctif le plus récent. Assurez-vous que les dernières mises à jour système sont installées, en exécutant le correctif zypper ou en démarrant le module YaST Online Update.

3.2 Lecture des notes de version

Les notes de version contiennent des informations supplémentaires sur les modifications apportées depuis la version précédente de SUSE Linux Enterprise Server. Consultez les notes de version pour vérifier les aspects suivants :

  • votre matériel doit tenir compte de certaines considérations spéciales ;

  • les paquetages logiciels utilisés ont été considérablement modifiés ;

  • des précautions spéciales sont nécessaires pour votre installation.

Les notes de version incluent également des informations de dernière minute qui, faute de temps, n'ont pas pu être intégrées au manuel. Elles contiennent également des notes concernant les problèmes connus.

Si vous omettez d'installer un ou plusieurs Service Packs, consultez néanmoins les notes de version de ces Service Packs ignorés. Les notes de version contiennent généralement uniquement les changements effectués entre deux versions successives. Vous risquez de manquer des changements importants si vous lisez uniquement les notes de version actuelles.

Retrouvez les notes de version actuelles en ligne à l'adresse https://www.suse.com/releasenotes/.

Vous pouvez également les consulter dans le répertoire docu du DVD d'installation.

3.3 Exécution d'une sauvegarde

Avant de procéder à la mise à jour, copiez les fichiers de configuration existants sur un support distinct (comme un périphérique à bande, un disque dur amovible, etc.) pour sauvegarder les données. Cela concerne principalement les fichiers stockés dans le répertoire /etc, ainsi que certains répertoires et fichiers sous /var et /opt. Vous pouvez également écrire les données de l'utilisateur de /home (les répertoires HOME) dans un support de sauvegarde. Sauvegardez ces données en tant que root. Seul l'utilisateur root a des droits de lecture sur tous les fichiers locaux.

Si vous avez sélectionné Mettre à jour un système existant comme mode d'installation dans YaST, vous pouvez choisir d'effectuer une sauvegarde (système) ultérieurement. Vous pouvez inclure tous les fichiers modifiés, ainsi que ceux issus du répertoire /etc/sysconfig. Il ne s'agit toutefois pas d'une sauvegarde complète, dans la mesure où il manque tous les autres répertoires importants mentionnés ci-dessus. Recherchez la sauvegarde dans le répertoire /var/adm/backup.

3.4 Liste des paquetages et dépôts installés

Il est souvent utile de conserver une liste des paquetages installés, par exemple pour effectuer une nouvelle installation d'une nouvelle version majeure de SLE ou pour revenir à l'ancienne version.

N'oubliez pas que les paquetages installés ou dépôts utilisés ne sont pas tous disponibles dans les versions plus récentes de SUSE Linux Enterprise. Certains ont parfois été renommés et d'autres remplacés. Il se peut aussi que certains paquetages restent disponibles pour des raisons d'héritage, mais qu'un autre paquetage soit utilisé par défaut. Par conséquent, une modification manuelle des fichiers peut s'avérer nécessaire. Elle peut être réalisée avec n'importe quel éditeur de texte.

Créez un fichier nommé repositories.bak.repo contenant une liste de tous les dépôts utilisés :

root # zypper lr -e repositories.bak

Créez un fichier nommé installed-software.bak contenant une liste de tous les paquetages utilisés :

root # rpm -qa --queryformat '%{NAME}\n' > installed-software.bak

Sauvegardez les fichiers. Les dépôts et paquetages installés peuvent être restaurés à l'aide des commandes suivantes :

root # zypper ar repositories.bak.repo
root # zypper install $(cat installed-software.bak)
Note
Note : augmentation du nombre de paquetages en cas de mise à jour vers une nouvelle version majeure

Un système mis à niveau vers une nouvelle version majeure (SLE X+1) peut contenir plus de paquetages que le système initial (SLE X). Il en contient aussi davantage qu'une nouvelle installation de SLE X+1 avec la même sélection de modèle. Il existe plusieurs raisons à cela :

  • Les paquetages ont été divisés pour permettre de les sélectionner de manière plus précise. Par exemple, 37 paquetages texlive dans SLE 11 ont été divisés en plus de 3 000 paquetages sous SLE 15.

  • Lorsqu'un paquetage a été divisé, tous les nouveaux paquetages sont installés de manière à conserver les mêmes fonctionnalités que la version précédente en cas de mise à niveau. Toutefois, la nouvelle configuration par défaut pour une nouvelle installation de SLE X+1 ne consiste pas forcément à installer tous les paquetages.

  • Les paquetages hérités de SLE X peuvent être conservés pour des raisons de compatibilité.

  • Les dépendances de paquetages et l'étendue des modèles peuvent avoir changé.

3.5 Mise à niveau à partir de SUSE Linux Enterprise Server 11 SP4

Si vous utilisez des certificats MySQL, PostgreSQL ou Java MD5 basés sur SUSE Linux Enterprise Server 11 SP4, préparez votre système, comme indiqué dans les sections suivantes.

3.5.1 Migration de votre base de données MySQL

À partir de la version 12 de SUSE Linux Enterprise, SUSE est passé de MySQL à MariaDB. Avant de lancer une mise à niveau, il est vivement recommandé de sauvegarder votre base de données.

Pour effectuer la migration de la base de données, procédez comme suit :

  1. Connectez-vous à votre machine SUSE Linux Enterprise 11.

  2. Créez un fichier de vidage :

    root # mysqldump -u root -p --all-databases > mysql_backup.sql

    Par défaut, mysqldump ne vide pas la base de données INFORMATION_SCHEMA ni performance_schema. Pour plus d'informations, consultez la page https://dev.mysql.com/doc/refman/5.5/en/mysqldump.html.

  3. Enregistrez votre fichier de vidage, le fichier de configuration /etc/my.cnf ainsi que le répertoire /etc/mysql/ pour le consulter ultérieurement (pas le répertoire d'installation) dans un endroit sûr.

  4. Effectuez la mise à niveau. Après la mise à niveau, votre ancien fichier de configuration /etc/my.cnf reste inchangé. La nouvelle configuration est disponible dans le fichier /etc/my.cnf.rpmnew.

  5. Configurez votre base de données MariaDB selon vos besoins. N'utilisez pas les anciens répertoire et fichier de configuration. Vous pouvez toutefois les adapter et vous en servir ultérieurement comme références.

  6. Assurez-vous que vous démarrez le serveur MariaDB :

    root # systemctl start mysql

    Si vous voulez lancer le serveur MariaDB à chaque démarrage, activez ce service :

    root # systemctl enable mysql
  7. Vérifiez que MariaDB s'exécute correctement en vous connectant à la base de données :

    root # mysql -u root -p

3.5.2 Migration de votre base de données PostgreSQL

Une version plus récente de la base de données PostgreSQL est fournie avec SUSE Linux Enterprise Server 15 SP2. En raison du travail de migration requis pour la base de données, le processus de mise à niveau n'est pas automatique. De ce fait, le passage d'une version à l'autre doit être effectué manuellement.

La migration est exécutée à l'aide de la commande pg_upgrade. Elle constitue une méthode qui diffère du vidage et du rechargement classique. Par rapport à la méthode de « vidage et rechargement », la migration effectuée par le biais de la commande pg_upgrade est plus rapide.

Les fichiers programmes de chaque version PostgreSQL sont stockés dans des répertoires différents selon la version, par exemple, dans /usr/lib/postgresql96/ pour la version 9.6 et dans /usr/lib/postgresql10/ pour la version 10. Notez que la stratégie de contrôle des versions de PostgreSQL a changé entre les versions majeures 9.6 et 10. Pour plus de détails, consultez l'adresse https://www.postgresql.org/support/versioning/.

Important
Important : mise à niveau à partir de SLE 11

Lors de la mise à niveau à partir de SLE 11, postgresql94 sera désinstallé et ne pourra plus être utilisé pour la migration de la base de données vers une version ultérieure de PostgreSQL. Par conséquent, veillez à migrer la base de données PostgreSQL avant de mettre à niveau votre système.

La procédure ci-dessous décrit la migration de la base de données de la version 9.6 vers la version 10. Lorsque vous utilisez une version différente comme source ou comme cible, remplacez les numéros de version en conséquence.

Pour effectuer la migration de la base de données, procédez comme suit :

  1. Assurez-vous que les conditions préalables suivantes sont remplies :

    • Si ce n'est déjà fait, mettez à niveau les paquetages de l'ancienne version de PostgreSQL vers la version la plus récente par le biais d'une mise à jour de maintenance.

    • Créez une sauvegarde de votre base de données existante.

    • Installez les paquetages de la nouvelle version majeure de PostgreSQL. Pour SLE15 SP2, cela implique d'installer postgresql10-server et tous les paquetages dont il dépend.

    • Installez le paquetage postgresql10-contrib qui contient la commande pg_upgrade.

    • Assurez-vous que vous disposez de suffisamment d'espace disponible dans la zone de stockage des données PostgreSQL, par défaut /var/lib/pgsql/data. Si l'espace risque d'être insuffisant, essayez de réduire la taille à l'aide de la commande SQL suivante sur chaque base de données (cette opération risque d'être très longue) :

      VACUUM FULL
  2. Arrêtez le serveur PostgreSQL avec une des commandes suivantes :

    root # /usr/sbin/rcpostgresql stop

    ou

    root # systemctl stop postgresql.service

    (Selon la version SLE que vous utilisez comme version de départ pour la mise à niveau).

  3. Renommez votre ancien répertoire de données :

    root # mv /var/lib/pgsql/data /var/lib/pgsql/data.old
  4. Initialisez votre nouvelle instance de base de données, soit manuellement avec initdb, soit en démarrant et arrêtant PostgreSQL, qui le fera automatiquement :

    root # /usr/sbin/rcpostgresql start
    root # /usr/sbin/rcpostgresql stop

    ou

    root # systemctl start postgresql.service
    root # systemctl stop postgresql.service

    (Selon la version SLE que vous utilisez comme version de départ pour la mise à niveau).

  5. Si vous avez modifié les fichiers de configuration dans l'ancienne version, pensez à transférer ces modifications vers les nouveaux fichiers de configuration. Cela peut concerner les fichiers postgresql.auto.conf, postgresql.conf, pg_hba.conf et pg_ident.conf. Les anciennes versions de ces fichiers se trouvent dans /var/lib/pgsql/data.old/ ; les nouvelles versions sont disponibles dans /var/lib/pgsql/data.

    Notez qu'il est déconseillé de vous contenter de copier les anciens fichiers de configuration, car cela peut écraser de nouvelles options, de nouvelles valeurs par défaut et des commentaires modifiés.

  6. Démarrez le processus de migration en tant qu'utilisateur postgres :

    root # su - postgres
    postgres > pg_upgrade \
      --old-datadir "/var/lib/pgsql/data.old" \
      --new-datadir "/var/lib/pgsql/data" \
      --old-bindir "/usr/lib/postgresql96/bin/" \
      --new-bindir "/usr/lib/postgresql10/bin/"
  7. Démarrez votre nouvelle instance de base de données avec l'une des commandes suivantes :

    root # /usr/sbin/rcpostgresql start

    ou

    root # systemctl start postgresql.service

    (Selon la version SLE que vous utilisez comme version de départ pour la mise à niveau).

  8. Vérifiez si la migration a réussi. L'étendue du test dépend de votre utilisation ; il n'existe aucun outil général permettant d'automatiser cette étape.

  9. Supprimez les anciens paquetages PostgreSQL et votre ancien répertoire de données :

    root # zypper search -s postgresql96 | xargs zypper rm -u
    root # rm -rf /var/lib/pgsql/data.old

3.5.3 Création de certificats de serveur non-MD5 pour les applications Java

Au cours de la mise à jour du SP1 vers SP2, les certificats basés sur MD5 ont été désactivés dans le cadre d'un correctif de sécurité. Si vous disposez de certificats créés à l'aide de l'algorithme MD5, recréez vos certificats en procédant comme suit :

  1. Ouvrez un terminal et connectez-vous en tant qu'utilisateur root.

  2. Créez une clé privée :

    root # openssl genrsa -out server.key 1024

    si vous souhaitez une clé renforcée, remplacez 1024 par un nombre plus élevé, par exemple 4096.

  3. Créez une requête de signature de certificat (CSR) :

    root # openssl req -new -key server.key -out server.csr
  4. Auto-signez le certificat :

    root # openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  5. Créez le fichier PEM :

    root # cat server.key server.crt > server.pem
  6. Placez les fichiers server.crt, server.csr, server.key et server.pem dans les répertoires respectifs contenant les clés. Pour Tomcat, il s'agit par exemple du répertoire /etc/tomcat/ssl/.

3.6 Arrêt des invités de machine virtuelle

Si votre machine fait office de serveur hôte de machine virtuelle pour KVM ou Xen, veillez à arrêter correctement tous les invités de machine virtuelle actifs avant de procéder à la mise à jour. Dans le cas contraire, l'accès aux invités peut s'avérer impossible après la mise à jour.

3.7 Ajustement de la configuration du client SMT

Si la machine que vous souhaitez mettre à niveau est enregistrée comme client auprès d'un serveur SMT, procédez comme suit :

Vérifiez si la version du script clientSetup4SMT.sh sur votre hôte est à jour. Le fichier clientSetup4SMT.sh des anciennes versions de SMT ne peut pas gérer les clients SMT 12. Si vous appliquez régulièrement des correctifs logiciels à votre serveur SMT, la dernière version du fichier clientSetup4SMT.sh est toujours disponible à l'emplacement <NOM_HÔTE_SMT>/repo/tools/clientSetup4SMT.sh.

En cas d'échec de la mise à niveau de votre machine vers une version supérieure de SUSE Linux Enterprise Server, annulez l'enregistrement de la machine auprès du serveur SMT, comme décrit à la Procédure 3.1. Ensuite, redémarrez le processus de mise à niveau.

Procédure 3.1 : annulation de l'enregistrement d'un client SUSE Linux Enterprise auprès d'un serveur SMT
  1. Connectez-vous à la machine client.

  2. L'étape suivante dépend du système d'exploitation actuel du client :

    • Pour SUSE Linux Enterprise 11, exécutez les commandes suivantes :

      tux > sudo suse_register -E
      tux > sudo rm -f /etc/SUSEConnect
      tux > sudo rm -rf /etc/zypp/credentials.d/*
      tux > sudo rm -rf /etc/zypp/repos.d/*
      tux > sudo rm -f /etc/zypp/services.d/*
      tux > sudo rm -f /var/cache/SuseRegister/*
      tux > sudo rm -f /etc/suseRegister*
      tux > sudo rm -f /var/cache/SuseRegister/lastzmdconfig.cache
      tux > sudo rm -f /etc/zmd/deviceid
      tux > sudo rm -f /etc/zmd/secret
    • Pour SUSE Linux Enterprise 12, exécutez les commandes suivantes :

      tux > sudo SUSEConnect --de-register
      tux > sudo SUSEConnect --cleanup
      tux > sudo rm -f /etc/SUSEConnect
      tux > sudo rm -rf /etc/zypp/credentials.d/*
      tux > sudo rm -rf /etc/zypp/repos.d/*
      tux > sudo rm -f /etc/zypp/services.d/*
  3. Connectez-vous au serveur SMT.

  4. Vérifiez si l'enregistrement du client a été annulé avec succès en répertoriant tous les enregistrements de clients :

    tux > sudo smt-list-registrations
  5. Si le nom d'hôte du client est toujours répertorié dans la sortie de cette commande, obtenez l'ID unique du client à partir de la première colonne. (Le client peut être répertorié avec plusieurs ID).

  6. Supprimez l'enregistrement pour ce client :

    tux > sudo smt-delete-registration -g UNIQUE_ID
  7. Si le client est répertorié avec plusieurs ID, répétez l'étape ci-dessus pour chacun de ses ID uniques.

  8. Vérifiez si l'enregistrement du client a maintenant été annulé avec succès en réexécutant :

    tux > sudo smt-list-registrations

3.8 Espace disque

La taille des logiciels tend à augmenter de versions en versions. Il convient donc de vérifier l'espace disponible sur la partition avant d'effectuer la mise à jour. Si vous pensez que vous allez manquer d'espace disque, sauvegardez vos données avant d'augmenter l'espace disponible en redimensionnant des partitions, par exemple. Il n'existe pas de règle précise concernant l'espace de chaque partition. L'espace requis dépend de votre profil particulier de partitionnement et du logiciel sélectionné.

Note
Note : vérification automatique de l'espace dans YaST

Au cours de la procédure de mise à jour, YaST vérifie la quantité d'espace disque disponible et affiche un avertissement si la taille de l'installation risque de dépasser la quantité d'espace disponible. Dans ce cas, la mise à jour risque de rendre le système inutilisable ! Si vous savez exactement ce que vous faites (en ayant effectué des tests au préalable), vous pouvez ignorer l'avertissement et poursuivre la mise à jour.

3.8.1 Vérification de l'espace disque sur des systèmes de fichiers racines non-Btrfs

Utilisez la commande df pour obtenir une liste de l'espace disque disponible. Dans l'Exemple 3.1, « List with df -h », la partition root à écrire est /dev/sda3 (montée en tant que /).

Exemple 3.1 : List with df -h
Filesystem     Size  Used Avail Use% Mounted on
/dev/sda3       74G   22G   53G  29% /
tmpfs          506M     0  506M   0% /dev/shm
/dev/sda5      116G  5.8G  111G   5% /home
/dev/sda1       44G    4G   40G   9% /data

3.8.2 Vérification de l'espace disque sur des systèmes de fichiers racines Btrfs

Sur un système de fichiers Btrfs, la sortie de df peut être trompeuse, étant donné que, en plus de l'espace alloué par les données brutes, un système de fichiers Btrfs alloue et utilise également de l'espace pour les métadonnées.

Par conséquent, un système de fichiers Btrfs peut signaler un manque d'espace, même s'il semble qu'il reste une grande quantité d'espace disponible. Dans ce cas, tout l'espace alloué aux métadonnées est utilisé. Pour plus de détails sur la vérification de l'espace utilisé et disponible sur un système de fichiers Btrfs, reportez-vous au Section 1.2.2.3, “Checking for Free Space”. Pour plus d'informations, reportez-vous à la page man 8 btrfs-filesystem et à l'adresse https://btrfs.wiki.kernel.org/index.php/FAQ.

Si vous utilisez Btrfs en tant que systèmes de fichiers racines sur votre machine, assurez-vous qu'il dispose de suffisamment d'espace libre. Vérifiez l'espace disponible sur toutes les partitions montées. Dans le pire des cas, une mise à niveau a besoin d'autant d'espace disque que le système de fichiers racine actuel (sans le répertoire /.snapshot) pour un nouvel instantané.

Les recommandations suivantes ont fait leurs preuves :

  • Pour tous les systèmes de fichiers comprenant Btrfs, vous avez besoin de suffisamment d'espace disque disponible pour télécharger et installer des RPM volumineux. L'espace occupé par les anciens RPM n'est libéré qu'après l'installation des nouveaux RPM.

  • Pour Btrfs avec des instantanés, vous avez au minimum besoin d'une quantité d'espace libre égale à celle occupée par votre installation actuelle. Il est recommandé de disposer de deux fois plus d'espace libre que celui occupé par l'installation actuelle.

    Si vous ne disposez pas de suffisamment d'espace, vous pouvez tenter de supprimer les anciens instantanés à l'aide de snapper :

    root # snapper list
    root # snapper delete NUMBER

    Toutefois, cela ne fonctionne pas toujours. Avant la migration, la plupart des instantanés n'occupent pas tellement d'espace.

3.9 Mise à niveau d'un serveur SMT (Subscription Management Tool)

Un serveur qui exécute SMT requiert une procédure de mise à niveau spéciale. Reportez-vous au Chapter 2, Migrate from SMT to RMT du Repository Management Tool Guide.

3.10 Désactivation temporaire de la prise en charge de plusieurs versions du kernel

SUSE Linux Enterprise Server (SLES) permet d'installer plusieurs versions de kernel en activant les paramètres correspondants sous /etc/zypp/zypp.conf. La prise en charge de cette fonctionnalité doit pourtant être désactivée temporairement pour effectuer une mise à niveau vers un Service Pack. Une fois la mise à jour terminée, la prise en charge de plusieurs versions peut être réactivée. Pour désactiver la prise en charge de plusieurs versions, commentez les lignes correspondantes sous /etc/zypp/zypp.conf. Le résultat doit ressembler à ceci :

#multiversion = provides:multiversion(kernel)
#multiversion.kernels = latest,running

Pour réactiver cette fonction après une mise à jour réussie, supprimez les signes de commentaire. Pour plus d'informations sur la prise en charge de plusieurs versions, reportez-vous au Section 21.1, « Activation et configuration de la prise en charge de plusieurs versions ».

3.11 Mise à niveau sur IBM Z

La mise à niveau d'une installation SUSE Linux Enterprise sur IBM Z nécessite Upgrade=1 comme paramètre de kernel, par exemple via le fichier parmfile. Reportez-vous à la Section 5.4, « Fichier parmfile : automatisation de la configuration du système ».

3.12 IBM POWER : démarrage d'un serveur X

Sous SLES 12 pour IBM POWER, le gestionnaire d'affichage est configuré pour ne pas démarrer un serveur X local par défaut. Ce paramètre a été annulé sous SLES 12 SP1. Le gestionnaire d'affichage démarre désormais un serveur X.

Pour éviter des problèmes au cours de la mise à niveau, le paramètre SUSE Linux Enterprise Server n'est pas modifié automatiquement. Si vous souhaitez que le gestionnaire d'affichage démarre un serveur X après la mise à niveau, modifiez le paramètre DISPLAYMANAGER_STARTS_XSERVER sous /etc/sysconfig/displaymanager comme suit :

DISPLAYMANAGER_STARTS_XSERVER="yes"