GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:cosa accadrebbe se un disco rigido si guastasse mentre il kernel Linux era in esecuzione?

Sono sempre stato curioso di sapere cosa sarebbe successo se un disco rigido si fosse guastato mentre il kernel Linux era in esecuzione. Poiché l'immagine del kernel stessa viene caricata completamente nella RAM, non immagino che ci sarebbero errori del kernel. Ovviamente qualsiasi software che tentasse di accedere al disco fallirebbe.

C'è qualche possibilità che il sistema continui a funzionare indefinitamente? In caso negativo, cosa lo farebbe andare nel panico (o almeno diventare inutilizzabile)?

Si prega di considerare ciascuno dei seguenti scenari:

  • Il kernel può avere o meno il file di scambio abilitato.
  • Nessun tentativo di caricare i moduli del kernel viene effettuato dopo l'errore.
  • Fa differenza se alcune parti del filesystem si trovano su dischi diversi?

Risposta accettata:

I guasti hardware corrono sempre il rischio di mandare in crash il kernel poiché quei percorsi di codice generalmente hanno avuto molti meno test, ma normalmente, un disco rigido guasto non dovrebbe mandare in crash il kernel. Ciò che accade esattamente dipende dalla natura del fallimento. Forse solo alcuni settori ora sono illeggibili, rendendo illeggibili parti della partizione /home, il sistema sarà ancora eseguibile per un amministratore di sistema per analizzare il problema. Se il filesystem di root diventa inutilizzabile, il sistema è praticamente morto indipendentemente da un arresto anomalo del kernel poiché anche una semplice shell non sarà disponibile. Se una partizione di swap diventa non disponibile, i programmi che utilizzano lo swap segmenteranno l'errore quando arriva il momento di leggere i dati scambiati. Se il disco rigido che si è arrestato in modo anomalo è semplicemente spazio di archiviazione aggiuntivo, potrebbe avere scarsi effetti oltre al fatto che alcuni filesystem diventano illeggibili.

Può anche dipendere dal tipo di errori che sta generando il disco rigido. Ho visto un'unità effettivamente scomparire e oltre alla scomparsa dei file system, tutto è andato bene. Ho anche visto un disco rigido che blocca continuamente il sistema e genera errori dopo un lungo timeout causando il deterioramento delle prestazioni dell'intero sistema. Se si utilizza un livello come MD che esegue RAID1/4/5, un errore grave normalmente farà sì che il kernel contrassegni il disco come guasto e lo ignorerà facendo affidamento sulle unità rimanenti per mantenere in esecuzione il sistema.


Linux
  1. Che cos'è il kernel Linux e dovresti aggiornare al kernel più recente?

  2. Linux:quali sorgenti di entropia vengono utilizzate dal kernel Linux?

  3. Qual è l'attuale sorgente del kernel Linux?

  4. Quale sarebbe l'equivalente dell'API Win32 in Linux?

  5. Cosa fanno i parametri del kernel acpi_osi=linux e acpi_backlight=vendor?

Qual ​​è la differenza tra i kernel macOS e Linux

Che cos'è la shell in Linux?

Come verificare quale versione del kernel Linux sto utilizzando

Aggiornamento a Solid State Drive in Linux:il modo più semplice e quello più difficile

Qual è il modo più semplice per liberare spazio su un disco rigido?

Qual è il vantaggio di compilare il proprio kernel Linux?