Gerenciador de armazenamento Intel Matrix vs RAID de software Linux

Gerenciador de armazenamento Intel Matrix vs RAID de software Linux

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

  • RAID de software Linux comum, usando mdadmo comando.
  • RSTe (pelo BIOS ou, novamente, usando 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 de software Linux normal?
  • Quando no modo RSTe, o caminho real de E/S do RAID (ou seja, espelhamento e distribuição) é controlado pelo Linux mdou pelo BIOS.
  • Em particular, quando eu uso o "RAID de matriz" (ou seja, o RAID cobre partições específicas em vez de discos inteiros), preciso instalar manualmente o grub em ambos os MBRs?

Responder1

Visão geral

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 de software, seu sistema operacional usa algum formato de disco específico do sistema operacional para RAID (espelhamento, distribuição, bits de paridade, qualquer que seja) . Todo o processamento é feito pela CPU sem suporte de hardware.

  • BIOS RAID: Também conhecido como "Fake RAID" ou "Host RAID", isso significa que o firmware da sua placa-mãe (mais especificamente, o seu controlador SATA/SAS) tem suporte explícito para reconhecer 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 podedizerque é uma configuração RAID, mas o sistema operacional *não é responsável pelo formato no disco da paridade/striping/etc do RAID. Porém, mesmo neste modo, a CPU faz todos os cálculos de bits de paridade e distribuição. A placa-mãe, o BIOS e o controlador SATA possuem lógica suficiente para "combinar" fisicamente os dispositivos e definir um formato em disco para o RAID. Mas eles não têm um processador dedicado para fazer os cálculos e dependem do software do sistema operacional para instruir a CPU a fazê-los, e é por isso que você ainda precisa informar ao Linux sobre o BIOS RAID. (Intel Matrix/RST é um tipo de BIOS RAID).

  • Hardware RAID: É aqui que você tem um chip dedicado cujo único propósito é processar os dados necessários para o RAID. O chip pode ser bastante poderoso; alguns controladores RAID de hardware, na verdade, possuem um chip semelhante a uma CPU de núcleo duplo integrado, embora seja especificamente otimizado para executar um sistema operacional incorporado que é MUITO rápido em fazer cálculos de RAID, como bits de paridade para RAID-5 ou distribuição para RAID -0. Os discos rígidos são fisicamente cabeados na 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 datacenters industriais.

Compatibilidade

Em geral, cada tipo de RAID está “amarrado” a algum aspecto particular 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 será quebrado, levando à incompatibilidade. Embora seja conceitualmente possível que qualquer formato RAID de software seja suportado por qualquer outro sistema operacional, uma vez que éapenas software, na prática, a maioria dos sistemas operacionais apresenta formatos RAID incompatíveis que somente aquele 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 podem reconhecer o RAID de software do Windows, chamados Discos Dinâmicos.

  • O BIOS RAID está vinculado à placa-mãe que você possui. Pode ser possível mover unidades formatadas com um formato BIOS RAID específico para outra placa-mãe com uma solução BIOS RAID semelhante; por exemplo, Intel RST para outro sistema com RST. Mas você precisará pesquisar isso cuidadosamente antes de tomar uma atitude, para ter certeza de que será compatível, se você se preocupa 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 mudam o formato com mais frequência. Novamente, você terá que pesquisar caso a caso.

Desempenho

O desempenho depende em grande partecomovocê configura os parâmetros básicos da matriz RAID e menos na solução específica. Em geral, os controladores RAID de hardware têm o “teto” mais alto para desempenho máximo; eles também não sobrecarregam sua CPU tanto quanto as outras soluções. Mas se você escolher o tipo de RAID errado para sua carga de trabalho, ou o tamanho de distribuição errado, ou a abordagem de cache errada, um controlador RAID de hardware também pode ser extremamente lento, mais lento do que uma das unidades executadas 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 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 em RAID de software é horrível.

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

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

Geral

Embora o BIOS RAID sejasuportadopelo Linux, não posso recomendar que você o use.

Agora, para responder diretamente às suas perguntas, depois de ter dado a resposta prolixa:

O que o RSTe me oferece em comparação com o RAID de software Linux normal?

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

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

Se você se refere ao caminho dos dados, ele é sempre controlado pela CPU (e, portanto, pelo sistema operacional), a menos que você tenha uma placa RAID de hardware dedicada. Eu nãopensareles vêm em qualquer placa-mãe, embora alguns chipsets de servidor de última geração possam me surpreender ...

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

Na verdade, você nunca precisa instalar o GRUB em ambos os MBRs. Vamos analisar caso a caso:

  • RAID de software: basta escolher um disco arbitrariamente para instalar o GRUB e configurá-lo na ordem do BIOS para que ele inicialize primeiro. Lembre-se de que você pode espelhar partições individuais se desejar, para que os discos não precisem ser idênticos aos poucos no RAID de software. Pode-se ter um MBR com bootloader e não ter nada no MBR.

  • BIOS RAID: O BIOS dirá que é um "disco" (na verdade, ele será chamado como é, uma matriz RAID), para que você não escolha onde instalar o GRUB. Quando você instala o Linux para isso, o MBR (incluindo o bootloader) 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 sejam idênticos, bloco por bloco, porque você não pode separá-los como dois dispositivos lógicos; o controlador de discodizeles são UM dispositivo lógico, não dois. Portanto, você não pode simplesmente dizer "Quero gravar alguns dados na unidade 0, mas não na unidade 1". Não é possivel. Mas é perfeitamente possível com Software RAID.

  • RAID de hardware: O BIOS informará que é um “disco” e, no que diz respeito ao BIOS, ele nem sequer está particularmente ciente de que você está lidando com vários discos. O controlador RAIDcompletamenteabstrai 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 dentro do sistema operacional. Mas os dispositivos são completamente inseparáveis ​​da camada de software, semelhante ao BIOS RAID.

Editar:Atualizando para mais respostas a perguntas

Ainda não consigo entender algumas coisas. Em primeiro lugar, sobre um BIOS RAID: posso construí-lo usando mdadm, para que o Linux não esconda de mim os discos subjacentes.

É estranho e difícil de explicar. Basicamente, os discos aparecem como um em certas 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 seu BIOS RAID é diferente do que eu vi.

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

Nãoferirpara instalar outra cópia, mas em casos de falha do disco, a inicialização será a menor preocupação. Resumindo, vá em frente e faça se quiser, mas não é a coisa mais importante. Instalar o grub de um live CD em um HDD é fácil.

Os discos em RAID (especialmente se forem da mesma marca e modelo, produzidos na mesma fábrica e operando 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 falhou, provavelmente não é correto simplesmente encolher os ombros, colocar um novo disco e iniciar a reconstrução: há uma boa chance de que, durante a reconstrução, o último disco contendo uma cópia consistente dos dados falhe. É neste ponto, quando você chega ao último disco restante, que eu recomendo 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, mas é a forma mais infalível de reter seus dados.

Então, são cinco perguntas que respondi para você; se você encontrou algum valor nesta informação, marque a resposta apropriadamente. Obrigado.

Responder2

A resposta do Allquixotic é muito longa:

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

Suporte de inicialização e um conjunto de recursos ligeiramente diferente. Em sua essência, é um formato de dados. – Você pode até usá-lo sem a ROM de opção RST da Intel (então você não terá suporte especial para inicialização). O que o formato implica está escrito na mdadmpágina de manual.

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

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

Isso deixa uma questão em aberto: por que o RST da Intel está limitado apenas a alguns chipsets? Eles não participam do RAID. Na melhor das hipóteses, eles armazenam um pouco, o que diz à ROM opcional para recusar a execução em chipsets não suportados.

Responder3

Hmmm, uma resposta muito longa e outra muito curta.

O "raid" RST é usado principalmente se você estiver inicializando duas estações de trabalho, já que a Intel produz drivers para Windows e Linux e você pode configurar o raid no BIOS. Você configura o RAID, particiona o disco virtual e pode fazer inicialização dupla com ambos os sistemas operacionais, entendendo as múltiplas partições.

mdam é para se o servidor for dedicado ao Linux. É "melhor", pois se você estiver reconstruindo um array, estará fazendo isso a partir do sistema operacional e não do BIOS, portanto a velocidade de reconstrução é muito mais rápida. Com discos grandes, uma reconstrução do BIOS RAID 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 um ataque de “última vala CYA”.

Se você perder um disco em uma matriz RAID de software, essencialmente, isso permitirá que você pare imediatamente o servidor, faça um backup completo, substitua o disco com falha e talvez o restante dos discos e, em seguida, recrie a matriz ou tente reconstruí-la. Muitas vezes é mais rápido substituir o disco, apagar tudo nele 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 ir para bandejas hot-swap e quando um falha, uma luz vermelha acende, no disco com falha, você o ejeta, substitui-o por um novo disco, então a placa RAID de hardware reconstrói automaticamente o array enquanto o servidor ainda está em execução.

Embora em teoria seja possível fazer isso se você tiver bandejas hot swap e um array 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 utilizados. À medida que envelhecem, os discos regulares das estações de trabalho começam a desenvolver setores defeituosos que são remapeados internamente pelo disco em setores sobressalentes. O problema é que esse remapeamento só acontece durante uma gravação - o disco atrasará o remapeamento se ocorrer uma leitura em um setor defeituoso e em alguns modelos de disco relê repetidamente o setor defeituoso ou com falha, comparando o resultado a cada vez até decidir. tem os melhores dados que pode obter desse setor antes de remapeá-lo. Esse processo pode levar cerca de um minuto e, durante esse tempo, você agora tem 1 disco na matriz, ignorando os códigos de comando, de modo que o software de invasão de software travará e marcará a matriz como degradada. Na reinicialização você agora tem 2 discos com o mesmo setor que podem ter dados diferentes entre os discos, então agora o gerenciador RAID do software não sabe qual é "bom", o disco que não teve erro ou o disco que remapeou um setor com a melhor aproximação dos dados que possuía. A Western Digital fabrica unidades "vermelhas" que deveriam ser usadas em arrays RAID de software que não fazem isso, eles apenas falham na leitura de um setor imediatamente quando detectam um setor defeituoso e o remapeiam para que o gerenciador de array possa retirar os dados do setor na unidade boa e grave-o na unidade com o setor com falha. Escusado será dizer que eles cobram extra por esses discos.

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

informação relacionada