Posso obter desempenho de SSD rw enquanto tento a segurança de dados se eu combinar SSD e HDD no btrfs RAID1

6

Eu tenho dois dispositivos de armazenamento; HDD lento clássico (750 GB, /dev/sda ) e SSD mais rápido (128 GB, /dev/sdb ). Atualmente eu instalei o Ubuntu & Mint na mesma partição btrfs no SSD ( /dev/sdb5 ). Meu conjunto btrfs consiste em /dev/sdb5 .

O que eu quero alcançar é a replicação de dados no disco rígido, mantendo o desempenho do SSD: algo como isto:

Para o caso de leitura, seria ideal que o procedimento fosse assim:

  • leia do SSD
  • verificar a soma de verificação
  • se verificar .. impressionante, me dê os dados
  • se não, busque dados do HDD e execute a correção de erros por meio de dados duplicados

Eu executei manualmente (algumas ferramentas não sei qual delas ... btrfs check --repair talvez?) a cada mês ou mais para verificar as somas de verificação do HDD e corrigi-las via dados SSD contra o bitrot.

Para o caso de gravação:

  • escreva para o SSD
  • sincronize com o HDD quando os requisitos de gravação são baixos, não diminuindo o sistema.

Isso é possível e como eu faria isso?

A conclusão é que gosto do btrfs e gostaria de duplicar dados em HDD & Unidade SSD automaticamente, mantendo o desempenho excelente SSD.

O uso de SSD como cache de gravação não é uma opção, já que está faltando duplicação e segurança de dados.

    
por lpp 21.12.2015 / 22:07

1 resposta

2

Supondo que seu SSD seja mais rápido para gravações (e não apenas para leituras), há uma maneira fácil de configurar isso com o subsistema RAID do Linux. Digamos que você vai replicar /dev/sda1 (HDD) e /dev/sdb1 (SSD):

mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 --write-mostly --write-behind=1024 /dev/sda1

--write-mostly significa que os dispositivos anteriores serão preferidos para leitura, enquanto os dispositivos a seguir serão gravados somente na maior parte do tempo. --write-behind significa que os dispositivos que gravam principalmente ficam atrasados; o parâmetro determina o tamanho do buffer de gravação. Você pode querer ajustar o parâmetro write-behind baseado no desempenho da sua máquina.

Se você quiser usar o volume existente, você pode convertê-lo para RAID-1 com o formato superblock 1.0 .

As unidades já incluem suas próprias verificações de integridade, portanto geralmente não há muita utilidade para outra no topo. O principal problema com a falha da unidade são os dados que se tornam ilegíveis, não os dados corrompidos. Eu não sei qual é a taxa de erro não detectada relativa para SSD e HDD, mas suspeito que seja aproximadamente o mesmo (e portanto não SSD vs HDD, mas entre os dispositivos específicos), portanto não há razão para supor que os dados sejam lidos de volta do HDD é mais preciso. O Btrfs e o ZFS têm verificação de integridade no nível do sistema de arquivos opcional, se você quiser.

    
por 23.12.2015 / 13:34