Vamos con otra herramienta que nos servirá para tener nuestro servidor controladito de errores.
Smartmoontools es un conjunto de herramientas que nos empezarán a molestar cuando detecten que los discos estén chungos. Normalmente los discos tienen un tiempo de vida limitado, al ser un aparato mecánico las piezas dejan de girar correctamente, se llenan de polvo y dejan de funcionar, normalmente los discos antes de morirse del todo avisan, pero como manda murphy los discos también pueden tener muertes súbitas sin ningún tipo de aviso. Con esta herramienta tendremos estos errores controlados y a la que aparezca uno ya podemos empezar a buscar en la red o en una tienda un nuevo disco duro para nuestro ordenador.
# apt-get install smartmontools
# vi /etc/default/smartmontools
mantenemos comentadas todas las lineas excepto una, que la dejamos asístart_smartd=yes
luego deberemos ver cuales son nuestros discos físicos, así que usaremos fdisk.
# fdisk -l
Disk /dev/sda: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x10003f1fDevice Boot Start End Blocks Id System
/dev/sda1 1 24107 193639446 83 LinuxDisk /dev/sdb: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xb2101f85Device Boot Start End Blocks Id System
/dev/sdb1 1 30515 245111706 83 LinuxDisk /dev/sdc: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xde17de17Device Boot Start End Blocks Id System
/dev/sdc1 * 1 9494 76260523+ 83 Linux
/dev/sdc2 9495 9729 1887637+ 5 Extended
/dev/sdc5 9495 9729 1887606 82 Linux swap / SolarisDisk /dev/md0: 198.2 GB, 198286704640 bytes
2 heads, 4 sectors/track, 48409840 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0xf6f6f6f6Disk /dev/md0 doesn’t contain a valid partition table
Aquí tenemos un ordenador con 3 discos, 2 discos IDE en RAID y detrás de una controladora fakeRAID y un disco SATA.
Así que le diremos a smartmoontools qué discos tiene que vigilar, editaremos /etc/smartd.conf y dejaremos descomentadas sólo 3 líneas:
/dev/sda -a -d sat -m root
/dev/sdb -a -d sat -m root
/dev/sdc -a -d sat -m root
El uso de estos comandos nos lo indicaba anteriormente el /var/log/syslog
Feb 4 16:41:45 frodo smartd[6333]: Unable to monitor any SMART enabled devices. Try debug (-d) option. Exiting…
Feb 4 16:43:48 frodo smartd[6378]: smartd version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Feb 4 16:43:48 frodo smartd[6378]: Home page is http://smartmontools.sourceforge.net/
Feb 4 16:43:48 frodo smartd[6378]: Opened configuration file /etc/smartd.conf
Feb 4 16:43:48 frodo smartd[6378]: Drive: DEVICESCAN, implied ‘-a’ Directive on line 22 of file /etc/smartd.conf
Feb 4 16:43:48 frodo smartd[6378]: Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
Feb 4 16:43:48 frodo smartd[6378]: Problem creating device name scan list
Feb 4 16:43:48 frodo smartd[6378]: Device: /dev/sda, opened
Feb 4 16:43:48 frodo smartd[6378]: Device /dev/sda: ATA disk detected behind SAT layer
Feb 4 16:43:48 frodo smartd[6378]: Try adding ‘-d sat’ to the device line in the smartd.conf file.
Feb 4 16:43:48 frodo smartd[6378]: For example: ‘/dev/sda -a -d sat’
Feb 4 16:43:48 frodo smartd[6378]: Device: /dev/sdb, opened
Feb 4 16:43:48 frodo smartd[6378]: Device /dev/sdb: ATA disk detected behind SAT layer
Feb 4 16:43:48 frodo smartd[6378]: Try adding ‘-d sat’ to the device line in the smartd.conf file.
Feb 4 16:43:48 frodo smartd[6378]: For example: ‘/dev/sdb -a -d sat’
Feb 4 16:43:48 frodo smartd[6378]: Device: /dev/sdc, opened
Feb 4 16:43:48 frodo smartd[6378]: Device /dev/sdc: ATA disk detected behind SAT layer
Feb 4 16:43:48 frodo smartd[6378]: Try adding ‘-d sat’ to the device line in the smartd.conf file.
Feb 4 16:43:48 frodo smartd[6378]: For example: ‘/dev/sdc -a -d sat’
Feb 4 16:43:48 frodo smartd[6378]: Unable to monitor any SMART enabled devices. Try debug (-d) option. Exiting…
Así que usaremos -d sat para que nos muestre todos los errores que salgan en los logs y -m root para que lo mande todo al mail de root, así que nos enteraremos cada vez que haya algun tipo de error…
Luego si tenemos algun servidor de correo como exim4 podemos usar mutt en consola para ver los mails que manda el sistema al usuario root.
badblocks – para marcar los bloques dañados