martes, diciembre 10, 2013

HDD Temp, Sudo y Ubuntu/Debian, para no morir en el intento

Sabemos que el estado del disco rígido es una cuestión escencial para tomar medidas con tiempos y preventivas a modo de conservar y respaldar la información, y preveer la continuidad de negocios, en una empresa, o tan básico como evaluar el momento oportuno de hacer cambio un disco rigido y minimizar la perdida de información, y evitar asi arriesgar la disponibilidad de esta.
Ante el aumento de temperatura de un dispositivo de almacenameniento, es importante monitorear y seguir de cerca, para poder adelantarte y realizar los ajustes y cambios respectivos.

Hace unos días me encuentro en la ardua tarea de tratar de sincronizar todos mis equipos para que permanentemente me esten brindando información de su estado, como asi también un resumen de los equipos principales en la red local, y el estado de algunos servicios.



En este caso, comencé con la etapa de resguardo y prevención ante el aumento de temperatura de disco rigidos en los equipos que trabajan bajo Linux, como servidores, que en mi caso son 3.

Lamentablemente dispongo de 3 equipo bajo Windows, los cuales deberé hacer exactamente lo mismo, pero eso en otra etapa.

Ahora la tarea la realicé empleando HDDTemp, una herramienta poderosa y simple a la vez.
como resumen podes ver: www.guzu.net/linux/hddtemp.php



A modo de resumen, el HDD lo puedo emplear en mi servidor monitor (ServerM) como
sudo hddtemp /dev/sd?
Epa, te aparece que no esta instalado, pues emplea el SUDO APT-GET INSTALL HDDTEMP amigo!!! Si no sabes esto, estas al horno! y de hecho si no lo sabias, entonces tampoco sabias que todo el comando en negrita es en minusculas! :P
Superado lo anterior, y evaluando que todo esta muy bien, tengo ahora el listado con la temperatura de todos mis discos rigidos! Fantástico, pero, ummm ahora a realizar una tarea programada para poder ejecutarlo cada tanto y llevar el control:

crontab -e

Ok, editamos la tabla de cronjob para el administrador y agregamos la linea:

00  6,9,12,14,18,21 * * *  /usr/sbin/hddtemp /dev/sd? > /home/administrador/StatusHDD-ServerM.log

Todo muy lindo hasta ahora, pero tengo un inconveniente, y es que el comando hddtemp requiere permisos como administrador todo poderoso...

Ok, de acuerdo, veamos entonces, podemos agregar al comando un permiso para que se pueda ejecutar como un usuario standard:

sudo visudo

Agregamos al final la linea respectiva al hddtemp:

administrador  ALL=NOPASSWD:  /usr/sbin/hddtemp

Perfecto, hagamos una prueba en consola:
 /usr/sbin/hddtemp /dev/sd?
/dev/sda: open: Permiso denegado

Demonios! algo falló, falta el permiso para el hddtemp, de acuerdo, vamos con el chmod:

sudo chmod +s /usr/sbin/hddtemp 

Ok, verifiquemos que es asi:

dsw@ServerM:/home/administrador$ ls -l /usr/sbin/hddtemp
-rwsr-sr-x 1 root root 36144 nov 10  2011 /usr/sbin/hddtemp

fantástico, ahora si podemos probar sin inconvenientes el resultado:

dswr@ServerM:/home/administrador$ /usr/sbin/hddtemp /dev/sd?
/dev/sda: Hitachi HDS721050CLA362: 32°C
/dev/sdb: ST500DM005 HD502HJ: 33°C
/dev/sdc: Generic Storage Device: S.M.A.R.T. not available

Ok, no asustarse con el ultimo HD, en realidad no es tan viejo, tan solo es un lector de memoria SD.
Todo correcto, ya tenemos el Log en el archivo en las horas mencionadas. 
En la próxima entrada explico el proceso de aviso via email, empleando python!

Saludos!



No hay comentarios: