RAID de hardware: Recursos de uso



Organizar um único espaço em disco é uma tarefa que pode ser facilmente resolvida usando um controlador RAID de hardware. No entanto, você deve primeiro se familiarizar com os recursos de uso e gerenciamento de um controlador desse tipo. Falaremos sobre isso hoje em nosso artigo.

A confiabilidade e a velocidade das unidades de disco são motivo de preocupação para todos os administradores de sistema. Apesar das garantias dos fabricantes sobre a qualidade de seus próprios dispositivos - HDD e SSD continuam a falhar no momento mais inoportuno, perdendo dados preciosos. A tecnologia SMART, na maioria dos casos, permite avaliar a "saúde" da unidade, mas isso não garante que a unidade continue funcionando sem problemas.

É impossível prever a falha de uma unidade com 100% de precisão, portanto, você deve considerar a opção em que isso não se torna um problema ou causa uma parada de serviço. O uso de matrizes RAID resolve esse problema. Considere as três principais abordagens usadas para esta tarefa:

  • O RAID de software é a opção mais barata, mas também a menos produtiva. A matriz é criada pelo sistema operacional, toda a carga de processamento de dados recai sobre os ombros do processador central.
  • O RAID de hardware integrado (também chamado de Fake-RAID) é um microchip instalado na placa-mãe, que assume parte da funcionalidade do controlador RAID de hardware, trabalhando em conjunto com o processador central. Essa abordagem funciona um pouco mais rápido que o RAID de software, mas a confiabilidade de uma matriz desse tipo deixa muito a desejar.
  • O RAID de hardware é um controlador separado com seu próprio processador e memória cache, assumindo completamente o desempenho de todas as operações do disco. A opção mais cara, no entanto, a mais produtiva e confiável de usar.

Vejamos o RAID de hardware em detalhes.

Aparência


Selecionamos as soluções Adaptec da Microsemi. Estes são controladores RAID com usabilidade comprovada e alto desempenho. Nós os instalamos se nosso cliente decidir solicitar um servidor de configuração arbitrária ou fixa.



Para conectar discos, são usados ​​cabos de interface especiais. No lado do controlador, os conectores SFF8643 são usados . Cada cabo permite conectar até 4 unidades SAS ou SATA (dependendo do modelo). Além disso, o cabo de interface também possui um conector SFF-8485 de oito pinos para o barramento SGPIO, sobre o qual falaremos um pouco mais adiante.

Além do próprio controlador RAID, existem dois dispositivos adicionais que podem aumentar a confiabilidade:

  • BBU (Battery Backup Unit) - um módulo de expansão com uma bateria de íons de lítio, que permite manter a tensão em um chip de cache volátil. No caso de um blecaute repentino do servidor, seu uso permite salvar temporariamente o conteúdo do cache, que ainda não foi gravado em discos.

    Assim que a fonte de alimentação do servidor for restaurada, o conteúdo do cache será gravado em discos no modo normal. Segundo o fabricante, uma bateria totalmente carregada é capaz de armazenar dados em cache por 72 horas.
  • O ZMCP (Zero-Maintenance Cache Protection) é um módulo de expansão especial para o controlador RAID, que possui sua própria memória não volátil e supercapacitor. No caso de uma falha de energia do servidor, o supercapacitor fornece energia elétrica ao microcircuito, o suficiente para gravar o conteúdo da memória volátil do cache na memória ZMCP NAND.

    Após a restauração da energia do servidor, o conteúdo do cache será gravado automaticamente em discos. Esses módulos são instalados em nossos servidores com controlador RAID de hardware e proteção de cache.



Isso é especialmente importante quando o Writeback está ativado. No caso de uma falha de energia, o conteúdo do cache não será liberado para discos, o que levará à perda de dados e, como resultado, a operação regular da matriz de discos será interrompida.

Especificações técnicas


Temperatura


Primeiro, gostaria de abordar uma coisa tão importante quanto o regime de temperatura dos controladores RAID de hardware Adaptec. Todos eles estão equipados com pequenos radiadores passivos, o que pode causar uma falsa impressão de uma pequena dissipação de calor.

O fabricante do controlador cita 200 LFM (pés lineares por minuto) como o valor recomendado do fluxo de ar, que corresponde a um indicador de 8,24 litros por segundo (ou 1,02 metros por segundo). Esses controladores são projetados exclusivamente para instalação em pacotes montados em rack, onde esse fluxo de ar é criado por refrigeradores padrão de alta velocidade.

De 0 ° C a 40-55 ° C - a temperatura de operação da maioria dos controladores Adaptec RAID (dependendo da disponibilidade dos módulos instalados), recomendada pelo fabricante. A temperatura operacional máxima do chip é de 100 ° C. Operar o controlador em temperaturas elevadas (acima de 85 ° C) pode danificá-lo. Por uma questão de conveniência, abaixo do spoiler, fornecemos uma placa de temperaturas recomendadas para diferentes séries de controladores Adaptec.

Temperaturas recomendadas
Série 2 (2405, 2045, 2805) e 2405Q55 ° C sem módulos
Série 5 (5405, 5445, 5085, 5805, 51245, 51645, 52445)55 ° C sem módulo de bateria, 40 ° C com módulo de bateria ABM-800
Série 5Z (5405Z, 5445Z, 5805Z, 5805ZQ)50 ° C com módulo ZMCP
Série 5Q (5805Q)55 ° C sem módulo de bateria, 40 ° C com módulo de bateria ABM-800
Série 6E (6405E, 6805E)55 ° C sem módulos
Série 6 / 6T (6405, 6445, 6805, 6405T, 6805T)55 ° C sem módulo ZMCP, 50 ° C com módulo ZMCP AFM-600
Série 6Q (6805Q, 6805TQ)50 ° C com módulo ZMCP AFM-600
Série 7E (71605E)55 ° C sem módulos
Série 7 (7805, 71605, 71685, 78165, 72405)55 ° C sem módulo ZMCP, 50 ° C com módulo ZMCP AFM-700
Série 7Q (7805Q, 71605Q)50 ° C com módulo ZMCP AFM-700
Série 8E (8405E, 8805E)55 ° C sem módulos
Série 8 (8405, 8805, 8885)55 ° C sem módulo ZMCP, 50 ° C com módulo ZMCP AFM-700
Série 8Q (8885Q, 81605Z, 81605ZQ)50 ° C com módulo ZMCP AFM-700


Nossos clientes não precisam se preocupar com o superaquecimento dos controladores, porque nossos data centers mantêm um regime de temperatura constante e a montagem de servidores de configuração arbitrários leva em consideração os recursos desses componentes (como mencionamos em nosso artigo anterior ).

Velocidade de trabalho


Para demonstrar como a disponibilidade de um controlador RAID de hardware ajuda a aumentar a velocidade do servidor, decidimos construir um banco de testes com a seguinte configuração:

  • CPU Intel Xeon E3-1230v5;
  • RAM 16 Gb DDR4 2133 ECC;
  • 4 HDs com capacidade de 1 TB.

O sistema operacional será instalado no CentOS 7. A função do aplicativo de servidor assumirá o 1C Bitrix24. Primeiro, construiremos o software RAID usando mdadm e mediremos o desempenho usando o teste interno do Bitrix24. Não fazemos alterações ou configurações adicionais ao sistema, especialmente, uma instalação demo com as configurações padrão está instalada.

Em seguida, colocaremos o controlador Adaptec ASR 7805 RAID com o módulo de proteção de cache AFM-700 no mesmo suporte, conectaremos os mesmos discos rígidos e realizaremos exatamente o mesmo teste.

Com RAID de software


A vantagem indubitável do RAID de software é a facilidade de uso. Uma matriz no Linux é criada usando o utilitário mdadm padrão. Ao instalar o sistema operacional, na maioria das vezes a criação de uma matriz é fornecida diretamente pelo instalador. No caso em que o instalador não oferece essa oportunidade, basta acessar o próximo console usando a combinação de teclas Ctrl + Alt + F2 (onde o número da tecla de função é o número do chamado tty).

Criar uma matriz é muito simples. O comando fdisk -l examina quais discos estão presentes no sistema. No nosso caso, são 4 discos:

/dev/sda /dev/sdb /dev/sdc /dev/sdd 

Verifique se não há metadados nos discos, por exemplo, da matriz anterior:

 mdadm --examine /dev/sda /dev/sdb /dev/sdc /dev/sdd 

Nos 4 discos, deve haver uma mensagem:

 mdadm: No md superblock detected 

Se houver metadados em um ou vários discos, você poderá excluí-los da seguinte forma (em que sdX é o disco necessário):

 mdadm --zero-superblock /dev/sdX 

Crie partições em cada disco para a futura matriz usando o fdisk . O tipo de partição deve ser fd (detecção automática de RAID do Linux) .

 fdisk /dev/sdX 

Coletamos a matriz RAID 10 das partições criadas usando o comando:

 mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 

Imediatamente depois disso, a matriz / dev / md0 será criada e o processo de reconstrução dos dados nos discos será iniciado. Para rastrear o status atual do processo, digite:

 cat /proc/mdstat 



Até que o processo de reconstrução dos dados seja concluído, a velocidade da matriz do disco será reduzida.

Depois de instalar o sistema operacional e o Bitrix24 na matriz criada, lançamos o teste padrão e obtivemos os seguintes resultados:



Com RAID de hardware


Antes que o servidor possa usar o espaço em disco único da matriz RAID, é necessário executar a configuração básica do controlador e das unidades lógicas. Existem duas maneiras de fazer isso:

  • usando o utilitário do controlador interno,
  • utilitário do sistema operacional.

O primeiro método é ideal para a configuração inicial. O login no utilitário no modo Legado (o modo padrão para nossos servidores) é realizado usando a combinação de teclas CTRL + A quando uma notificação aparece durante o processo de inicialização do POST.



O utilitário permite não apenas controlar as configurações do controlador, mas também dispositivos lógicos. Inicializamos discos físicos (todas as informações sobre os discos durante a inicialização serão destruídas) e criamos uma matriz RAID-10 usando a seção Criar matriz. Ao criar, o sistema solicitará o tamanho de faixa desejado, ou seja, o tamanho do bloco de dados para uma operação de E / S:

  • um tamanho de faixa maior é ideal para trabalhar com arquivos grandes;
  • um tamanho de faixa menor é adequado para processar um grande número de arquivos pequenos.
Importante - o tamanho da faixa é definido apenas uma vez (ao criar a matriz) e esse valor não pode ser alterado no futuro.



Imediatamente após o controlador receber o comando para criar uma matriz, assim como com o RAID de software, o processo de reconstrução de dados em discos é iniciado. Esse processo é executado em segundo plano e a unidade lógica é imediatamente acessível ao BIOS. O desempenho do subsistema de disco também será reduzido até que o processo seja concluído. Se várias matrizes foram criadas, é necessário determinar a matriz de inicialização usando o atalho de teclado Ctrl + B.

Depois que o status do array mudou para Optimal , instalamos o Bitrix24 e realizamos exatamente o mesmo teste. Resultado do teste:



Imediatamente fica claro que o controlador RAID de hardware acelera as operações de leitura e gravação na mídia de disco através do uso de um cache, o que permite um processamento mais rápido de solicitações de usuários em massa.

Gerenciamento de controlador


Diretamente do sistema operacional, o controlador é controlado usando o software disponível para download no site do fabricante . As opções estão disponíveis para a maioria dos sistemas operacionais e hipervisores:

  • Debian
  • Ubuntu
  • Red Hat Linux,
  • Fedora
  • SuSE Linux,
  • FreeBSD
  • Solaris,
  • Microsoft Windows
  • Citrix XenServer,
  • VMware ESXi

Outras distribuições Linux também têm códigos-fonte de driver disponíveis. Além dos drivers e do utilitário do console ARCCONF, o fabricante também oferece um programa com uma interface gráfica para controle conveniente do controlador - maxView Storage Manager.

Usando esses utilitários, sem interromper o servidor, você pode gerenciar facilmente discos lógicos e físicos. Você também pode usar funcionalidades úteis como "destaque do disco". Já mencionamos o quinto cabo para conectar o SGPIO - este cabo se conecta diretamente ao backplane (do backplane inglês - a placa de conexão para unidades de servidor) e permite que o controlador RAID controle totalmente a indicação de luz de cada disco.

Lembre-se de que os backplanes suportam não apenas o SGPIO, mas também o I2C. A alternância entre esses modos geralmente é feita usando jumpers no próprio backplane.

Cada dispositivo conectado ao controlador RAID de hardware Adaptec recebe um identificador que consiste em um número de canal e um número de disco físico. Os números dos canais correspondem aos números das portas no controlador.

A substituição do disco é uma operação regular, no entanto, requer identificação inequívoca. Se você cometer um erro durante esta operação, poderá perder dados e interromper o servidor. Com um controlador RAID de hardware, esse erro é raro.

Isso é feito de maneira muito simples:

  1. Uma lista de unidades mapeadas para o controlador é solicitada:

     arcconf getconfig 1 
  2. Foi encontrado um disco que requer substituição e suas “coordenadas” são gravadas (parâmetro Canal Reportado, Dispositivo (T: L) ).


  3. O disco é "destacado" com o comando:

     arcconf identify 1 device 0 0 

O controlador dará o comando apropriado do backplane, e o LED da unidade desejada começará a piscar uniformemente em uma cor diferente da padrão de trabalho.

Por exemplo, nas plataformas Supermicro, a operação regular do disco é verde ou azul e o disco "destacado" pisca em vermelho. É impossível misturar os discos nesse caso, o que permitirá evitar erros devido ao fator humano.



Configurar cache


Agora, algumas palavras sobre as opções para trabalhar o cache de gravação. A opção Write Through significa que o controlador informa o sistema operacional sobre o sucesso da operação de gravação somente depois que os dados foram realmente gravados nos discos. Isso aumenta a confiabilidade da segurança dos dados, mas não aumenta a produtividade.

Para atingir a velocidade máxima, você deve usar a opção Write Back . Com esse esquema de operação, o controlador informará o sistema operacional da operação bem-sucedida de E / S imediatamente após a chegada dos dados no cache.
Importante - ao usar Write Back, é altamente recomendável usar um módulo BBU ou ZMCP, pois sem ele, durante uma queda repentina de energia, alguns dados podem ser perdidos.

Configuração de monitoramento


A questão de monitorar o status do equipamento e a possibilidade de notificação é bastante aguda para qualquer administrador de sistema. Para configurar o "pacote" do Zabbix e do controlador RAID Adaptec, recomendamos o uso das soluções listadas .

Frequentemente, você precisa monitorar o status do controlador diretamente do hipervisor, por exemplo, VMware ESXi. O problema é resolvido instalando o provedor CIM usando a instrução Microsemi .

Firmware


A necessidade de firmware do controlador RAID surge com mais freqüência para corrigir os problemas identificados pelo fabricante com a operação do dispositivo. Apesar de o firmware estar disponível para atualização automática, essa operação deve ser abordada com muita responsabilidade, principalmente se o procedimento for realizado em um sistema de “combate”.

Se nosso cliente precisar alterar a versão do firmware do controlador, ele precisará criar um ticket em nosso painel de controle. Os engenheiros do sistema farão o flash do controlador RAID para a versão necessária no horário especificado e o farão da maneira mais correta possível.
Importante - você não deve executar o flashing sozinho, pois qualquer erro pode levar à perda de dados!

Conclusão


O uso de um controlador RAID de hardware é justificado na maioria dos casos, quando são necessárias alta velocidade e confiabilidade do subsistema de disco.

Os engenheiros de sistema da Selectel executarão a configuração básica do conjunto de discos no controlador RAID de hardware gratuitamente ao solicitar um servidor de configuração arbitrária. Caso seja necessária assistência adicional com a configuração, teremos prazer em ajudar como parte de nosso serviço de administração . Além disso, preparamos para nossos leitores uma pequena nota sobre os comandos do utilitário arcconf.

Você usa controladores RAID de hardware? Vejo você nos comentários.

Source: https://habr.com/ru/post/pt449312/


All Articles