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 .
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é /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.reporoot #
zypper
install $(cat installed-software.bak)
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 :
Connectez-vous à votre machine SUSE Linux Enterprise 11.
Créez un fichier de vidage :
root #
mysqldump
-u root -p --all-databases > mysql_backup.sqlPar défaut,
mysqldump
ne vide pas la base de donnéesINFORMATION_SCHEMA
niperformance_schema
. Pour plus d'informations, consultez la page https://dev.mysql.com/doc/refman/5.5/en/mysqldump.html.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.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
.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.
Assurez-vous que vous démarrez le serveur MariaDB :
root #
systemctl
start mysqlSi vous voulez lancer le serveur MariaDB à chaque démarrage, activez ce service :
root #
systemctl
enable mysqlVé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/.
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 :
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
Arrêtez le serveur PostgreSQL avec une des commandes suivantes :
root #
/usr/sbin/rcpostgresql
stopou
root #
systemctl stop postgresql.service(Selon la version SLE que vous utilisez comme version de départ pour la mise à niveau).
Renommez votre ancien répertoire de données :
root #
mv
/var/lib/pgsql/data /var/lib/pgsql/data.oldInitialisez 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
startroot #
/usr/sbin/rcpostgresql
stopou
root #
systemctl start postgresql.serviceroot #
systemctl stop postgresql.service(Selon la version SLE que vous utilisez comme version de départ pour la mise à niveau).
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
etpg_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.
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/"Démarrez votre nouvelle instance de base de données avec l'une des commandes suivantes :
root #
/usr/sbin/rcpostgresql
startou
root #
systemctl start postgresql.service(Selon la version SLE que vous utilisez comme version de départ pour la mise à niveau).
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.
Supprimez les anciens paquetages PostgreSQL et votre ancien répertoire de données :
root #
zypper
search -s postgresql96 | xargs zypper rm -uroot #
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 :
Ouvrez un terminal et connectez-vous en tant qu'utilisateur
root
.Créez une clé privée :
root #
openssl
genrsa -out server.key 1024si vous souhaitez une clé renforcée, remplacez
1024
par un nombre plus élevé, par exemple4096
.Créez une requête de signature de certificat (CSR) :
root #
openssl
req -new -key server.key -out server.csrAuto-signez le certificat :
root #
openssl
x509 -req -days 365 -in server.csr -signkey server.key -out server.crtCréez le fichier PEM :
root #
cat
server.key server.crt > server.pemPlacez les fichiers
server.crt
,server.csr
,server.key
etserver.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.
Connectez-vous à la machine client.
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 -Etux >
sudo
rm -f /etc/SUSEConnecttux >
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.cachetux >
sudo
rm -f /etc/zmd/deviceidtux >
sudo
rm -f /etc/zmd/secretPour SUSE Linux Enterprise 12, exécutez les commandes suivantes :
tux >
sudo
SUSEConnect --de-registertux >
sudo
SUSEConnect --cleanuptux >
sudo
rm -f /etc/SUSEConnecttux >
sudo
rm -rf /etc/zypp/credentials.d/*tux >
sudo
rm -rf /etc/zypp/repos.d/*tux >
sudo
rm -f /etc/zypp/services.d/*
Connectez-vous au serveur SMT.
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-registrationsSi 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).Supprimez l'enregistrement pour ce client :
tux >
sudo
smt-delete-registration -g UNIQUE_IDSi le client est répertorié avec plusieurs ID, répétez l'étape ci-dessus pour chacun de ses ID uniques.
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é.
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 /
).
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
listroot #
snapper
delete NUMBERToutefois, 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"