GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come controllare un disco per blocchi danneggiati o errori del disco su CentOS / RHEL

I dischi rigidi possono guastarsi inaspettatamente ed è sempre meglio conservare backup recenti di tutti i dati importanti. Tieni presente che anche se viene rilevato un errore attuale o in arrivo, potrebbe non esserci abbastanza tempo per eseguire il backup dei dati. Di seguito sono riportati diversi metodi che possono essere utilizzati per identificare i blocchi danneggiati o gli errori del disco in CentOS/RHEL.

Utilizzo di smartctl

Se ci sono diversi errori di I/O in /var/log/messages o se si sospetta semplicemente che i dischi rigidi potrebbero non funzionare, smartctl può essere uno strumento utile per controllarli. S.M.A.R.T. sta per Autocontrollo , Analisi e Tecnologia di reporting . Devi abilitare S.M.A.R.T. supporto nel BIOS prima di utilizzarlo.

Quindi, installa i pacchetti necessari per eseguire /usr/sbin/smartctl. In Red Hat Enterprise Linux, è fornito da smartmontools pacchetto.

1. Verifica se il tuo disco rigido supporta S.M.A.R.T. :

# smartctl -i /dev/xxx

Sostituisci /dev/xxx con il disco rigido di interesse quando usi i comandi descritti in questo post.

2. Per le unità SATA utilizzare:

# smartctl -i -d ata /dev/xxx

3. Abilita S.M.A.R.T. supporto con:

# smartctl -s on /dev/xxx            ### For SCSI Disks
# smartctl -s on -d ata /dev/xxx     ### for SATA Disks

4. L'esecuzione del seguente comando come root può essere un rapido test PASS/FAIL, ma i test più approfonditi discussi di seguito sono generalmente più conclusivi:

# smartctl -H /dev/xxx

Esecuzione di smartctl in background

Per avviare un test in background, esegui quanto segue come root:

# smartctl -t long /dev/xxx

Per accedere ai risultati, utilizzare il seguente comando:

# smartctl -a /dev/xxx

Per saperne di più sulle varie opzioni utilizzabili con smartctl consultare la pagina man del comando:

# man smartctl

Utilizzo di badblock

Puoi anche utilizzare il comando "badblocks" per verificare la presenza di blocchi danneggiati su un dispositivo disco. Il comando "badblocks" può essere molto utile per isolare i problemi con la sincronizzazione delle partizioni LVM all'interno di Linux. Le operazioni LVM falliranno a causa di blocchi danneggiati su un disco. I blocchi danneggiati sul disco di origine o di destinazione all'interno di un mirror LVM causeranno un errore di sincronizzazione.

I Badblock possono anche essere usati insieme a fsck e makefs per contrassegnare i blocchi come danneggiati. Se l'output di badblocks verrà inviato ai programmi e2fsck o mke2fs, è importante che la dimensione del blocco sia specificata correttamente, poiché i numeri di blocco che vengono generati dipendono molto dalla dimensione del blocco utilizzata dal filesystem. Per questo motivo, è fortemente raccomandato che gli utenti non eseguano direttamente i badblock, ma piuttosto utilizzino l'opzione -c dei programmi e2fsck e mke2fs.

Avviso :L'uso improprio di questi comandi può causare la perdita di dati. Ulteriori informazioni sul comando "badblocks" sono disponibili utilizzando il comando "man badblocks".

1. Utilizzare lo strumento di controllo del disco badblocks per eseguire la scansione del disco rigido specificato blocco per blocco. Ad esempio, per scansionare /dev/sdd emettere i comandi:

# mount | grep sdd                  # find all mounted partitions of sdd
# umount /dev/sdd1                  # unmount the partitions (may be more then one)
# badblocks -n -vv /dev/sdd

Dove -n è utilizzare la modalità di lettura-scrittura non distruttiva. Per impostazione predefinita, viene eseguito solo un test di sola lettura non distruttivo.

Nota :non utilizzare mai il -w opzione su un dispositivo contenente un file system esistente. Questa opzione cancella i dati! Se è necessario eseguire il test della modalità di scrittura su un file system esistente, utilizzare -n opzione invece. È più lento, ma conserverà i dati.

2. Se i messaggi simili agli esempi riportati di seguito compaiono in /var/log/messages o nella console a seguito dell'esecuzione di badblock si consiglia di eseguire il backup dei dati sui dispositivi interessati e di sostituire il dispositivo:

Apr  4 13:50:40 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Apr  4 13:50:40 test kernel: sdd: dma_intr: error=0x40 { UncorrectableError }, LBAsect=74367249, sector=74367232
Apr  4 13:50:40 test kernel: ide: failed opcode was: unknown
Apr  4 13:50:40 test kernel: end_request: I/O error, dev sdd, sector 74367232
Apr  4 13:50:42 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }
Apr  4 13:50:42 test kernel: sdd: dma_intr: error=0x40 { UncorrectableError }, LBAsect=74367249, sector=74367240
Apr  4 13:50:42 test kernel: ide: failed opcode was: unknown
Apr  4 13:50:42 test kernel: end_request: I/O error, dev sdd, sector 74367240
Apr  4 13:50:44 test kernel: sdd: dma_intr: status=0x51 { DriveReady SeekComplete Error }

3. Il comando seguente scaricherà i blocchi danneggiati trovati nel file di output:badblocks.log.

# badblocks -v -o badblocks.log /dev/sdd


Cent OS
  1. Come controllare l'intero disco rigido per errori e settori danneggiati?

  2. Come verificare la presenza di blocchi danneggiati su un volume fisico Lvm?

  3. CentOS / RHEL 7:come abilitare telnet per un gruppo di utenti

  4. Come eliminare il disco ASM su un dispositivo multipath in CentOS/RHEL

  5. Come impostare children-max per il servizio udev in CentOS/RHEL 7

Come controllare i settori danneggiati o i blocchi danneggiati sul disco rigido in Linux

Come controllare il disco rigido per settori o blocchi danneggiati in Linux

Come abilitare la quota disco per utenti e gruppi su CentOS 7 / RHEL 7

Come controllare i blocchi danneggiati o i settori danneggiati sul disco rigido in Linux

Come controllare la versione di CentOS

Come installare Varnish Cache 6 per Nginx su CentOS/RHEL 8