Identifique fisicamente o disco rígido com falha

25

Então, digamos que seu servidor tenha 6 discos rígidos saudáveis. Uma unidade falha (não monta / detecta, sai do ataque com erros) ou está falhando (o SMART piora, etc.). Você precisa trocar a unidade defeituosa. Quando você abre o gabinete, vê .. seis discos rígidos idênticos.

Como você pode dizer qual não está mais saudável / montando / funcionando?

O sistema seria linux, provavelmente servidor ubuntu, usando no máximo o RAID de software simples. Os discos rígidos seriam SATA e conectados diretamente à placa-mãe. (sem controlador de ataque)

Não quero desconectar unidades aleatoriamente até escolher a correta. Todas as unidades parecem idênticas para mim; Imagino que exista alguma maneira comum de identificar qual unidade é aquela que eu não conheço. Alguém tem dicas / dicas / práticas recomendadas? Obrigado!

EDIT: Eu queria que isso fosse 'generalizado' de um jeito meio ondulado, mas acabou saindo como 'incompleto' e 'horrível'. Minha culpa!

privatehuff
fonte
4
Se você precisar desligar a máquina e descobrir qual disco rígido é o que deve, reserve um tempo enquanto a máquina estiver desativada para identificar cada disco rígido e rotulá-lo de alguma maneira para que, quando isso acontecer novamente, você não tenha esse questão.
Roy Rico
2
Um "RAID (ou o que seja)"? Parece um usuário solto dentro da sala de máquinas.
romandas 10/09/09
11
Um servidor adequado informará qual unidade, ativando o indicador de erro da unidade com defeito.
John Gardeniers 10/09/09
8
Cara, todo mundo é tão rápido em pular isso como ingênuo ... francamente, acho que é uma boa pergunta, que eu tive que lidar comigo mesma!
Mark Henderson
2
Estou curioso para saber se, para fins de hobby, é possível construir de alguma forma (com ferro de solda na mão e assim por diante) LEDs de sinalização de unidade para identificá-los fisicamente em um sistema operacional aleatório (quando não há um controlador de disco / RAID decente em nível de servidor presente para fazer sua mágica) ...
Oskar Duveborn

Respostas:

26

Eu tive esse problema exato em um servidor (torre) exatamente como você explicou, e foi fácil:

O smartctl emitirá o número de série da unidade

Às vezes, os fornecedores enviam suas próprias ferramentas específicas, como hdparm, que farão o mesmo.

Então, imprima o serial da unidade defeituosa e use o espelho do dentista e uma lanterna para encontrar a unidade.

Em uma montagem em rack, você geralmente terá luzes indicadoras, como outras pessoas disseram, mas aposto que o mesmo se aplicaria.

Tom Ritter
fonte
Opa ... smartctl, não hdparm era o que eu estava pensando. Preciso editar minha resposta para refletir isso.
22410 Bart Silverstrim
upvoted por me lembrar do comando direito :-)
Bart Silverstrim
11
hdparm mostra -i-me os números de série dos meus discos - Isso pode ser uma resposta específica do fornecedor, embora
Ian Clelland
11
excelente! Não posso tentar agora, mas parece que esta é a resposta! Agora vou rotular meus discos rígidos com os últimos N dígitos de seus números de série (assumindo que isso seja único, por servidor) em um local exposto enquanto montado. Também a partir pesquisando os olhares de comando para ser "smartctl -i"
privatehuff
15

Colocar adesivos nas unidades (dependendo do design da bandeja) pode não ser possível. Quando a unidade morre, os adesivos podem secar e cair.

ledctl (do pacote ledmon) é realmente o caminho a seguir.

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

ou

ledctl locate=/dev/sda

acenderá a luz de falha da unidade em seu chassi para a unidade especificada. Forneci dois exemplos para ilustrar que não importa COMO você identifica a unidade. Você pode usar serial, nome, etc ... Qualquer informação disponível está disponível para você. As unidades são referenciadas de várias maneiras no caminho / dev / e / dev / disk /.

Para desligar a luz, basta executá-la novamente, alterando localizar para localizar_off da seguinte forma:

ledctl locate_off=/dev/sda
UCS75
fonte
6

Normalmente, você teria que esperar que as conexões fossem rotuladas de alguma maneira e funcionassem a partir da identidade do dispositivo com falha. Por exemplo ... e alguém teria que comentar para me corrigir ... se você tem dois canais IDE, você tem até 2 unidades em cada um, você pode ter sda, sdb, sdc e sdd. Se o sdd falhar, seria a segunda unidade no cabo do segundo canal IDE.

Se for SATA e como o sistema que eu tenho na sala dos fundos, as portas são rotuladas para cada uma das unidades sata. Novamente, as letras das unidades passam de um a qualquer que seja a unidade, começando na porta 0 dos conectores SATA e subindo.

Se houver diferenças de fabricação, o dmesg | grep sd ou o dmesg | grep hd deve fornecer algumas dicas.

Se você tiver os números de série disponíveis, acho que o comando hdparm poderá fornecer a você no software, para que você possa segui-lo dessa maneira. Convém rotular as unidades em algum lugar, se for esse o caso, para que você não precise se preocupar com isso quando descobrir que há um problema.

... Eu sabia que havia outra razão pela qual preferia RAID de hardware em vez de RAID de software ... luzes piscantes. Realmente como as luzes piscantes.

EDIT: smartctl, não hdparm, fornece o número de série. Minha culpa.

Bart Silverstrim
fonte
+1 para as luzes blinky
Oskar Duveborn
3

Algumas unidades expõem um "arquivo" de localização /sysno qual é possível repetir 1 para acender a luz indicadora de localização ou 0 para desligar.

$ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done
crh
fonte
Eu não tinha ideia disso! Isso é ótimo!
Di15
2

Seis HDDS internos? Se forem unidades hot swap externas, o portador de hot swap provavelmente terá uma luz de erro para ajudá-lo a identificar a unidade defeituosa. Muitos programas de gerenciamento de Raid também têm a opção de acender a luz em uma unidade específica para determinar qual é qual. Se todos eles são internos sem luzes, você deve usar o software RAID, informando quais IDs são bons e consultando os IDs SCSI etc. para descobrir isso. Se eles estiverem configurados para automático, o documento do controlador RAID deverá informar a ordem na cadeia SCSI em que os IDs foram atribuídos. Boa sorte. Faça um backup agora enquanto as coisas ainda estão em execução!

BillN
fonte
2

No mínimo, o software / controlador RAID que informou sobre a unidade com falha deve informar qual unidade falhou (número de identificação). 0 é geralmente aquele no canto superior esquerdo, movendo-se para baixo e depois para a direita (se estiver em duas ou mais colunas). As portas provavelmente estão rotuladas.

mrdenny
fonte
2

Para resposta curta - "lsscsi" Para resposta detalhada - "lshw -c disk" mostrará as portas HDD e SATA nas quais elas estão conectadas.

Sarath kumar S
fonte
2

Se você não tem luz de localização e não consegue encontrar facilmente os números de série na parte externa das unidades, algumas vezes essa técnica brega pode ajudar: crie MUITA atividade nessa unidade específica e procure a unidade com o LED de atividade aceso . É melhor acompanhar com uma verificação mais detalhada do número de série, mas isso pode ajudar a restringir a pesquisa.

Por exemplo:

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

(O loop while não é tecnicamente necessário, mas manterá as coisas em movimento enquanto você dirige para o datacenter. O "sleep 1" ajuda a evitar o alto uso da CPU criado por um loop rápido se o "dd" falhar por dizer .. a unidade está sendo desconectada.)

Steve Bonds
fonte
1

Quando tudo mais falhar, você poderá identificar as unidades que não falharam e trabalhar para trás.

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

Qualquer que seja a unidade, as luzes de atividade NÃO acendem provavelmente são ruins (e esperamos que seja apenas uma). Observe que se você tiver hot-spares configurados, eles também não acenderão.

vagão
fonte
0

Eles devem estar etiquetados no chassi e corresponder ao software RAID.

Em nossos Dells, não é assim que você pensaria. No nosso 0: 0 fica no canto inferior esquerdo, 0: 1 é no canto superior esquerdo, 0: 2 é no meio, etc. Em todos os servidores que usei (exceto trabalhos caseiros), o software RAID indicará a porta e será rotulado.

dubRun
fonte
0

O scsirastools possui um conjunto de ferramentas que permitem realizar vários testes de diagnóstico em discos SCSI. Você também pode usar o sgmon para desligar um disco sob controle de software. Isso permitiria, pelo menos, identificar o disco físico que você poderia localizá-lo com o diagnóstico.

Se você possui um controlador RAID de hardware, o BIOS ou o software de gerenciamento do controlador deve ter um recurso que permita identificar discos defeituosos.

ConcernedOfTunbridgeWells
fonte