"Pouvons-nous mettre à niveau nos serveurs EL5 de production existants vers EL6 ?"
Une demande simple de la part de deux clients avec complètement dans des environnements différents a suscité ma réponse habituelle aux meilleures pratiques, à savoir "oui, mais cela nécessitera une approche coordonnée". la reconstruction de tous vos systèmes "...
Les deux clients estiment qu'une reconstruction complète de leurs systèmes est une option inacceptable pour des raisons de temps d'arrêt et de ressources... Lorsqu'on m'a demandé pourquoi il était nécessaire de réinstaller complètement les systèmes, je n'ai pas eu de bonne réponse à part "c'est comme ça...".
Je n'essaie pas d'obtenir des réponses sur la gestion de la configuration ("Puppetize"). tout " ne s'applique pas toujours ) ou comment les clients auraient dû mieux planifier. Il s'agit d'un exemple concret d'environnements qui ont grandi et prospéré dans une capacité de production, mais qui ne voient pas de voie claire pour passer à la prochaine version de leur système d'exploitation.
Environnement A :
Organisation à but non lucratif avec 40 x Red Hat Enterprise Linux 5.4 et 5.5 des serveurs web, des serveurs de bases de données et des serveurs de messagerie, exécutant une pile d'applications web Java, des équilibreurs de charge logiciels et des bases de données Postgres. Tous les systèmes sont virtualisés sur deux clusters VMWare vSphere situés à des endroits différents, chacun étant doté de fonctions HA, DRS, etc.
Environnement B :
Société de trading financier à haute fréquence avec 200 x CentOS 5.x dans de multiples installations de colocation, qui exécutent des opérations de négociation de production et soutiennent le développement interne et les fonctions de back-office. Les serveurs de négociation fonctionnent sur du matériel serveur de base à nu. Ils disposent de nombreux sysctl.conf
, rtctl
Le système de gestion de l'information, la liaison d'interruption et les modifications du pilote sont en place pour réduire la latence de la messagerie. Certains ont des noyaux personnalisés et/ou en temps réel. Les postes de travail des développeurs utilisent également une ou plusieurs versions similaires de CentOS.
Dans les deux cas, les environnements fonctionnent bien en l'état. Le désir de mise à niveau vient du besoin d'une application ou d'une fonction plus récente disponible dans EL6.
- Pour l'entreprise à but non lucratif, elle est liée à Apache, au noyau et à certaines choses qui feront le bonheur des développeurs.
- Dans la société commerciale, il s'agit de quelques améliorations du noyau, de la pile réseau et de GLIBC, qui feront le bonheur des développeurs.
Les deux sont des choses qui ne peuvent pas être facilement emballées ou mises à jour sans modifier radicalement le système d'exploitation .
En tant qu'ingénieur système, j'apprécie que Red Hat recommande des reconstructions complètes lors du passage d'une version majeure à une autre. Un départ propre vous oblige à remanier et à prêter attention aux configurations en cours de route.
Étant donné que je suis sensible aux besoins commerciaux des clients, je me demande pourquoi cela doit être un tel problème. tâche onéreuse . Le système d'emballage RPM est plus que capable de gérer les mises à niveau en place, mais ce sont les petits détails qui comptent : /boot
nécessitant plus d'espace, nouveaux systèmes de fichiers par défaut, RPM pouvant se casser à mi-chemin de la mise à niveau, paquets obsolètes et défunts...
Quelle est la réponse ici ? D'autres distributions (basées sur .deb, Arch et Gentoo) semblent avoir cette capacité ou un meilleur chemin. Disons que nous trouvons le temps nécessaire pour accomplir cette tâche le droite manière :
- Que doivent faire ces clients pour éviter le même problème lorsque EL7 sera publié et se stabilisera ?
- Ou est-ce un cas où les gens doivent se résigner à une reconstruction complète tous les quelques années ?
- Cela semble s'être aggravé avec l'évolution de Enterprise Linux... Ou est-ce que je me fais des idées ?
- Cela a-t-il dissuadé quelqu'un d'utiliser Red Hat et ses systèmes d'exploitation dérivés ?
Je suppose qu'il y a l'angle de la gestion de la configuration, mais la plupart des installations de Puppet que je vois ne se traduisent pas bien dans des environnements avec des serveurs d'application hautement personnalisés ( Environnement B pourrait avoir un seul serveur dont ifconfig
sortie ressemble à ceci ). Je serais intéressé par des suggestions sur la façon dont la gestion de la configuration peut être utilisée pour aider les organisations à passer le cap de la version majeure de RHEL, cependant.
18 votes
J'étais sur le point de marquer cette question comme "non constructive", quand j'ai vu le nom de l'auteur, et le représentant, et par respect, je ne le ferai pas. Je pense toujours que c'est une question stupide, parce que la réponse est que "Red Hat a décidé qu'il devait en être ainsi". Les mises à jour de 4 à 5 étaient parfaitement possibles via le démarrage par DVD, et il y avait des procédures pour le faire sur un système d'exploitation en direct en utilisant le système d'exploitation de Red Hat.
yum
ce qui a fonctionné pour moi la plupart du temps. Mon seul espoir est que RH a pris un énorme ont été frappés par la douleur de leurs clients payants pour leur décision de ne pas avoir de chemin de mise à niveau pris en charge 5->6, et vont repenser cela pour 6->7.1 votes
Cela dit, vous savez qu'il existe un chemin de mise à niveau non pris en charge via le démarrage sur DVD de C5->C6 en utilisant le programme de mise à niveau de l'UE.
upgradeany
paramètre de démarrage, oui ? Je l'ai testé deux fois, une fois sur une installation C5 propre où il a bien fonctionné ; une fois sur une (copie de test d'une) vieille installation "anciennement C4 et mise à jour" où il a échoué de façon spectaculaire.2 votes
Je suis bien conscient des options de mise à niveau, et j'ai définitivement forcé les installations en utilisant l'approche RPM en direct (changement de repo,
*-release files
et tous). Mais les questions posées par les clients cette semaine m'ont fait réfléchir à la façon dont un environnement peut s'enraciner dans une version spécifique, sans qu'il soit possible d'en sortir.