Criar RAID-Z2 em estado degradado possível?

6

Estou mudando de um servidor para outro e quero trazer alguns discos para mim. Infelizmente, não tenho armazenamento suficiente para fazer backup de todos os dados no servidor antigo.

Servidor antigo 4 disco RAID5
Trazendo dois discos do servidor antigo para:
Novo servidor 6 DISK RAID-Z2 (4+2)

O servidor antigo pode perder um disco, mas não dois.

Posso configurar o novo servidor como RAID-Z2 (4+2) sem um disco? Mover todos os dados e depois adicionar o último disco?

Ou há alguma outra maneira de contornar isso?

    
por ToPa 10.11.2016 / 16:11

2 respostas

5

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:

  1. Crie um arquivo esparso com o tamanho do disco real (suponhamos que seja 1000 GB neste exemplo):

    mkfile -n 1000g /tmp/fakedisk1
    
  2. Crie um zpool com os discos reais e o arquivo esparso:

    zpool create -f newpool raidz2 disk1 disk2 disk3 disk4 disk5 /tmp/fakedisk1
    
  3. Imediatamente coloque os arquivos esparsos offline para que ninguém tente escrever:

    zpool offline newpool /tmp/fakedisk1
    
  4. Seu pool agora estará degradado, mas funcionando. Copie seus arquivos para o novo pool (use ssh ou netcat entre send e recv se estiver usando rede em vez de conjuntos diretamente anexados):

    zfs snapshot -r oldpool@now
    zfs send -R oldpool@now | zfs recv -Fdu newpool
    
  5. 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.

    
por 24.11.2016 / 09:28
0

Não é possível confirmar a primeira resposta, por isso, basta fazer uma nova resposta.

Quando você está no Linux, não pode usar mkfile . A melhor alternativa é provavelmente truncate . Primeiro, obtenha o tamanho (exato) em bytes de seus HDDs com fdisk:

root@OMV-NAS:~# fdisk  -l /dev/sda
Disk /dev/sda: 7,3 TiB, 8001563222016 bytes, 15628053168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes

Neste caso, são 8001563222016 bytes, então 8,001 ... TB. Agora podemos criar o arquivo falso com:

truncate -s 8001563222016 /tmp/FD1.img

O resto é exatamente igual ao da resposta original.

    
por 30.03.2018 / 02:22

Tags