Identificar físicamente el disco duro fallido


25

Entonces, digamos que su servidor tenía 6 discos duros en buen estado. Una unidad falla (no se montará / detectará, saldrá de la incursión con errores) o fallará (SMART empeora, etc.). Necesitas cambiar el disco malo. Cuando abres la carcasa ves ... seis discos duros idénticos.

¿Cómo puede saber cuál ya no está sano / montado / funcionando?

El sistema sería Linux, probablemente el servidor ubuntu, utilizando como máximo RAID de software simple. Los discos duros serían SATA y se conectarían directamente a la placa base. (sin controlador de banda)

No quiero desconectar al azar las unidades hasta que elija la correcta. Todas las unidades me parecen idénticas; Me imagino que hay una forma común de identificar qué unidad es la que desconozco. ¿Alguien tiene alguna sugerencia / consejos / mejores prácticas? ¡Gracias!

EDITAR: había querido que esto se 'generalizara' de una manera ondulada, pero simplemente salió como 'incompleto' y 'horrible'. ¡Mi error!


44
Si tiene que apagar la máquina y averiguar qué disco duro es qué, debe tomarse el tiempo mientras la máquina está apagada para identificar cada disco duro y etiquetarlo de alguna manera para que cuando esto vuelva a suceder, no tenga esto. problema.
Roy Rico

2
¿Un "RAID (o lo que sea)"? Suena como un usuario suelto dentro de la sala de máquinas.
romandas

1
Un servidor adecuado le dirá qué unidad activará el indicador de error de la unidad defectuosa.
John Gardeniers

8
Hombre, todos son tan rápidos en saltar sobre esto como ingenuos ... francamente, creo que es una buena pregunta, ¡una que he tenido que tratar conmigo mismo!
Mark Henderson

2
Tengo curiosidad por saber si es posible, por motivos de pasatiempo, construir de alguna manera (con un soldador en la mano y así sucesivamente) los LED de señalización de la unidad para identificarlos físicamente desde un sistema operativo aleatorio (cuando no hay un controlador de disco / raid de calidad de servidor decente presente para hacer su magia) ...
Oskar Duveborn

Respuestas:


26

Tuve este problema exacto en un servidor (torre) tal como lo explicas, y fue fácil:

smartctl mostrará el número de serie de la unidad

Los proveedores a veces envían sus propias herramientas específicas, como hdparm, que harán lo mismo.

Entonces, envíe la serie de la unidad defectuosa y luego use el espejo de un dentista y una linterna para encontrar la unidad.

En un montaje en rack, generalmente tendrá luces indicadoras como han dicho otras personas, pero apuesto a que lo mismo se aplicaría.


Whoops ... smartctl, no hdparm fue en lo que estoy pensando. Necesito editar mi respuesta para reflejar eso.
Bart Silverstrim

votó por recordarme el comando correcto :-)
Bart Silverstrim

1
hdparm -i me muestra los números de serie de mis unidades - Sin embargo, puede ser una respuesta específica del proveedor
Ian Clelland

1
¡excelente! No puedo probarlo ahora, ¡pero parece que esta es la respuesta! Ahora etiquetaré mis discos duros con los últimos N dígitos de sus números de serie (suponiendo que esto sea único, por servidor) en un lugar que esté expuesto mientras está montado. También desde googlear el comando parece ser "smartctl -i"
privatehuff

15

Poner pegatinas en las unidades (según el diseño de la bandeja) puede no ser factible. Para cuando la unidad muera, las pegatinas podrían secarse y caerse.

ledctl (del paquete ledmon) es realmente el camino a seguir con esto.

ledctl locate=/dev/disk/by-id/[drive-id]

o

ledctl locate=/dev/sda

iluminará la luz de falla de la unidad en su chasis para la unidad especificada. Proporcioné dos ejemplos para ilustrar que no importa CÓMO identifique la unidad. Puede usar el número de serie, el nombre, etc. Se puede utilizar cualquier información disponible. Se hace referencia a las unidades de varias maneras en la ruta / dev / y / dev / disk /.

Para volver a apagar la luz, simplemente ejecútela de nuevo, cambiando de ubicación a location_off de la siguiente manera:

ledctl locate_off=/dev/sda

6

Por lo general, tendrá que esperar que las conexiones estén etiquetadas de alguna manera y luego funcionen desde la identidad del dispositivo fallido. Por ejemplo ... y alguien tendría que comentar para corregirme ... si tiene dos canales IDE, tiene hasta 2 unidades en cada uno, podría tener sda, sdb, sdc y sdd. Si sdd fallara, sería la segunda unidad en el cable del segundo canal IDE.

Si es SATA y, como el sistema que tengo en la trastienda, los puertos están etiquetados para cada una de las unidades sata. Una vez más, las letras de las unidades van de un lado a otro a lo que van las unidades, comenzando en el puerto 0 de los conectores SATA y subiendo.

Si hay alguna diferencia de fabricación, dmesg | grep sd o dmesg | grep hd deberían dar algunas pistas.

Si tiene los números de serie disponibles, creo que el comando hdparm podría dárselo en el software para que pueda rastrearlo de esa manera. Es posible que desee etiquetar las unidades en algún lugar si ese es el caso para que no tenga que preocuparse por eso cuando descubra que hay un problema.

... Sabía que había otra razón por la que prefería RAID de hardware sobre RAID de software ... luces parpadeantes. Realmente me gustan las luces parpadeantes.

EDITAR: smartctl, no hdparm, proporciona el número de serie. Mi error.


+1 para las luces parpadeantes
Oskar Duveborn

3

Algunas unidades exponen un "archivo" de localización /sysen el que puede hacer eco de un 1 para encender o apagar la luz indicadora de localización.

$ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done

¡No tenía ni idea de esto! ¡Esto es genial!
diq

2

Seis HDDS internos? Si son unidades externas de intercambio en caliente, es probable que el operador de intercambio en caliente tenga una luz de error para ayudarlo a identificar la unidad defectuosa. Además, muchos programas de administración de incursiones tienen la opción de encender la luz de un disco en particular para determinar cuál es cuál. Si todos son internos y no tienen luces, entonces tiene que recurrir a su software RAID que le indica qué ID son buenas y mira las ID SCSI, etc. para averiguarlo. Si están configurados en automático, el documento de su controlador RAID debería indicarle en qué orden en la cadena SCSI se asignan los ID. Buena suerte. ¡Realice una copia de seguridad ahora mientras las cosas aún están funcionando!


2

Como mínimo, el software / controlador RAID que le informó sobre la unidad fallida debería indicarle qué unidad había fallado (número de identificación). 0 es generalmente el que está en la parte superior izquierda, que se mueve hacia abajo, luego hacia la derecha (si está en dos o más columnas). Los puertos probablemente estén etiquetados.


2

Para una respuesta corta: "lsscsi" Para una respuesta detallada: "lshw -c disk" le mostrará los puertos HDD y SATA en los que están conectados.


2

Si no tiene luz de localización y no puede encontrar fácilmente los números de serie en el exterior de las unidades, a veces esta técnica cursi puede ayudar: crear MUCHA actividad en esa unidad específica y luego buscar la unidad con el LED de actividad encendido. . Es mejor hacer un seguimiento con una verificación más detallada del número de serie, pero esto puede ayudar a reducir la búsqueda.

P.ej:

# while true; do dd if=/dev/disk/by-id/scsi-drive-that-is-dying of=/dev/null; sleep 1; done

(El bucle while no es técnicamente necesario, pero mantendrá las cosas en movimiento mientras te diriges al centro de datos. El "sueño 1" ayuda a evitar el alto uso de CPU creado por un bucle rápido si el "dd" falla debido a decir ... . la unidad se desconecta.)


1

Cuando todo lo demás falla, puede identificar las unidades que no fallan y trabajar hacia atrás.

find / -type f -exec cat {} \; >> /dev/null

Cualquiera que sea la luz de actividad de las unidades que NO se enciende, probablemente sea mala (y es de esperar que sea solo una). Tenga en cuenta que si tiene repuestos activos configurados, tampoco se encenderán.


0

Deben estar etiquetados en el chasis y corresponder con el software RAID.

En nuestros Dells, no son la forma en que pensarías. En el nuestro, 0: 0 es la parte inferior izquierda, 0: 1 es la parte superior izquierda, 0: 2 es la parte inferior central, etc. En todos los servidores que he usado (excepto los trabajos caseros), el software RAID indicará el puerto, y será etiquetado.


0

scsirastools tiene un conjunto de herramientas que le permiten realizar varias pruebas de diagnóstico en discos SCSI. También puede usar sgmon para apagar un disco bajo control de software. Esto al menos le permitiría identificar el disco físico que podría localizarlo con los diagnósticos.

Si tiene un controlador RAID de hardware, el BIOS o el software de administración del controlador debe tener una instalación que le permita identificar discos defectuosos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.