Identifique fisicamente o disco rígido com falha

21

Então, digamos que seu servidor tenha 6 discos rígidos saudáveis. Uma unidade falha (não é montada / detectada, cai fora da raid com erros) ou está falhando (o SMART está ficando pior, etc). Você precisa trocar o disco ruim. Quando você abre o gabinete, vê seis discos rígidos idênticos.

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

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

Eu não quero desconectar unidades aleatoriamente até escolher a correta. Todas as pulsões parecem idênticas a mim; Eu imagino que há algum modo comum de identificar qual é a unidade que eu desconheço. Alguém tem alguma ponteiros / dicas / melhores práticas? Obrigado!

EDIT: Eu queria que isso fosse "generalizado" de uma maneira meio ondulante, mas acabou saindo como "incompleto" e "horrível". Meu mal!

    
por privatehuff 10.09.2009 / 19:53

11 respostas

25

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

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

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

Portanto, imprima a serial da unidade defeituosa e, em seguida, use o espelho de um dentista e uma lanterna para encontrar a unidade.

Em um rack, você normalmente terá luzes indicadoras como outras pessoas disseram, mas aposto que o mesmo se aplica.

    
por 10.09.2009 / 23:10
13

Colocar adesivos nas unidades (dependendo do design da bandeja) pode não ser viável. No momento em que a unidade morre, os adesivos podem secar e cair.

ledctl (do pacote ledmon) é realmente o melhor caminho para isso.

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

ou

ledctl locate=/dev/sda

acenderá a luz de falha da unidade no seu chassi para a unidade especificada. Eu 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 para você pode ser usada. As unidades são referenciadas de várias maneiras sob o caminho / dev / e / dev / disk /.

Para desligar a luz, basta executá-la novamente, alterando o locate para locate_off da seguinte forma:

ledctl locate_off=/dev/sda
    
por 29.08.2016 / 18:47
6

Normalmente, você teria que esperar que as conexões sejam rotuladas de alguma forma e trabalhe 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 drives em cada, você poderia ter sda, sdb, sdc e sdd. Se o sdd falhou, seria a segunda unidade no cabo do segundo canal IDE.

Se é SATA e como o sistema que tenho na sala dos fundos, as portas são rotuladas para cada uma das unidades sata. Mais uma vez, as letras do drive vão de um a qualquer que seja a direção das unidades, começando na porta 0 dos conectores SATA e subindo.

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

Se você tem os números de série disponíveis, eu acho que o comando hdparm pode fornecê-lo a você em software para que você possa rastreá-lo dessa maneira. Você pode querer 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 eu preferia o RAID de hardware ao software RAID ... luzes piscando. Realmente gosto das luzes piscantes.

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

    
por 10.09.2009 / 22:33
3

Algumas unidades expõem um "arquivo" de localização em /sys , no qual você pode fazer eco de 1 para ativar a luz indicadora de localização ou 0 para desativado.

$ for light in $( find /sys -name "locate" ) ; do echo 1 > $light ; sleep 10 ; echo 0 > $light; done
    
por 25.09.2014 / 15:33
2

Seis HDDS internos? Se forem unidades hot swap externas, a portadora de hot swap provavelmente terá uma luz de erro para ajudá-lo a identificar a unidade defeituosa. Também muitos programas de gerenciamento Raid têm a opção de acender a luz em uma unidade específica para determinar qual é qual. Se eles são todos internos sem luzes, então você está no seu software RAID informando quais IDs são bons, e olhando para os IDs SCSI, etc para descobrir. Se eles estiverem configurados para auto, o doc do controlador RAID deve informar a que ordem na cadeia SCSI os IDs são atribuídos. Boa sorte. Faça um backup agora enquanto as coisas ainda estão funcionando!

    
por 10.09.2009 / 20:03
2

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

    
por 10.09.2009 / 21:23
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, às vezes essa técnica pode ajudar: crie MUITAS atividades nessa unidade específica e procure a unidade com a atividade LED no sólido. É melhor seguir 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ê se dirige ao data center. O "sleep 1" ajuda a evitar o alto uso de CPU criado por um loop rápido se o "dd" falhar devido a digamos ... a unidade sendo desconectada.)

    
por 08.08.2016 / 18:01
1

Quando tudo mais falhar, você poderá identificar as unidades que não falharam e trabalhar ao contrário.

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

O que acionar as luzes de atividade NÃO acenderá provavelmente será ruim (e esperamos que seja apenas uma). Observe que, se você tiver as hot-spares configuradas, elas também não acenderão.

    
por 10.09.2009 / 23:12
0

Eles devem ser rotulados no chassi e corresponder ao software RAID.

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

    
por 10.09.2009 / 21:29
0

scsirastools tem um conjunto de ferramentas que permitem fazer 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, pelo menos, permitiria identificar o disco físico de você poderia localizá-lo com o diagnóstico.

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

    
por 11.09.2009 / 14:37
0

Para uma resposta curta - "lsscsi" Para resposta detalhada - "lshw -c disk" irá mostrar-lhe as portas HDD e SATA em que aqueles conectados.

    
por 17.10.2015 / 08:01