RAID 1 sem proteção de cache - ZMCP / bateria de backup

2

Estou executando o RAID 1 em um Adaptec 6405. Estou tentando decidir se preciso instalar o ZMCP no cartão para fornecer proteção de cache. O ZMCP da Adaptec é equivalente a um backup de bateria da BBU para o cache.

Eu habilitei o cache de gravação no BIOS do controlador para garantir que o sistema tenha um bom desempenho.

Eu posso entender que a proteção de cache é necessária para remoção. Mas é necessário para espelhamento?

O risco de executar o RAID 1 sem proteção de cache (um BBU ou o ZMCP da Adaptec) é maior que executar uma máquina com um controlador SATA normal?

Se alguém tiver um Adaptec 6405 com a placa-filha do AFM 600, você poderá me dizer se o AFM 600 sai do lado do cartão e, em caso afirmativo, quanto?

A placa-mãe tem apenas um slot PCI Gen2 em que a placa Adaptec 6405 se encaixa e neste slot o lado no qual o ZMCP está está a apenas um centímetro da lateral do gabinete.

    
por Mick 02.04.2014 / 06:32

4 respostas

1

A proteção de cache é sobre proteger o que está no cache do controlador "antes" de ser gravado nos discos. Portanto, se você tiver o cache de gravação ativado em uma matriz, os dados serão gravados na memória DDR no controlador ... e depois gravados no disco (quando os discos não estiverem tão ocupados). Estes princípios permanecem, não importa o nível de RAID usado. Portanto, se você quiser proteger os dados que o sistema operacional gravou nos discos, mas o controlador ainda não tiver sido gravado fisicamente nos discos, você precisará de proteção de cache. BTW: executar qualquer disco giratório sem o cache de gravação é tão lento quanto uma semana molhada. N

    
por 08.07.2015 / 07:31
1

I can understand cache protection being required for stripping. But is it required for mirroring?

Tecnicamente, não é necessário para nenhum dos dois. Apenas aumenta o desempenho e o risco. Se você quer ter 100% de certeza, então você:

  1. Não use o cache de gravação na placa RAID ou use uma BBU / flashbackups / ZMCP.
  2. Desativar o cache de gravação nas próprias unidades.

Mas o RAID não é sobre ser 100% seguro. O RAID é sobre duas coisas possíveis:

  1. Mantendo seus dados intactos e acessíveis, mesmo quando um disco falha. (Pelo menos até você poder fazer uma manutenção de emergência. Por exemplo, logo após o horário comercial).
  2. E, muitas vezes, trata-se de aumentar o desempenho (por exemplo, faixas ou RAID10, 50, 60, ... leitura do RAID5 / 6)

Para resumir: Não, não é obrigatório para um espelho.

Is the risk of running RAID 1 without cache protection (a BBU or Adaptec's ZMCP) any greater than running a machine with a normal SATA controller?

Não. Eu acho que é o mesmo.
(Que exclui o risco de falha da placa RAID).

    
por 29.09.2014 / 21:53
1

Um cache de gravação é uma memória volátil (geralmente RAM) que o sistema operacional e os discos usam para consolidar e armazenar em cache as ações de gravação. Geralmente, tudo o que está no cache ainda não foi gravado no disco. Se a energia for perdida para este cache, ele perderá seu conteúdo e, por extensão, você perderá alguns dados.

Se o seu controlador tiver uma bateria de backup, o cache de gravação será retido no caso de falta de energia até a próxima inicialização e gravada no (s) disco (s). O nível do RAID não tem nada a ver com isso.

Se você não tiver uma bateria de backup, perderá uma parte dos dados que ainda estavam no cache. Nem o sistema de arquivos nem o RAID saberão exatamente o que estava no cache e, como tal, você perderá esses dados. Este é um problema com todos os níveis de RAID, mesmo com RAID1 ou RAID5. Esse problema é mais comumente conhecido como um Buraco de Gravação RAID .

Resumindo: Se você usar um cache de gravação, precisará de uma bateria de backup para esse cache. Se você não usa um cache de gravação, você não vai. O nível do RAID não está relacionado.

    
por 27.08.2015 / 14:16
1

No RAID1, se a energia for perdida e alguns dados no cache de gravação forem gravados em um disco rígido, mas não em outro, as unidades terão dados discordantes para alguns blocos. Acho que, dependendo do sistema RAID exato que você está usando, é possível que o sistema balanceie as leituras entre as duas unidades. Se o sistema não “esfregar” o array após um desligamento sujo antes de retornar os dados para o leitor, ele poderá retornar dados diferentes para o mesmo bloco em leituras subseqüentes. Ou seja, você pode ler um arquivo e ver os dados em um disco, liberar seus caches de leitura e, em seguida, ler o mesmo arquivo novamente e obter os dados do outro disco que podem ser diferentes.

Eu acho (não tenho certeza) que, quando vi o MD (software RAID) do Linux após uma reinicialização, ele parece executar automaticamente um scrub e se recusar a retornar blocos específicos até verificar se cada bloco foi removido. Mas não tenho certeza se era isso que estava realmente fazendo. Além disso, não sei como os controladores RAID de hardware lidam com essa situação.

Observe que, mesmo que essa depuração ocorra, se o cache de gravação não preservar a ordem das gravações em cada disco, o sistema de arquivos poderá estar corrompido, mesmo se estiver em diário. Suponho que o cache de gravação ao qual você está se referindo esteja no SO sobre as gravações que realmente foram concluídas, o que significa que quaisquer suposições feitas por um sistema de arquivos sobre persistência são violadas propositadamente por causa do desempenho. Parece que os backups de bateria se destinam a garantir que as gravações que o sistema de arquivos considera concluídas sejam realmente concluídas de forma que, quando a matriz for remontada, os dados que o sistema de arquivos considerou terem sido gravados retornem na leitura.

Desculpe, eu não tenho respostas, levanto as preocupações / perguntas que me preocupariam nesse cenário.

    
por 30.11.2016 / 23:47

Tags