Você pode criar uma matriz mdraid RAID-1 começando com uma partição existente. Primeiro, você precisa criar espaço para o superbloco mdadm, o que significa que você precisa reduzir um pouco seu sistema de arquivos.
No momento, o formato normal de superblocos é 0.9 . Sua localização é entre 128kB e 60kB do final da partição, é 4kB longa e inicia em um endereço que é um multible de 64kB. Então reduza seu sistema de arquivos em 128kB, ou mais precisamente para ((device_size mod 64kB) - 1) * 64kB.
Se você quiser mais de 2TB por faixa, é necessário o 1.0 formato de superbloco , que não é compatível com todas as distribuições até o momento. O superbloco 1.0 está no final do dispositivo, o que eu acho que significa que você só precisa reduzir seu sistema de arquivos em 8kB.
Agora que você diminuiu o sistema de arquivos, é possível criar a matriz. Primeiro, crie um array degradado apenas com os dados existentes. Certifique-se de que o sistema de arquivos não esteja montado neste momento. Para seu caso de uso, o bitmap de intenção de gravação deve estar em uma partição separada. Use -e 1.0
para usar o novo formato de superbloco da versão 1.
mdadm --create /dev/md0 -e 0.9 -l 1 -n 2 \
--write-behind=256 --bitmap=/path/to/bitmap /dev/sda1 missing
Agora você pode montar o sistema de arquivos em /dev/md0
. Adicione o segundo disco ao seu gosto. Os dados serão copiados para a nova unidade em segundo plano.
mdadm --add /dev/md0 --write-mostly /dev/sdb1
Eu criei uma matriz espelhada como essa, mas sem o modo write-behind. Eu não acho que o modo write-behind invalidaria o procedimento.