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.