Il file system XFS è interrotto in RHEL / CentOS 6.x – Cosa posso fare?

Le versioni più recenti di RHEL / CentOS (EL6) hanno portto alcune modifiche interessanti al filesystem XFS che ho dipenduto da molto per più di un decennio. Ho trascorso parte dell'estate scorsa inseguendo una situazione di file scarsamente XFS risultante da un backport del kernel poco documentato. Altri hanno avuto problemi di performance sfortunati o comportmenti incoerenti da quando si è trasferito in EL6.

XFS è stato il mio file system predefinito per i dati e le partizioni di crescita, in quanto offre stabilità, scalabilità e una buona spinta di performance rispetto ai filesystem predefiniti ext3.

  • Come recuperare più file dalla macchina remota a locale con il sistema Ansible
  • Puppet - Qualsiasi modo per copiare i file di configuration personalizzati predefiniti per il software sui client dal master fantoccio (host)?
  • Perché "shutdown -r now" si comport diversamente da "reboot -f" su Debian Linux?
  • Migrazione dell'image del disco raw su LAN
  • Disabilitazione del shell di utente "daemon" (/ bin / false)
  • Limitare sudo a una sola directory ed è subdirectories dal file sudoers
  • C'è un problema con XFS sui sisthemes EL6 che sono emersi nel novembre 2012. Ho notato che i miei server mostravano carichi di sistema anormalmente elevati, anche quando sono inattivi. In un caso, un sistema scaricato mostrerebbe una media di carico costante di 3+. In altri, c'era uno scoppio di 1+ nel carico. Il numero di file system XFS montati sembra influenzare la gravità dell'incremento del carico.

    Il sistema dispone di due file system XFS attivi. Il carico è +2 dopo l'aggiornamento al kernel interessato. immettere qui la descrizione dell'immagine

    Scavando più in profondità, ho trovato un paio di thread nella mailing list XFS che indicava una maggiore frequenza del process xfsaild seduto nello stato STAT D. Il corrispondente inseguitore di bug CentOS e le voci di Red Hat Bugzilla delineano le specifiche del problema e concludono che questo non è un problema di performance; solo un errore nella segnalazione del carico di sistema nei kernel più recenti di 2.6.32-279.14.1.el6 .

    WTF?!?

    In una situazione unica, capisco che il rapporto di caricamento potrebbe non essere un grosso problema. Prova a gestire questo con i tuoi NMS e centinaia o migliaia di server! Questo è stato identificato nel novembre 2012 al kernel 2.6.32-279.14.1.el6 sotto EL6.3. I kernel 2.6.32-279.19.1.el6 e 2.6.32-279.22.1.el6 sono stati rilasciati nei mesi successivi (dicembre 2012 e febbraio 2013) senza modifiche a questo comportmento. C'è stato anche un nuovo rilascio minore del sistema operativo da quando questo problema è stato identificato. EL6.4 è stato rilasciato ed è ora sul kernel 2.6.32-358.2.1.el6 , che mostra lo stesso comportmento.

    Ho avuto una nuova coda di compilazione del sistema e ho dovuto lavorare intorno al problema, o bloccando le versioni del kernel alla versione precedente di novembre 2012 per EL6.3 o semplicemente non utilizzare XFS, optando per ext4 o ZFS , per l'applicazione personalizzata specifica in esecuzione in cima. L'applicazione in questione si basa fortemente su alcuni degli attributi del filesystem XFS per tenere conto delle carenze nel progetto applicativo.

    Andando dietro il sito di conoscenza basata sul redwall di Red Hat, appare una voce che indica:

    La media di alto carico viene osservata dopo l'installazione del kernel 2.6.32-279.14.1.el6. La media di carico elevato è causata da xfsaild che entra nello stato D per each dispositivo formattato XFS.

    Attualmente non esiste alcuna risoluzione per questo problema. Attualmente viene rilevato tramite Bugzilla # 883905. Soluzione temporanea Diminuire il pacchetto del kernel installato in una versione inferiore a 2.6.32-279.14.1.

    (tranne che il downgrade dei kernel non è un'opzione su RHEL 6.4 …)

    Quindi siamo 4+ mesi in questo problema senza alcuna riparazione reale prevista per le release EL6.3 o EL6.4 OS. C'è una correzione proposta per EL6.5 e una patch di origine del kernel disponibile … Ma la mia domanda è:

    A che punto ha senso spostarsi dai kernel e dai pacchetti forniti dal sistema operativo quando il manutentore upstream ha interrotto una caratteristica importnte?

    Red Hat ha introdotto questo bug. Dovrebbero incorporare una correzione in un kernel di errata. Uno dei vantaggi di utilizzare i sisthemes operativi enterprise è che forniscono un objective piattaforma coerente e prevedibile . Questo errore ha interrotto i sisthemes già in produzione durante un ciclo di patch e riduce la fiducia nella distribuzione di nuovi sisthemes. Mentre potrei applicare una delle patch proposte al codice sorgente , come è scalabile? Ci vuole una certa vigilanza per mantenere aggiornato come le modifiche al sistema operativo.

    Qual è il giusto movimento qui?

    • Sappiamo che questo potrebbe essere fisso, ma non quando.
    • Supporto del proprio kernel in un ecosistema di Red Hat ha un proprio insieme di caveat.
    • Qual è l'impatto sull'ammissibilità del supporto?
    • Dovrei solo sovrapporre un kernel EL6.3 funzionante in cima ai nuovi server EL6.4 per get la giusta funzionalità XFS?
    • Dovrei solo aspettare che questo sia ufficialmente fisso?
    • Cosa dice questo sulla mancanza di controllo che abbiamo sui loops di rilascio di Enterprise Linux?
    • È stato affidamento su un filesystem XFS per tanto tempo un errore di pianificazione / progettazione?

    Edit:

    Questa patch è stata incorporata nella versione più recente del kernel CentOSPlus ( kernel-2.6.32-358.2.1.el6.centos.plus ). Sto testando sui miei sisthemes CentOS, ma questo non aiuta molto ai server basati su Red Hat.

    3 Solutions collect form web for “Il file system XFS è interrotto in RHEL / CentOS 6.x – Cosa posso fare?”

    A che punto ha senso spostarsi dai kernel e dai pacchetti forniti dal sistema operativo quando il manutentore upstream ha interrotto una caratteristica importnte?

    "Al punto in cui il kernel oi pacchetti del fornitore sono così terribilmente rotti che influenzano la tua attività" è la mia risposta generale (coincidenza è anche il punto in cui dico che è opportuno iniziare a cercare modi per uscire dalla relazione vendor) .

    Fondamentalmente, come lei e altri hanno affermato, RedHat sembra non volerlo risolvere questo problema nel loro kernel distribuito (per qualunque motivo). Questo ti lascia molto nella situazione di wherer rullare il proprio kernel (tenendolo aggiornato sulle patch, mantenendo il tuo pacchetto e installandolo sui tuoi sisthemes con Puppet o simili o eseguendo un server di pacchetti che Yum o qualunque cosa uso oggi può fare riferimento), o prendendo i tuoi marmi e tornando a casa.


    Sì, so che prendere i tuoi marmi e tornare a casa è spesso una proposta costosa – commutare i produttori di sisthemes operativi è un enorme dolore, specialmente nel mondo Linux where i sapori sono radicalmente diversi da un punto di vista amministrativo.
    Altre opzioni come andare completamente CentOS sono anche inutili (perché si perde il supporto e stai ancora ottenendo essenzialmente il codice RedHat costruito da qualcun altro in modo da avere ancora questo bug).

    Purtroppo, a less che non abbastanza persone (cioè "aziende enormi) prendono i loro marmi e tornino a casa il venditore non si preoccupa tanto di avvitare la gente spedendo il codice difettoso e non fissandolo.

    Questo è stato fisso (in silenzio ) da Red Hat 23 aprile 2013 in RHEL kernel-2.6.32-358.6.1.el6 come parte degli aggiornamenti 6.4 errata …

    Se hai bisogno di patch il tuo kernel RHEL, puoi farlo da solo e essere ufficialmente supportto su quel kernel, ti servirà solo per certificare.

    Ci sono disposizioni nell'accordo di sostegno RHEL per farlo – l'ISTR ti sei limitato a 1 o 2 per trimestre o anno ma non puoi ricordarmi di sicuro.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.