Linux vulnerabile alla corruzione in mancanza di corrente?


10

Gli amministratori di sistema della mia azienda affermano che Linux è incline a farsi prendere da una mancanza di corrente. Dicono che le macchine Windows sopravvivono sempre a interruzioni di corrente, ma le scatole Linux spesso diventano irrecuperabili (cioè non è più possibile avviare le macchine). Ciò è emerso perché mi hanno detto che la compagnia elettrica ha interrotto l'alimentazione dei nostri uffici per un lungo periodo di tempo, quindi gli amministratori volevano che chiudessi tutte le scatole Linux a cui solo io ho accesso prima dell'interruzione.

Pensavo che Linux dovesse essere robusto?
La mia domanda, - c'è qualche processo che dovrei eseguire per evitare che le mie scatole Linux vengano danneggiate da un'interruzione di corrente?


2
Bene, trascurando i diversi problemi del sistema operativo, le interruzioni di corrente influiscono su qualsiasi macchina, semplicemente perché ogni processo in esecuzione si interrompe. È sempre preferibile lasciare che la macchina si spenga automaticamente, perché in questo modo tutti i processi possono arrestarsi normalmente.
Doktoro Reichard,

Doh, lo so. La domanda è se Linux sia più fragile di Windows per qualche motivo, e in tal caso, c'è qualcosa che posso fare per aumentarne la robustezza (come forzarlo a svuotare la cache del disco più frequentemente, ad esempio).
Tyler Durden,

2
La mia risposta voleva essere generale e comprensiva: qualunque cosa tu faccia, c'è sempre il rischio che qualcosa non vada a buon fine . Se Linux è più fragile, lo lascio a chi sa rispondere in modo specifico. La mia esperienza personale (con Windows e con OSX) mi ha mostrato che, a meno che non facessi qualcosa a cui tenessi l'output (simulazioni, per esempio), sono tornati indietro facilmente. Forse qualcosa che dovresti aggiungere è come vengono usate le macchine.
Doktoro Reichard,

"Esiste un processo che dovrei eseguire per evitare che le mie scatole Linux vengano danneggiate da un'interruzione di corrente?" Il problema è a livello hardware, l'unico comando che puoi eseguire qui che sarebbe di aiuto è "spegnere il computer" Se sei preoccupato per questo, ti consiglio un UPS (anche se diventa costoso se hai un gran numero di computer)
David,

7
È sempre una parola grossa, è anche falsa. Windows può essere danneggiato durante un'interruzione di corrente. Perché non si dispone di backup della batteria e si configura il sistema per lo spegnimento? Posso tranquillamente affermare che chiunque dica "sempre" si sbaglierà il 99.99999% delle volte.
Ramhound,

Risposte:


14

Linux è più fragile di Windows?
La risposta è: dipende .

Quando qualcuno dice "impossibile avviare" in questa situazione, lo traduco in "Corruzione del file system" e la risposta Sì o No alla domanda originale dipende tutto dal file system che stai utilizzando.

Windows non consente di disporre dell'intera gamma di opzioni per i filesystem consentite da un box Linux. Non si vede quasi mai un sistema Windows non NTFS. NTFS ha elementi integrati per aiutare in caso di interruzione dell'alimentazione, come l' inserimento nel journal e le transazioni di file che possono essere ripristinate in caso di errore.

Una scatola di Linux potrebbe avere questo e non potrebbe. Tutto dipende da come è stato impostato il server. Se il server utilizza ext2 1 potresti essere molto suscettibile alla corruzione dei file in caso di mancanza di corrente. Confrontalo con un sistema che utilizzava qualcosa come Btrfs che ha più funzionalità di integrità dei dati rispetto a NTFS.

Quindi se il sysadmin con cui stai parlando ha funzionato solo con i sistemi ext2, potrebbe benissimo avere ragione, ma se hai usato un altro filesystem potrebbe essere sbagliato.


1: Ext2 era l'impostazione predefinita per Debian e Red Hat Linux per molto tempo. Ora è stato sostituito principalmente con Ext3 che è più alla pari con NTFS per le funzionalità per l'integrità dei dati.


Che dire dei filesystem con journaling e transazioni di file che non sono NTFS? Non metto in dubbio la mancanza di potenza totale e totale in Windows che può portare a una migliore stabilità se qualcosa viene interrotto.
Ramhound,

3
Cito che nella mia nota in fondo, Ext3 è allo stesso livello di NTFS. Credo che il sysadmin possa aver sperimentato solo i filesystem Ext2 e dal suo punto di vista avrebbe ragione. È come se tu fossi esposto solo ai filesystem di Fat32 e non avessi mai visto NTFS, ti sentiresti allo stesso modo su Windows (le versioni di Windows su Fat32 avevano una storia orribile di corruzione dei file in caso di perdita di corrente)
Scott Chamberlain,

Ho perso del tutto la nota a piè di pagina :-(
Ramhound,

+1 per fare riferimento ai diversi file system in uso e journaling.
Doktoro Reichard,

Migliore risposta qui +1
Pimp Juice IT

3

No, Linux non è intrinsecamente meno robusto di Windows in caso di improvvise interruzioni di corrente. Ciò che potrebbe accadere - nel caso di entrambi i sistemi operativi - è che le cose vengono scritte sul file system sul disco rigido nel momento esatto in cui viene persa l'alimentazione, e (storicamente) ciò potrebbe corrompere il file system.

La soluzione a questo problema è utilizzare un filesystem journaling che è immune da questo problema in base al modo in cui scrive le informazioni. La maggior parte dei nuovi filesystem - inclusi Ext3 ed ExT4 (i filesystem più comuni per Linux), come, credo, anche NTFS. Quindi, finché si utilizza un filesystem journaling non si verificherà questo problema.

Più avanti nel processo di avvio, se hai un database (sto guardando MYSQL, Postgres non ne soffre), potresti avere problemi analoghi con il database MYSQL - MYSQL spesso non è particolarmente robusto ( conformità ACYS di Google MYSQL per questo argomento). È possibile aggirare questo problema forzando un controllo degli indici al riavvio se la configurazione di MySQL non è compatibile ACID.

Un'altra vista (un po 'sfinita e forse ingiusta rispetto a Windows) potrebbe essere questa: i box Linux sono più affidabili dei box Windows (come misurato da Uptime e la necessità di riavviare) - quindi è possibile che quando i box Linux falliscono al riavvio sia un problema hardware dovuto alla vecchiaia piuttosto che a un problema software, mentre una finestra di Windows non funzionante potrebbe essere rilevata prima a causa di riavvii più frequenti)


1

A seconda della distribuzione e del file system in uso, potrebbe essere più o meno vulnerabile. Se sei a conoscenza di un'interruzione di corrente programmata, dovresti assolutamente arrestare manualmente (e usare il tempo per la manutenzione come passare l'aspirapolvere ai sistemi o forse ricablare ... Per quelle interruzioni di corrente non programmate, procurati i sistemi UPS con il software di spegnimento Linux in modo da non farlo devi preoccuparti. Dovresti comunque eseguirlo. C'è un file APCUPSD disponibile per la maggior parte delle distribuzioni Linux, se non quello, quindi controlla con la tua distribuzione per vedere cosa c'è già dentro o disponibile. Assicurati che si spenga i tuoi sistemi in modo pulito prima di fare affidamento su di esso.


-9

Ho fatto alcune ricerche su questa domanda e ho scoperto che ciò che il mio dipartimento IT dice è essenzialmente corretto, Linux è molto più vulnerabile di Windows a un'interruzione di corrente. Il motivo è il modo in cui la tabella degli inode funziona in Linux / unix. Dal momento che è un elenco non ordinato e viene costantemente modificato, non vi è alcuna separazione tra file statici importanti come i binari del kernel e file senza valore come i file temporanei. Ciò significa che le voci di inode nei file di sistema critici vengono costantemente riscritte, ovviamente una pessima progettazione. In effetti, è più probabile che i file di sistema critici abbiano la scrittura delle loro voci di inode in un dato momento rispetto ai file non essenziali. Quando si spegne, tende a spazzare via qualunque parte della tabella degli inode sia stata scritta, il che probabilmente non contiene puntatori ai file di sistema. I file di sistema stessi sono integri e corretti, ma la directory per trovarli è danneggiata. La situazione è aggravata dalla memorizzazione nella cache del disco che ha l'effetto di aumentare le dimensioni delle aree danneggiate della tabella degli inode.

In Windows, anche il vecchio file system FAT è molto più robusto di questo. Anche FAT ha una tabella, ma è una tabella ordinata, quindi non ha file di sistema confusi con file temporanei. Di solito i file di sistema si trovano tutti insieme in un'area della directory e è improbabile che questa area venga scritta molto spesso. Inoltre, FAT ha una directory di backup, quindi anche se la directory è danneggiata, torna al backup. Ciò significa che con FAT è improbabile che l'utente perda qualsiasi collegamento ai file in caso di mancanza di corrente, anche i file temporanei. Con Linux, tuttavia, poiché la tabella degli inode viene costantemente scritta, all'utente è praticamente garantito di perdere l'accesso ai file in mancanza di corrente.

L'unica cosa che si può fare per mitigare questo è disattivare la memorizzazione nella cache del disco.


2
-1. Sostieni i tuoi reclami con link, articoli, fonti ecc. E revocherò il mio downvote. A quale filesystem di Linux ti riferisci?
Kamil Maciorowski,

Tyler - Hai letto la risposta postata da Scott Chamberlain sulla tua domanda, giusto? Sei sicuro al 100% che il modo in cui spieghi queste tabelle di inode che memorizzano i puntatori per i file Linux, inclusi i file di sistema del sistema operativo, è il modo in cui funziona per tutti i file system Linux attuali, dato che puoi sceglierne più di uno come spiegato, e alcuni ne hanno di più robusti controlli di inode / journaling / transazioni di metadati di file rispetto ad altri, inclusi alcuni che sono più potenti di NTFS, come spiegato? Forse sei un sistema o quello di cui hai scritto è a causa dell'uso di un vecchio file system Linux e quindi scegli saggiamente?
Pimp Juice IT

Il motivo principale per cui trovo questa risposta - e l'intera domanda - uno scherzo è che Linux / Unix alimenta Internet, non Windows. Se le interruzioni possono spazzare via i sistemi Linux / Unix così facilmente, Internet non sarebbe in grado di funzionare. Inoltre, i router che usano Linux sarebbero inutili quando vengono accesi e spenti abitualmente in modo rapido.
Jake Gould,

Questa risposta non è solo cattiva; è semplicemente una sciocchezza. Nessuno dei fatti indicati in questa risposta è neanche lontanamente accurato.
duskwuff -inattivo-
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.