Sim, é possível usar discos falsos suportados por arquivos para os seus redundantes. Claro, não suportado e você deve ter um backup, então simule primeiro com pequenos arquivos no seu antigo pool para ver se tudo funciona como esperado.
Para detalhes, consulte link e link para detalhes. Você também pode procurar online por "create raidz2 degraded" se tiver outros sistemas como o FreeNAS etc.
As etapas importantes (tiradas do arquivo de lista de discussão por Tomas Ögren e Daniel Rock) são:
-
Crie um arquivo esparso com o tamanho do disco real (suponhamos que seja 1000 GB neste exemplo):
mkfile -n 1000g /tmp/fakedisk1
-
Crie um zpool com os discos reais e o arquivo esparso:
zpool create -f newpool raidz2 disk1 disk2 disk3 disk4 disk5 /tmp/fakedisk1
-
Imediatamente coloque os arquivos esparsos offline para que ninguém tente escrever:
zpool offline newpool /tmp/fakedisk1
-
Seu pool agora estará degradado, mas funcionando. Copie seus arquivos para o novo pool (use
ssh
ounetcat
entresend
erecv
se estiver usando rede em vez de conjuntos diretamente anexados):zfs snapshot -r oldpool@now zfs send -R oldpool@now | zfs recv -Fdu newpool
-
Destrua o antigo e substitua os arquivos esparsos pelos discos liberados:
zpool replace newpool /tmp/fakedisk1 disk6
Mais uma vez, uma palavra de cautela, dependendo do seu nível de redundância (se você usar dois discos falsos em um Z2 ou três discos falsos em um Z3):
Remember: during data migration your are running without safety belts. If a disk fails during migration you will lose data.