ZFS Raid1z Disk Replace

0

Eu tenho rodado o ZFS Raid1z com 5 discos no Ubuntu 12.04 por 3 anos sem nenhum problema.
Infelizmente o dia da falha do disco chegou. Eu perdi um disco na matriz, ele simplesmente ficou offline e depois de alguns dias o segundo começou a soltar os erros também. Como o sistema detectou erros de soma de verificação no segundo disco que começou a falhar (alguns setores defeituosos de acordo com a SMART) ele começou a recanalizar a matriz e quando cheguei ao PC e vi a recatalização já estava em 40% , a fim de evitar uma catástrofe decidi parar o servidor o mais cedo possível.

Então, basicamente, meu array parece quase assim, e em algum lugar é mencionado que os dados foram perdidos:

NAME                                    STATE     READ WRITE CKSUM
Misu                                    DEGRADED     0     0     0
  raidz1-0                              ONLINE       0     0     0
    scsi-SATA_ST3000DM001-9YN_Z1F1587B  OFFLINE      0     0     0   (failed hdd)
    scsi-SATA_ST3000DM001-9YN_Z1F14J7V  ONLINE       0     0     0
    scsi-SATA_ST3000DM001-9YN_Z1F14JYL  ONLINE       0     0     0
    scsi-SATA_ST3000DM001-1CH_W1F1G04F  ONLINE       0     0     0
    scsi-SATA_ST3000DM001-1CH_W1F1G1H7  ONLINE       134   5     139 (failing hdd)  

Como o processo de resilver leva algum tempo, tenho muito medo de substituir o primeiro disco e esperar que o segundo, aquele que tem erros de soma de verificação, não falhe. Então eu decidi substituir o PCB no primeiro disco defeituoso, uma vez que tinha problemas de pcb e não problemas mecânicos.

Então, se eu conseguir fazer o primeiro disco rodando o que devo fazer a seguir, como o zfs saberá que o disco não foi substituído (não tenho certeza, mas acredito que mudar o pcb irá mudar o número de série e outras coisas para esse disco ) e detectar o disco como o membro original?

Alguma outra informação que possa me ajudar a não piorar isso?

    
por Misu Egri 03.06.2015 / 21:59

1 resposta

1

Reimporte o pool somente leitura e faça um backup enquanto ele ainda pode ser montado. Você tem dois discos defeituosos em um pool com um nível de proteção por paridade e, se o segundo disco também falhar off-line, o problema se torna muito pior. Evite dormir ou ligar / desligar o hardware até ter um backup.

O OpenZFS pode reconhecer dados no disco reparado, independentemente de a alteração da PCB alterar o número de série do disco. Se o disco reparado reaparecer no sistema com um nome / dev diferente, basta reimportar o pool. O resilvering deve acontecer no disco reparado antes que o segundo disco com falha possa ser substituído, ou seja, quando é provável que ocorra um erro fatal.

Observe que isso pode ser uma falha de 'banheira' porque os discos parecem ser do mesmo lote de fabricação. Em caso afirmativo, espere falhas adicionais.

    
por Darik Horn 04.06.2015 / 18:36