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


15

Quando estou no Linux, posso obter as seguintes informações 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 desligar 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?


Depende inteiramente do controlador RAID que você está usando e de qual suporte ele possui no Linux. Se você fornecer informações sobre seu controlador, poderá encontrar ajuda aqui. Você também pode fazer uma pesquisa na Web por "comandos model # linux" se não obtiver as informações necessárias aqui.
Gene

@ Gene Isso é lamentável. Novamente, eu esperava que houvesse uma solução que não exija a consulta do número específico do modelo, mas que possa ser usada independentemente do hardware que você estiver usando.
IQAndreas

Hardware diferente faz o RAID de maneira diferente e possui drivers diferentes. Em muitos casos, você não precisa desligar o sistema, mas pelo menos precisa saber qual controlador de modelo ou chipset você possui para encontrar comandos para consultar o controlador no sistema operacional.
Gene

1
Você normalmente pode encontrar as informações do controlador ou do chipset via dmesg, dmidecode, lspci e outros utilitários semelhantes. Se o RAID embutido na placa-mãe, sabendo a marca e o modelo da placa-mãe, você chegará a 99% do caminho.
Gene

1
adds an answer explaining how to figure out which RAID controller is being used from inside of Linux - @IQAndreas, mas isso não está em questão. As respostas na falha do servidor devem responder à pergunta que está sendo feita. Se você tiver uma pergunta diferente, edite-a. Essa pergunta quase certamente pode ser respondida por alguns minutos no Google. De qualquer forma, a resposta para isso é lshw.
Zoredache

Respostas:


17

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 lsscsio buscará 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" . Uma 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 bastante dados de saída) é usar o lshwcomando Execute lshw -class diskcomo 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:


5

Execute algo parecido 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 storcliutilitário 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 showmostra o primeiro controlador, primeiro grupo de unidades. Diz-lhe 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.

Esta resposta é totalmente específica para a saída obtida do lspcicomando 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.


Como a resposta à minha pergunta será específica do hardware, o que fiz foi adicionar uma resposta do wiki da comunidade sobre como descobrir qual controlador RAID você está usando . Essa resposta é vinculada a respostas (incluindo a sua) que fornecem detalhes para controladores ou fabricantes específicos.
IQAndreas 03/09

Se você deseja atualizar o formato da sua resposta para refletir isso, seria bom, mas não estritamente necessário.
IQAndreas 03/09/2015

2

Esta 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, concordo com o comentário de Gene sobre dmidecode, dmesg e lspci - esses seriam os meus a tentar primeiro também.


1

Para criar um perfil de armazenamento, faça o seguinte antes de executar lspciou baixar 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.

0

3ware

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

Nos comentários, informe-me se funcionou para o seu controlador específico ou se as instruções precisam ser atualizadas para o seu modelo.

Baixando

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 comprado pela AMCC e depois vendido à LSI Corporation, que mais tarde se tornou parte da Avago [ fonte ]. Para fazer backup, observe que o 3ware.com é redirecionado para a página relevante em avagotech.com .

Digite tw_clina 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 diretório x86ou, x86_64você encontrará o tw_clibinário necessário. 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.

Primeiro, execute tw_cli showa lista de 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 deste ID!), Que possui 6 unidades físicas conectadas. Para obter mais detalhes sobre quais unidades estão conectadas à unidade, execute tw_cli /c2 show(substituindo /c2pelo 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 p0e p1são unidades de 300 GB do mesmo fabricante, configuradas para usar RAID-1 (espelhos exatos um do outro)
  • u1-> Tenho quatro unidades Hitachi de 1 TB ( p2passadas p5) configuradas 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), u1tem 3 TB (ou melhor, 2793.94 GB) de dados utilizáveis.

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.