ti-enxame.com

Posso detectar informações de RAID de hardware no Linux?

Quando estou no Linux, posso obter as seguintes informações de lsblk (unidades irrelevantes removidas da saída):

NAME  MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda     8:0    0   298G  0 disk 
sdb     8:16   0   2.7T  0 disk

Quando puxo manualmente as unidades para fora do servidor, percebo que estou usando fisicamente as seguintes unidades:

0  Seagate 320GB
1  Seagate 320GB
2  Hitachi 1TB
3  Hitachi 1TB
4  Hitachi 1TB
5  Hitachi 1TB
6  [empty]
7  [empty]

Como há mais armazenamento físico no servidor do que espaço disponível no Linux, isso significa que obviamente estou usando algum tipo de sistema RAID. Com um pouco de matemática, geralmente consigo descobrir que tipo de sistema RAID está sendo usado.

Existe uma maneira de eu detectar se estou usando RAID de hardware de dentro do Linux e descobrir todas as informações sobre ele (como tipo de RAID, unidades disponíveis) sem desligando o servidor, retirando fisicamente as unidades e lendo seus rótulos?

Essas informações podem ser coletadas de dentro do Linux ou o ponto do RAID de hardware é tornar o sistema subjacente "invisível" para o sistema operacional?

15
IQAndreas

Como obter as informações de RAID dependerá inteiramente do controlador RAID que você está usando. Freqüentemente, os fabricantes têm ferramentas que podem ser baixadas de seu site e podem ser usadas para consultar o controlador RAID e obter essas informações.

Para descobrir qual controlador RAID você está usando, tente um dos seguintes comandos:

lspci

# lspci -knn | grep 'RAID bus controller'
08:00.0 RAID bus controller [0104]: 3ware Inc 9690SA SAS/SATA-II RAID PCIe [13c1:1005] (rev 01)

Aqui, as informações que procuramos são "3ware Inc 9690SA SAS/SATA-II RAID PCIe" .

lsscsi

O comando não está disponível no Debian e Ubuntu, mas um rápido Sudo apt-get install lsscsi irá buscá-lo nos repositórios. Observe que, se você não estiver usando um controlador RAID, o fabricante e o número do modelo do seu disco rígido serão exibidos aqui.

# lsscsi
[2:0:0:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sda 
[2:0:1:0]    disk    AMCC     9690SA-8I  DISK  4.08  /dev/sdb 

Aqui vemos que o fabricante é "AMCC" e o número do modelo da placa RAID é "9690SA-8I" . ma rápida pesquisa no Google mostra que este cartão também é conhecido como "AMCC 3Ware 9690SA-8I" .

lshw

Um terceiro método (que fornece muitos dados de saída) é usar o comando lshw. Corre lshw -class disk como root para exibir apenas os detalhes sobre os discos rígidos (que incluem informações sobre RAID).

Localizando as ferramentas do controlador RAID

Agora que temos o fabricante e o número do modelo, deve ser possível encontrar as ferramentas em seu site ou, pelo menos, conseguir detalhes do Google sobre como encontrar e usar as ferramentas para esse controlador específico.

Se o fabricante aparecer nesta lista, consulte estas respostas para obter mais detalhes sobre como obter as informações de RAID para sua placa:

17
IQAndreas

Execute algo como lspci -knn | grep 'RAID bus controller'.

Usando essa saída, o Google (por exemplo) para LSI Logic / Symbios Logic MegaRAID SAS 2208.

Encontre que ele usa o utilitário storcli para interrogar o controlador RAID.

Faça o download e instale.

storcli64 show fornece o modelo do controlador especificamente e o índice do controlador, número de grupos de unidades e unidades virtuais.

storcli64 /c0/d0 show mostra o primeiro controlador, o primeiro grupo de unidades. Informa os níveis de invasão, incluindo aninhamento.

storcli64 /c0/eall/sall show all mostra todas as informações em todos os discos.

Dados de referência adicionais para esses comandos podem ser encontrados aqui:

http://mycusthelp.info/LSI/_cs/AnswerPreview.aspx?sSessionID=&inc=8275

Deve ser tudo o que você precisa fazer. Basta usar a introspecção normal de hardware no Linux, depois no Google, depois baixar e instalar os utilitários que o acompanham.

As sugestões e comentários de @ Gene são absolutamente claros.

Essa resposta é totalmente específica para a saída obtida do comando lspci e a capacidade de sua pesquisa no Google identificar o fabricante e usar a ferramenta de linha de comando correta.

Mas mostra que você pode obter tudo isso de um servidor, em uma linha de comando, sem interromper a máquina, abrir o gabinete e acionar unidades, o que, espero, seja útil.

5
Kassandry

Essa não é uma resposta única e não fornece todas as informações necessárias, mas em um controlador RAID de hardware Adaptec que usamos, ele deu acesso às unidades por meio de dispositivos especiais/dev/sg1/dev/sg2, etc. Podemos executar o smartctl -a/dev/sg1 para obter muitas informações sobre essa unidade física, incluindo fabricante, número do modelo, interface, número de série, tamanho e outros dados.

Quanto a descobrir qual controlador está sendo usado, eu concordo com o comentário de Gene sobre dmidecode, dmesg e lspci - esses seriam os meus a tentar primeiro também.

2
sa289

Para criar um perfil de armazenamento, eu faria o seguinte antes de executar lspci ou fazer o download de qualquer coisa.

# cat /etc/fstab         What partitions get mounted at boot?

# Sudo pvs               Are you running LVM? List the physical volumes

# cat /proc/mdstat       List software RAID devices & status

# for D in /dev/sd?; do parted $D print; done
                         If hardware RAID is being used, the "Model" field will list
                         the Mfr. name, otherwise the hard drive Mfr.
1
nortally

3ware

Isso foi testado nos seguintes controladores RAID: 9690SA-8I

Entre em contato nos comentários se funcionou para o seu controlador específico ou se as instruções precisam ser atualizadas para o seu modelo.

Fazendo o download

Primeiro, você precisa baixar a ferramenta tw_cli. Isso pode ser encontrado no site da Avago Technologies *:

* Não se preocupe, não é um site de terceiros; O 3ware foi adquirido pela AMCC e posteriormente vendido à LSI Corporation, que mais tarde se tornou parte da Avago [ fonte ]. Para fazer backup, observe que 3ware.com redireciona para a página relevante em avagotech.com .

Tipo tw_cli na barra de pesquisa e navegue até encontrar um download chamado CLI Linux - from the 10.2.2.1/9.5.5.1 code sets (o número da versão mais recente pode ser diferente do listado aqui)

Extraia o arquivo Zip e no arquivo x86 ou x86_64 você encontrará o tw_cli binário que você precisa. Salve este binário no seu servidor ou computador.

Executando tw_cli

NOTA: (1) O utilitário de linha de comando pode precisar ser executado como root. (2) Execute-o como faria com qualquer outro binário, adicionando-o ao caminho ou executando-o diretamente do diretório atual com ./tw_cli.

Primeira corrida tw_cli show para listar quais controladores RAID estão disponíveis no seu sistema:

# tw_cli show
Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c2    9690SA-8I    6         6        2       0       1       1      Charging 

Aqui podemos ver que há um controlador conectado, com o ID de c2 (lembre-se dessa identificação!), que possui 6 unidades físicas conectadas. Para obter mais detalhes sobre quais unidades estão conectadas à unidade, execute tw_cli /c2 show (substituindo /c2 com o ID do seu controlador):

# tw_cli /c2 show
Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       298.013   Ri     ON     
u1    RAID-5    OK             -       -       64K     2793.94   Ri     ON     

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   298.09 GB SATA  0   -            ST3320613AS         
p1    OK             u0   298.09 GB SATA  1   -            ST3320613AS         
p2    OK             u1   931.51 GB SATA  2   -            Hitachi HDS721010CL 
p3    OK             u1   931.51 GB SATA  3   -            Hitachi HDS721010CL 
p4    OK             u1   931.51 GB SATA  4   -            Hitachi HDS721010CL 
p5    OK             u1   931.51 GB SATA  5   -            Hitachi HDS721010CL 

O primeiro grupo mostra as configurações de RAID que estão sendo usadas. O segundo grupo mostra quais unidades estão atualmente fisicamente conectadas ao servidor.

Nesse caso em particular, tenho duas configurações de RAID:

  • u0 -> Unidades p0 e p1 são unidades de 300 GB do mesmo fabricante, configuradas para usar RAID-1 (espelhos exatos um do outro)
  • u1 -> Eu tenho quatro unidades Hitachi de 1 TB (p2 através p5) configurado usando RAID-5 ("uma das unidades" é usada para garantir que os dados sejam preservados se alguma das outras unidades falhar). Isso significa (como podemos ver de cima), u1 possui 3 TB (ou melhor, 2793.94 GB) de dados utilizáveis.

Mais informações sobre o status e a integridade das unidades podem ser encontradas executando tw_cli /c2/u0 show ou tw_cli /c2/p0 show. Mais detalhes e comandos podem ser encontrados em as páginas de manual .

0
IQAndreas