Gravar cache no linux

4

Eu tenho lido muito no serverfault e pesquisado no google sobre o cache de gravação, mas ainda não consigo encontrar a resposta.

Eu tenho um HP ProLiant DL380 G5 com invasão HW com cache de 512 MB com bateria. Eu uso o Debian linux.

Existem 3 caches de escrita: 1. cache de gravação do SO 2. HW raid com 512 MB de cache com bateria 3. caches de HDD

Minha pergunta é: como configurá-los corretamente, para que não haja perda de dados durante a perda de energia?

Eu estava pensando que desabilitar o cache de gravação do sistema operacional e os caches do HDD resolveria o problema e ele ainda estará tendo um bom desempenho devido ao cache de invasão do HW. Estou certo?

A segunda questão é sobre a relação de leitura / gravação do cache RAID HW. Eu estava pensando que desde que o OS RAM é usado como um cache de leitura, seria melhor mudar a taxa de cache RAID HR para 0/100 ou talvez 0/80 (leitura / gravação). Por isso, será utilizado melhor que 50/50, que eu acho que é a relação de cache de leitura / gravação padrão. Quais são os valores ótimos dessa relação?

Obrigado

    
por Jozko 19.01.2013 / 04:07

2 respostas

3

Estes sistemas são projetados para apenas conectar e ir. Veja como cada camada lida com E / S.

SO

As gravações são armazenadas em cache rapidamente (páginas sujas) na RAM, enquanto o subsistema de E / S realmente confirma as coisas. Depois que uma gravação é confirmada, a página é armazenada em cache, caso seja imediatamente lida novamente. O Cache do SO não mantém um conjunto de escritas não-editadas , ele mantém um conjunto de gravações jejuadas que podem precisar ser lidas novamente. É, na verdade, um cache de leitura de 100%.

Controlador RAID

A BBC do controlador RAID recebe a gravação do sistema operacional. Dependendo da política de cache do volume que está sendo gravado (write-through versus write-back), o controlador RAID pode relatar a gravação como Comitted neste momento. Em seguida, ele enfileirará a gravação para entrar no disco real

Disco

Algumas placas RAID realmente desativam o cache HD. Outros não. Não me lembro como a HP faz a deles, mas não ficaria surpreso se o cache do HD estiver desativado e a lógica de otimização de gravação for empurrada para o próprio controlador RAID; Há um motivo pelo qual a HP usa firmware personalizado em suas unidades.

Os sistemas operacionais e os sistemas de arquivos suportados, sabem muito bem que a perda súbita de energia é um modo de falha que pode matar as gravações entre o momento em que o sistema operacional determina que ele precisa acontecer e quando o sistema de armazenamento informa que está concluído. Estamos fazendo isso há algum tempo e somos muito bons em defender isso.

O sistema de arquivos XFS tem uma reputação ruim de capacidade de sobrevivência em situações repentinas de perda de energia devido à maneira como ele lida com gravações de metadados. Mas então, o ambiente é aquele em que a energia é presumidamente redundante. Outros sistemas de arquivos, a série ext, btrfs e, é claro, zfs, também sobrevivem bem.

Se você estiver operando em um ambiente com energia ruim conhecida, para garantir que não haja perda de dados durante falhas de energia:

  • Use um sistema de arquivos conhecido por ser robusto para perda repentina de energia (basicamente, qualquer coisa, exceto XFS)

E é isso. A BBC na placa RAID garante que o cache RAID seja preservado até que a energia seja restaurada. Os caches de disco provavelmente estão desativados. Não há necessidade de ajustar o cache da placa RAID para ser lido. Não há necessidade de desativar os caches de bloco do SO.

Realmente.

    
por 19.01.2013 / 04:38
1

Uma configuração típica para o servidor e controlador HP ProLiant que você tem é deixar o cache de gravação do SO LIGADO, habilitar o armazenamento em cache do controlador RAID (definido como proporção de 25:75 leitura / gravação) e a sua escolha no cache dos discos individuais. É melhor deixá-los seguros para essa configuração. O aviso no utilitário de configuração do controlador de matriz é específico para ativar somente o cache de gravação do drive. is você tem energia de instalação estabilizada / protegida. Embora a HP use um firmware específico em seus discos, não há diferença de desempenho entre eles e os discos RAW Seagate (ou outros OEM) que eles usam.

Você também desejará o firmware mais recente para o controlador Smart Array P400i incorporado no sistema.

O XFS é uma opção de sistema de arquivos perfeitamente fina e estável para hardware corporativo (classe de servidor), especialmente se você tiver um cache em cache flash em seu controlador de matriz.

Você não deve esperar uma perda de energia súbita e incontrolável para seu servidor. Se você estiver, use uma fonte de alimentação ininterrupta (UPS) de tamanho adequado.

Além disso, há várias perguntas aqui abordando os problemas que você aborda:

Qual é o módulo de memória em uma placa RAID necessária para?

Desempenho de disco incrivelmente baixo no HP ProLiant DL385 G7

Não volátil controladores RAID em cache: que tipo de proteção existe contra a falha NVCACHE?

    
por 10.02.2013 / 11:37