Intel Matrix Storage Manager vs RAID de software Linux


28

O chipset que estou usando suporta a tecnologia Intel RSTe. Isso significa que tenho duas opções para a configuração do RAID:

  • RAID de software linux comum, usando o mdadmcomando
  • RSTe (pelo BIOS ou, novamente, usando o mdadmcomando com -e imsmswitch).

Dado que mdadmpode ser usado para ambos, não consigo entender a diferença entre os dois.

  • O que o RSTe me oferece em comparação com o RAID comum do software Linux?
  • Quando no modo RSTe, o caminho de E / S RAID real (por exemplo, espelhamento e distribuição) é tratado pelo Linux mdou pelo BIOS.
  • Em particular, quando eu uso "matrix RAID" (ou seja, o RAID cobre partições específicas em vez de discos inteiros), preciso instalar manualmente o grub nos dois MBRs?

Respostas:


46

visão global

Existem três tipos comuns de RAID disponíveis:

  • Software RAID: Isso significa que seu BIOS e outros sistemas operacionais pensam que você realmente tem dois discos separados, mas puramente no nível do software, o sistema operacional usa algum formato específico de sistema operacional para RAID (espelhamento, distribuição, bits de paridade, o que for) . Todo o processamento é feito pela CPU sem suporte de hardware.

  • BIOS RAID: Também conhecido como "RAID falso" ou "RAID de host", isso significa que o firmware da placa-mãe (mais especificamente, o controlador SATA / SAS) tem suporte explícito para o reconhecimento de dispositivos RAID. No nível do dispositivo lógico ( lun), seus vários discos rígidos aparecerão como uma única unidade para o sistema operacional. Este é basicamente o controlador SATA / SAS dizendo "Eu realmente só tenho um disco rígido. Bem, na verdade são dois, mas shhhh, é apenas um, confie em mim". Em outras palavras, o sistema operacional pode dizerque é uma configuração de RAID, mas o sistema operacional * não é responsável pelo formato em disco da paridade / distribuição de RAID / etc. No entanto, mesmo nesse modo, a CPU faz todos os cálculos para bits de paridade e distribuição. A placa-mãe, o BIOS e o controlador SATA têm lógica suficiente para "combinar" fisicamente os dispositivos e definir um formato em disco para o RAID. Mas eles não possuem um processador dedicado para fazer os cálculos e dependem do software do sistema operacional para solicitar à CPU que faça isso, e é por isso que você ainda precisa informar ao Linux sobre o RAID do BIOS. (Intel Matrix / RST é um tipo de BIOS RAID).

  • Hardware RAID: É aqui que você tem um chip dedicado cujo único objetivo é processar os dados necessários para o RAID. O chip pode ser bastante poderoso; alguns controladores RAID de hardware, na verdade, possuem um chip dual-core, semelhante a CPU, embora seja especificamente otimizado para executar um sistema operacional incorporado que é MUITO rápido em fazer cálculos RAID, como bits de paridade para RAID-5 ou distribuição para RAID -0. Os discos rígidos são fisicamente conectados à placa RAID, que fornece um controlador SATA / SAS, geralmente um cache de leitura e gravação em DRAM ou Flash, enfileiramento de comandos nativo e um processador central integrado que faz os cálculos mais matemáticos. Esses chips de hardware custam entre US $ 150 no nível básico e muitos milhares para backplanes RAID de data center industrial.

Compatibilidade

Em geral, cada tipo de RAID é "vinculado" a algum aspecto específico que, quando esse aspecto muda, você enfrenta problemas de compatibilidade.

  • O RAID de software está vinculado ao sistema operacional que definiu o formato RAID. Às vezes, entre duas versões diferentes do mesmo sistema operacional, o formato RAID é interrompido, causando incompatibilidade. Embora seja conceitualmente possível que qualquer formato RAID de software seja suportado por qualquer outro sistema operacional, já que é apenas software , na prática, a maioria dos sistemas operacionais apresenta formatos RAID incompatíveis que somente esse sistema operacional pode reconhecer. No entanto, a compatibilidade mais ampla conhecida são os formatos RAID usados ​​nativamente pelo kernel Linux ( mdcomo você está discutindo no OP), que também pode reconhecer o software RAID do Windows, chamado Dynamic Disks.

  • O RAID do BIOS está vinculado à placa-mãe que você possui. Pode ser possível mover unidades formatadas com um formato RAID BIOS específico para outra placa-mãe com uma solução RAID BIOS similar; por exemplo, Intel RST para outro sistema com RST. Mas você precisará pesquisar cuidadosamente isso antes de fazer uma jogada, para garantir que seja compatível se você se importar com isso.

  • O RAID de hardware está vinculado a esse controlador de hardware específico ou a uma série de controladores de hardware que são explicitamente declarados pelo fabricante como compatíveis. Alguns fornecedores mantêm um formato de disco RAID de hardware muito consistente, suportado por muitas gerações de controladores; outros alteram o formato com mais frequência. Novamente, você terá que pesquisá-lo caso a caso.

atuação

O desempenho depende muito de como você configura os parâmetros básicos da matriz RAID e menos da solução específica. Em geral, os controladores RAID de hardware têm o "teto" mais alto para o desempenho máximo; eles também não taxam sua CPU quase tanto quanto as outras soluções. Mas se você escolher o tipo de RAID errado para sua carga de trabalho, o tamanho de faixa incorreto ou a abordagem de cache incorreta, um controlador RAID de hardware também poderá ser extremamente lento, mais lento que uma das unidades em execução no modo não RAID. O mesmo vale para as outras soluções, que também podem ser extremamente lentas.

  • O RAID de software é mais adequado para a configuração RAID-1, pois o espelhamento é uma cópia simples dos mesmos dados para duas unidades e não há bits de paridade para calcular. RAID-5 no software RAID é horrível.

  • O desempenho do BIOS RAID é geralmente comparável ao Software RAID, mas alguns controladores e formatos de disco do BIOS RAID são conhecidos por apresentarem erros ou apresentam desempenho ruim. Em geral, se você tiver que escolher entre RAID por software e RAID por BIOS, o primeiro é um pouco mais promissor para o desempenho, especialmente se você estiver executando uma distribuição recente do Linux.

  • O desempenho do RAID do hardware pode ser incrivelmente rápido devido ao poder de processamento otimizado do processador do controlador RAID, que, como eu disse, é projetado para alto rendimento e pode realmente vir como um chip de vários núcleos - portanto, esse é um ferro muito sério. A principal desvantagem é que você perde flexibilidade - você não pode simplesmente colocar as unidades em outro computador sem um controlador RAID de hardware - e as despesas. O RAID de hardware é o melhor nível para usar o RAID-5 ou RAID-6, especialmente se você tiver muitos discos (4 ou mais).

No geral

Embora o BIOS RAID seja suportado pelo Linux, não posso recomendar que você o use.

Agora, para responder diretamente às suas perguntas, depois que eu lhe der a resposta prolongada:

O que o RSTe me oferece em comparação com o RAID comum do software Linux?

Veja as comparações acima entre o software RAID e o BIOS RAID. "RSTe" é uma instância do BIOS RAID; O mdRAID do Linux sem o -e imsmé uma instância do RAID de software.

Quando no modo RSTe, o caminho de E / S RAID real (ou seja, espelhamento e distribuição) é tratado pelo md do Linux ou pelo BIOS.

Se você quer dizer o caminho dos dados, ele sempre é tratado pela CPU (e, portanto, pelo sistema operacional), a menos que você tenha uma placa RAID de hardware dedicada. Eu não acho que essas placas sejam instaladas em nenhuma placa-mãe, embora alguns chipsets de servidor de ponta possam me surpreender ...

Em particular, quando eu uso "matrix RAID" (ou seja, o RAID cobre partições específicas em vez de discos inteiros), preciso instalar manualmente o grub nos dois MBRs?

Não. Na verdade, você nunca precisa instalar o GRUB nos dois MBRs. Vamos considerar caso a caso:

  • RAID de software: Escolha um disco arbitrariamente para instalar o GRUB e defina-o na ordem do BIOS para que ele inicialize primeiro. Lembre-se, você pode espelhar partições individuais, se desejar, para que os discos não precisem ser um pouco idênticos no RAID de software. Pode-se ter um MBR com um gerenciador de inicialização e nada pode ter no MBR.

  • RAID do BIOS: O BIOS informará que é um "disco" (na verdade, será chamado de matriz RAID), para que você não escolha onde instalar o GRUB. Quando você instala o Linux, o MBR (incluindo o carregador de inicialização) e todos os outros setores de ambos os discos serão copiados entre os dois discos. Portanto, diferentemente do RAID de software, o BIOS RAID impõe que ambos os discos tenham de ser bloco por bloco idêntico, porque você não pode separá-los como dois dispositivos lógicos; o controlador de disco diz que eles são UM dispositivo lógico, não dois. Então você não pode simplesmente dizer "Quero gravar alguns dados na unidade 0, mas não na unidade 1". Não é possivel. Mas é inteiramente possível com o RAID de software.

  • RAID de hardware: O BIOS informará que é um "disco" e, no que diz respeito ao BIOS, nem sequer está ciente de que você está lidando com vários discos. O controlador RAID abstrai completamente todos os detalhes do RAID do sistema operacional e do BIOS, exceto na medida em que você pode configurar alguns controladores RAID de hardware usando algum tipo de protocolo personalizado no sistema operacional. Mas os dispositivos são completamente inseparáveis ​​da camada de software, semelhante ao BIOS RAID.

Editar: Atualizando para obter mais respostas para perguntas

Ainda não entendi algumas coisas. Primeiramente, sobre um RAID do BIOS: posso construí-lo usando o mdadm, para que o Linux não oculte os discos subjacentes.

É estranho e difícil de explicar. Basicamente, os discos aparecem como um em determinadas camadas e como dois em outras camadas. Mas aposto que, com o BIOS RAID, cada disco não terá seu próprio nó de dispositivo separado, por exemplo, /dev/sdae /dev/sdb. Se isso acontecer, bem, o BIOS RAID é diferente do que eu vi.

sobre grub e MBRs: se um RAID cobre partições em vez de discos, ainda posso ver os discos subjacentes. O MBR não está sob RAID e, portanto, você precisa instalar o carregador de inicialização duas vezes para poder inicializar em caso de falha no disco. Isso está correto?

Ela não ferir a instalar outra cópia, mas em casos de falha no disco, inicialização vai ser a menor das suas preocupações. Em resumo, vá em frente e faça se quiser, mas não é a coisa mais importante. Instalar o grub de um CD ao vivo em um disco rígido é fácil.

Os discos no RAID (especialmente se forem da mesma marca e modelo, produzidos na mesma fábrica e em operação um ao lado do outro na mesma temperatura) provavelmente falharão em rápida sucessão, um após o outro. Portanto, se um disco falhar, provavelmente não é bom apenas encolher os ombros e colocar um novo disco e iniciar a reconstrução: há uma chance razoável de que, durante a reconstrução, o último disco contendo uma cópia consistente dos dados falhe. Nesse ponto, quando você desce para o último disco restante, eu recomendaria que um especialista (ou faça você mesmo se você for bom em hardware) remova os pratos do disco original, compre um novo disco de marca / modelo idêntico , coloque os pratos lá e leia os dados usando o novo disco. Isso é caro e demorado,

Então, são cinco perguntas que eu respondi para você; se você encontrou algum valor nessas informações, marque a resposta adequadamente. Obrigado.


1
obrigado pela sua resposta detalhada e perspicaz. Ainda não entendi algumas coisas. Em primeiro lugar, sobre um RAID do BIOS: posso construí-lo usando mdadm, para que o Linux não oculte os discos subjacentes. Em segundo lugar, sobre o grub e os MBRs: se um RAID cobre partições em vez de discos, ainda posso ver os discos subjacentes. O MBR não está sob RAID e, portanto, você precisa instalar o carregador de inicialização duas vezes para poder inicializar em caso de falha no disco. Isso está correto?
Leonid99

1
Eu tenho um PCH de 6 séries e mdadm --detail-platformindica que o Intel Matrix Storage Manager é a versão 11.0.0.1339. I pode de fato ver meus discos individuais, /dev/sdce /dev/sdd. Minha matriz RAID1 falsa é então /dev/md126.
Jonathon Reinhart

1
Quando o kernel do Linux está funcionando, o código do firmware / BIOS não está mais sendo executado. Então, o que tudo é responsável pelo kernel? Tudo? Se for esse o caso, o que o IMSM realmente faz? Parece que não é muito mais do que o Linux faz com o software RAID por si só? Acho que estou perguntando, o que exatamente o BIOS / Chipset faz?
Jonathon Reinhart

Bem, parece ser um híbrido: quando o computador é inicializado pela primeira vez (quando o BIOS ainda está ativo), o BIOS fornece a lógica RAID suave. Quando o sistema operacional é inicializado, seus drivers são responsáveis ​​por manter a matriz RAID. 1 , 2
Jonathon Reinhart

2

A resposta de Allquixotic é muito longa:

  1. O que o RSTe me oferece em comparação com o RAID comum do software Linux?

Suporte de inicialização e um conjunto de recursos ligeiramente diferente. No fundo, é um formato de dados. - Você pode até usá-lo sem a ROM da opção RST da Intel (então não há suporte especial à inicialização). O que o formato implica está escrito na mdadmpágina de manual.

  1. Quando no modo RSTe, o caminho de E / S RAID real (ou seja, espelhamento e distribuição) é tratado pelo md do Linux ou pelo BIOS.

Pelo Linux md (ou seja, o kernel inteiramente).

Isso deixa uma pergunta em aberto: por que o RST da Intel é limitado apenas a alguns chipsets? Eles não participam do RAID. Na melhor das hipóteses, eles armazenam um pouco, o que instrui a ROM da opção a recusar a execução em chipsets não suportados.


Isso é muito melhor do que a resposta aceita, que é longa, desmedida, amplamente incorreta e não responde à pergunta. (O ponto principal é que o RSTe usa um formato entendido pelo BIOS, permitindo a inicialização a partir de um RAID degradado.)
Nemo

2

Hummm, uma resposta é muito longa e a outra é muito curta.

O "ataque" do RST é principalmente para uso se você estiver inicializando duas vezes uma estação de trabalho, pois a Intel produz drivers do Windows e Linux e você pode configurar o ataque no BIOS. Você configura o RAID, particiona o disco virtual e pode inicializar duas vezes com os dois sistemas operacionais entendendo as várias partições.

mdam é para se o servidor for dedicado ao Linux. É "melhor", pois se você está reconstruindo uma matriz, está fazendo isso no sistema operacional e não no BIOS, portanto a velocidade de reconstrução é muito mais rápida. Em discos grandes, a reconstrução de um ataque de BIOS pode levar vários dias.

Mas a realidade é que você está escolhendo entre um pedaço de C verde ou um pedaço de C. azul. A realidade é que o RAID de software é basicamente o ataque "última vala CYA".

Se você perder um disco em uma matriz RAID de software, isso essencialmente permitirá que você pare imediatamente o servidor, faça um backup completo, substitua o disco com falha e talvez o restante dos discos, em seguida, recrie a matriz ou tente reconstruir. Muitas vezes, é mais rápido substituir o disco, apagar tudo e recriar a matriz e, em seguida, inicializar a partir de um disco de restauração de backup e restaurar a partir do backup.

Com um chip de matriz de hardware, todos os discos podem entrar em bandejas de troca a quente e, quando um falha, uma luz vermelha acende, no disco com falha, você o ejeta, substitui-o por um novo disco e a placa de invasão de hardware recria automaticamente o enquanto o servidor ainda está em execução.

Embora, em teoria, seja possível fazer isso se você tiver bandejas de troca a quente e uma matriz de software Linux mdam na prática, você corre o risco de entrar em pânico e o servidor pode facilmente falhar ao inicializar no disco restante.

A outra questão diz respeito ao TIPO de discos usados. Os discos de estações de trabalho regulares à medida que envelhecem começam a desenvolver setores defeituosos que são remapeados internamente pelo disco em setores sobressalentes. O problema é que esse remapeamento acontece apenas em uma gravação - o disco atrasará o remapeamento se ocorrer uma leitura em um setor defeituoso e em alguns modelos de disco relerá repetidamente o setor defeituoso ou com falha, comparando o resultado cada vez até que ele o decida possui os melhores dados que pode obter desse setor antes de remapear. Esse processo pode demorar um minuto ou mais e, durante esse período, você agora tem 1 disco na matriz, ignorando os códigos de comando, para que o software de invasão de software falhe e marque a matriz como degradada. Na reinicialização, agora você tem 2 discos com o mesmo setor, que podem ter dados diferentes entre os discos; portanto, agora o gerenciador de RAID de software não sabe qual é "bom", o disco que não teve um erro ou o disco que remapeou um setor com a melhor aproximação dos dados que ele possuía. A Western Digital fabrica unidades "vermelhas" que deveriam ser usadas em matrizes RAID de software que não fazem isso; elas simplesmente falham na leitura de um setor imediatamente quando detectam um setor defeituoso e o remapeiam para que o gerente da matriz possa coletar os dados do setor na boa unidade e grave-a na unidade com o setor com falha. Escusado será dizer que eles cobram extra para esses discos. eles simplesmente falham na leitura de um setor imediatamente quando detectam um setor defeituoso e o remapeiam para que o gerenciador da matriz possa pegar os dados do setor na boa unidade e gravá-los na unidade com o setor com falha. Escusado será dizer que eles cobram extra para esses discos. eles simplesmente falham na leitura de um setor imediatamente quando detectam um setor defeituoso e o remapeiam para que o gerenciador da matriz possa pegar os dados do setor na boa unidade e gravá-los na unidade com o setor com falha. Escusado será dizer que eles cobram extra para esses discos.

Em resumo, não use a invasão de software para um servidor que não possa tolerar algum tempo de inatividade se um disco falhar. Destina-se principalmente a estações de trabalho em que as pessoas não fazem backup regularmente e a pequenos servidores SOHO com backup e que podem tolerar um dia ou mais de inatividade se um disco travar.

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.