"Possiamo aggiornare i nostri server EL5 di produzione esistenti a EL6?"
Una richiesta semplice da parte di due clienti con ambienti completamente diversi ha portato la mia solita risposta alle migliori pratiche di "sì, ma richiederà una ricostruzione coordinata di tutti i tuoi sistemi " ...
Entrambi i clienti ritengono che una ricostruzione completa dei loro sistemi sia un'opzione inaccettabile per tempi di inattività e motivi di risorse ... Alla domanda sul perché fosse necessario reinstallare completamente i sistemi, non ho avuto una buona risposta oltre ", è così ..."
Non sto cercando di ottenere risposte sulla gestione della configurazione ("Puppetize tutto " non sempre si applica ) o su come i clienti avrebbero dovuto pianificare meglio. Questo è un esempio reale di ambienti che sono cresciuti e prosperati in una capacità di produzione, ma non vedono un percorso pulito per passare alla versione successiva del loro sistema operativo.
Ambiente A:
organizzazione senza fini di lucro con 40 x Red Hat Enterprise Linux 5.4 e 5.5 web, server di database e server di posta, esecuzione di uno stack di applicazioni Web Java, bilanciamento del carico software e database Postgres. Tutti i sistemi sono virtualizzati su due cluster VMWare vSphere in posizioni diverse, ciascuno con HA, DRS, ecc.
Ambiente B:
società di trading finanziario ad alta frequenza con 200 sistemi CentOS 5.x in più strutture di co-location che eseguono operazioni di trading di produzione, supportando lo sviluppo interno e le funzioni di back-office. I server di trading sono in esecuzione su hardware server di metallo bare metal. Hanno numerose sysctl.conf
, rtctl
interruzioni di associazione e modifiche al driver per ridurre la latenza della messaggistica. Alcuni hanno kernel personalizzati e / o in tempo reale. Le stazioni di lavoro degli sviluppatori eseguono anche versioni simili di CentOS.
In entrambi i casi, gli ambienti funzionano bene così come sono. Il desiderio di aggiornare deriva dalla necessità di un'applicazione o funzionalità più recente disponibile in EL6.
- Per l'azienda no profit, è legato ad Apache, al kernel e ad alcune cose che renderanno felici gli sviluppatori.
- Nella società di trading, si tratta di alcuni miglioramenti nel kernel, nello stack di rete e nel GLIBC, che renderanno felici gli sviluppatori.
Entrambi sono elementi che non possono essere facilmente impacchettati o aggiornati senza alterare drasticamente il sistema operativo .
Come ingegnere di sistema, apprezzo il fatto che Red Hat raccomandi ricostruzioni complete quando ci si sposta tra le versioni principali. Un inizio pulito ti costringe a refactoring e prestare attenzione alle configurazioni lungo la strada.
Essendo sensibile alle esigenze aziendali dei clienti, mi chiedo perché questo debba essere un compito così oneroso . Il sistema di packaging RPM è più che in grado di gestire gli aggiornamenti sul posto, ma sono i piccoli dettagli che ti ottengono: /boot
richiedere più spazio, nuovi file system predefiniti, RPM che probabilmente interrompe i pacchetti a metà aggiornamento, deprecati e defunti ...
Qual è la risposta qui? Altre distribuzioni (basate su .deb, Arch e Gentoo) sembrano avere questa capacità o un percorso migliore. Diciamo che troviamo i tempi di inattività per svolgere questo compito nel modo giusto :
- Cosa dovrebbero fare questi client per evitare lo stesso problema quando EL7 viene rilasciato e si stabilizza?
- O è un caso in cui le persone hanno bisogno di rassegnarsi alle ricostruzioni complete ogni pochi anni?
- Questo sembra peggiorare con l'evoluzione di Enterprise Linux ... O lo sto solo immaginando?
- Ciò ha dissuaso qualcuno dall'utilizzare Red Hat e i sistemi operativi derivati?
Suppongo che ci sia l'angolo di gestione della configurazione, ma la maggior parte delle installazioni di Puppet che vedo non si traducono bene in ambienti con server applicativi altamente personalizzati (l' ambiente B potrebbe avere un singolo server il cui ifconfig
output è simile a questo ). Sarei interessante nel sentire suggerimenti su come utilizzare la gestione della configurazione per aiutare le organizzazioni a superare il bump della versione principale di RHEL.
upgradeany
parametro boot-time, sì? L'ho provato due volte, una volta su un'installazione C5 pulita dove funzionava bene; una volta su una (copia di prova di un) vecchio crufty "usato per essere C4 ed è stato aggiornato" dove falliva drammaticamente.
*-release files
e tutto il resto). Ma le domande dei clienti di questa settimana mi hanno fatto riflettere di più su come un ambiente possa diventare radicato con una versione specifica e non avere alcun percorso.
yum
, che ha funzionato per me la maggior parte del tempo. La mia unica speranza è che RH abbia subito un enorme colpo di dolore dai loro clienti paganti per la loro decisione di non avere un percorso di aggiornamento supportato 5-> 6, e ripenserò questo per 6-> 7.