J'ai un serveur Web productif Ubuntu Server LTS (LAMP "classique") fonctionnant sous 12.04.5 LTS (apt-get update && apt-get dist-upgrade
courant et régulier). Je ne peux y accéder que via SSH (serveur loué avec accès root). J'utilise pas n'importe quel logiciel/source tiers, uniquement ceux d'Ubuntu officiels.
J'aimerais exécuter do-release-upgrade
pour effectuer une mise à niveau vers 14.04.X LTS.
Ma question est ce que je peux attendre de ce processus pour minimiser les temps d'arrêt:
Quelle est la durée d'exécution de la mise à niveau LTS (X minutes, X demi-heures, X heures)? Je sais que cela dépend de beaucoup de choses, mais une échelle de temps approximative serait agréable à connaître à l'avance (c'est une connexion matérielle et réseau très rapide).
La dernière fois que j'ai fait cela, cela m'a pris un peu plus d'une demi-heure. Sur une connexion internet supérieure à la moyenne. Mais en effet, cela dépendra de beaucoup de choses. Si vous avez un bureau installé, cela prendra plus de temps. Si vous avez plus de logiciels installés que moi, cela prendra plus de temps. Si vous avez moins installé, cela prendra moins de temps.
Des redémarrages sont-ils nécessaires entre (-> SSH-only-access)?
Pas quand je l'ai fait et pour autant que je sache, la mise à niveau est effectuée en une seule action. Donc, un redémarrage à la fin sera nécessaire.
Une entrée constante de l'utilisateur est-elle requise?
Non, mais vous voulez probablement regarder la majeure partie du processus.
Est-ce que les services importants mis à jour (Apache, PHP, MySQL) seront exécutés ou puis-je m'attendre à devoir mettre à jour un grand nombre de fichiers de configuration (le cas échéant, lesquels nécessiteront probablement des ajustements)?
Cela a fonctionné pour moi: Apache et mysql ont fonctionné instantanément après; mais cela dépend en grande partie de votre configuration; Si vous utilisiez des options obsolètes supprimées dans 14.04, elles pourraient vous causer des problèmes.
Apache et mysql affichent tous deux des messages clairs s’il se bloque.
Une chose que je conseillerais: arrêtez vous-même tous les services et faites une sauvegarde des fichiers de configuration avant de lancer la mise à niveau. Effectuez une sauvegarde de la base de données, sauvegardez my.conf et/etc/Apache2/conf, sites - etc.
Existe-t-il d'autres problèmes connus qui se produisent souvent lors d'une mise à niveau importante de LTS?
Oui, panne de courant. Cela semble être très populaire au moment même où vous démarrez une mise à niveau afin d'éviter les pannes de courant. Donc, comme pour toute modification majeure de votre système: sauvegardez et vérifiez que vous pouvez le restaurer.
Une autre chose: après avoir effectué la mise à niveau sur une machine, nous nous sommes demandé si la mise à niveau coûterait à notre entreprise. Nous avons décidé qu'il serait moins cher et plus sûr d'acheter un nouveau serveur et de remplacer l'ancien par un serveur de secours. Cela facilitait également la mise à niveau: nous pouvions jouer avec les paramètres Apache, les paramètres mysql et restaurer nos sauvegardes. Cela a pris plus d'une heure (jours) mais il était possible de le faire pendant la journée et quand nous le voulions.
Ces mises à niveau devraient prendre moins d'une heure, peut-être 30 minutes, mais il ne s'agit que de la mise à niveau, pas des tests et des réparations ultérieurs.
Vous pouvez vous attendre à plusieurs questions sur les fichiers de configuration: écrasez ou conservez les anciens. En général, vous devriez conserver les anciens, sinon la configuration d'Apache sera écrasée, etc. Vous devez vous assurer de sauvegarder ces fichiers de configuration. Quelle est la taille de votre dossier/etc? Sauvegardez-le avec les droits appropriés (Sudo cp-rp/etc/etc-backup). Il en va de même pour le dossier var. Vérifiez s'il y a assez d'espace pour le faire.
Apache ou Mysql ou tout autre service peuvent cesser de fonctionner avec vos paramètres actuels. Les bases de données peuvent ne pas se mettre à niveau correctement. PHP la mise à niveau peut causer des problèmes. Vérifiez votre serveur de courrier.
Mon conseil: utilisez un 12.04 VM local dans Virtualbox, installez votre site Web, vérifiez si mysql, php et Apache ont la même version. Vérifiez le serveur de messagerie et vérifiez si le site Web ou un fichier cronjob envoie un courrier aux clients, désactivez-le ou modifiez toutes les adresses de messagerie de l'environnement de test pour vous assurer que les clients ne reçoivent pas de faux mails de test. Créez des instantanés en cours de route pour pouvoir revenir en arrière d’une ou deux étapes lorsque vous faites une erreur.
Vous pouvez choisir d'utiliser une version de bureau de 12.04. Cela vous donnera la possibilité d’utiliser Firefox dans la VM etc. Un ordinateur de bureau peut faciliter les choses beaucoup plus facilement, et j’imagine que cela ne nuira pas à la configuration du serveur pour les tests. C'est ce que je fais, mais vous voudrez peut-être ne pas le faire.
Ensuite, avec cette machine virtuelle 12.04 locale, effectuez la mise à niveau. Voir quels problèmes se produisent. Le site Web fonctionne-t-il toujours? Voyez-vous des erreurs dans la journalisation? Sachez que ce test n'est pas une garantie absolue que la même procédure fonctionnera sur la machine sous tension. Mais vous attraperez probablement la plupart des problèmes.
Dans ces cas, "le cloud" a ses avantages, en utilisant un VM dans le cloud, je veux dire. Vous pouvez créer un instantané avant la mise à niveau. Ensuite, effectuez une mise à niveau et revenez en cas de problème. Ou vous pouvez garder la machine d'origine en marche, utiliser un instantané pour créer une deuxième machine virtuelle, la mettre à niveau pour la tester, etc.