Content
- Concetti introduttivi
- Gradi di verbosità
- Processo generale di guasto
- Come sostituire un disco
- Guida passo passo alla sostituzione di un disco guasto nella root ZFS
- Determinazione della tabella delle partizioni (GPT o MBR) e trasferimento sul nuovo disco
- Copia del partizionamento per GPT
- Copia del partizionamento MBR
- Installazione del bootloader
- Aggiunta di un disco
- Conclusione
Sostituzione di un disco guasto nella root ZFS
Concetti introduttivi
Questo documento è una guida per gli amministratori e le persone che possiedono un certo livello di conoscenza delle piattaforme hardware e dei concetti di storage, come RAID. Se si possiede già una buona comprensione del processo generale di guasto, si possono saltare le sezioni relative alla sostituzione di un'unità e alla riparazione del pool.
Gradi di verbosità
Quando un'unità si guasta o presenta errori, SmartOS registra una grande quantità di informazioni. Per individuare la causa del guasto del disco è necessario scendere nei dettagli. Di seguito sono riportati i comandi in ordine decrescente di verbosità:
Il comando 'zpool status' fornisce una panoramica sullo stato di salute del pool.
iostat fornisce il conteggio degli errori di alto livello e informazioni specifiche sui dispositivi.
fmadm faulty ci aiuterà a determinare con maggiore precisione la causa del guasto del disco. fmadm è anche in grado di cancellare i guasti transitori;
Il comando fmdump fornisce un registro degli ultimi {n} giorni di eventi di guasto.
Oltre alla sostituzione dei dischi guasti, queste informazioni possono essere estremamente utili per isolare la causa principale del problema se il problema è più complesso di un semplice guasto del disco.
Processo generale di guasto
Nel sistema, quando si verifica un guasto del disco, ZFS non è il primo componente a rilevarlo e a rispondere. Al contrario, si verifica il seguente ordine generale di eventi:
1. FMA (Fault Management Architecture) rileva e registra un disco guasto. FMA monitora e gestisce i guasti hardware nel sistema.
2. Una volta che FMA ha rilevato il disco guasto, il sistema operativo interviene e rimuove il disco dal sistema.
3. ZFS, che è un file system robusto e scalabile, viene a conoscenza del cambiamento di stato. ZFS rileva che il disco è stato rimosso e reagisce mandando in errore il dispositivo. Il guasto del dispositivo significa che ZFS contrassegna il disco come difettoso e prende le misure necessarie per mantenere l'integrità e la disponibilità dei dati.
Questo processo generale di guasto assicura che qualsiasi guasto del disco nel sistema venga prontamente rilevato, registrato e risposto dai componenti pertinenti. FMA esegue la fase iniziale di identificazione del disco guasto, seguita dalla sua rimozione da parte del sistema operativo e, infine, dalla reazione di ZFS al cambiamento di stato con il guasto del dispositivo. Seguendo questo ordine di eventi, il sistema è in grado di gestire efficacemente i guasti dei dischi e di mantenere la stabilità e l'affidabilità generale dell'infrastruttura di archiviazione.
Si noti che questa è una descrizione generale del processo di guasto e può variare a seconda dell'implementazione e della configurazione specifica del sistema.
Come sostituire un disco
Panoramica di alto livello della sostituzione di un disco guasto nella root ZFS
Nota: Prima di procedere con la sostituzione del disco, assicurarsi di aver identificato correttamente il disco guasto. Inoltre, assicurarsi di avere a disposizione un disco di riserva per la sostituzione.
Guida passo passo alla sostituzione di un disco guasto nella root ZFS
Supponiamo che il server abbia 2 dischi: /dev/sda e /dev/sdb.
Uno dei dischi si è guastato, ad esempio /dev/sdb
Il disco danneggiato deve essere sostituito.
Per prima cosa, definiamo il nostro pool con il comando:
zpool list
Prima di sostituire il disco, è consigliabile rimuoverlo dall'array:
zpool detach rpool /dev/sdb
Quindi, spegnere il server se non è possibile scambiare i dischi a caldo, ma tutto ciò che viene descritto di seguito può essere fatto senza fermare il server, se si dispone di un controller e di un hotswap.
poweroff
Sostituire fisicamente il disco guasto.
Determinazione della tabella delle partizioni (GPT o MBR) e trasferimento sul nuovo disco
Dopo aver sostituito un disco danneggiato, è necessario determinare se la tabella delle partizioni è GPT o MBR.
Per farlo, utilizzare gdisk. Installare gdisk:
apt-get install gdisk -y
Eseguire il comando:
gdisk -l /dev/sda
Dove /dev/sda è un disco valido in RAID.
Per MBR l'output sarà approssimativamente il seguente:
Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present
Per il GPT, è approssimativamente il seguente:
Partition table scan: MBR: protective BSD: not present APM: not present GPT: present
Prima di aggiungere un disco all'array, è necessario partizionarlo esattamente come un buon disco sda. Questa operazione viene eseguita in modo diverso a seconda del partizionamento del disco.
Copia del partizionamento per GPT
Per copiare il partizionamento GPT:
Nota:il primo è il disco su cui viene copiato il partizionamento e il secondo è il disco da cui viene copiato il partizionamento. Se si confondono, il partizionamento sul disco originariamente utilizzabile verrà distrutto.
sgdisk -R /dev/sdb /dev/sda
Assegnare un nuovo UUID casuale al disco:
sgdisk -G /dev/sdb
Copia del partizionamento MBR
Per copiare il partizionamento MBR:
Nota!
Qui si scrive prima il disco da cui si trasferisce il partizionamento e poi il disco su cui lo si trasferisce.
sfdisk -d /dev/sda | sfdisk /dev/sdb
Se le partizioni non sono visibili nel sistema, è possibile rileggere la tabella delle partizioni con il comando:
sfdisk -R /dev/sdb
Installazione del bootloader
Dopo aver partizionato il disco, è necessario installarvi il bootloader:
grub-install /dev/sdb
Aggiunta di un disco
Specificare il disco da sostituire (nel nostro caso è /dev/sdb3):
zpool replace rpool /dev/sdb3
Aggiunta di un disco al raid:
zpool online rpool /dev/sdb3
Attendere il completamento della sincronizzazione dell'array:
zpool status
Conclusione
Seguendo queste istruzioni, è possibile sostituire con successo un disco guasto nella root ZFS senza compromettere l'integrità dei dati. È essenziale prendere le dovute precauzioni ed eseguire le fasi di backup e di verifica per evitare la potenziale perdita di dati e garantire un funzionamento regolare.