
Meu raidz está degradado após a troca da minha placa-mãe - um disco não pode ser encontrado. O disco ausente costumava ser /dev/sdh, mas agora é denominado /dev/sdg - que é a causa do problema.
No zpool degradado consegui off-line o disco ausente usando seu uid (que encontrei usando o comando zdb). Então agora o pool degradado fica assim:
pool: Media
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scrub: scrub completed after 2h10m with 0 errors on Thu May 1 14:02:43 2014
config:
NAME STATE READ WRITE CKSUM
Media DEGRADED 0 0 0
raidz1-0 ONLINE 0 0 0
disk/by-id/ata-WDC_WD2003FYYS-02W0B0_WD-WMAY00171958 ONLINE 0 0 0
disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00424060 ONLINE 0 0 0
disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WMAY04082675 ONLINE 0 0 0
raidz1-1 DEGRADED 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
sdh OFFLINE 0 0 0
No entanto, não consigo substituir /dev/sdh por /dev/sdg:
zpool replace Media 3840188586753206212 /dev/disk/by-id/ata-WDC_WD20EZRX-00D8PB0_WD-WMC4M1843609 -f
invalid vdev specification
the following errors must be manually repaired:
/dev/disk/by-id/ata-WDC_WD20EZRX-00D8PB0_WD-WMC4M1843609 is part of active pool 'Media'
... como posso resolver este problema?
Responder1
emitir o comando
sudo blkid
você pode descobrir que está tentando reparar o raidz 1-1 com um membro ou reserva reservada para o raidz 1-0. Independentemente disso, você provavelmente deve garantir que montará seus arrays de ataque no futuro por id em vez de /dev/sdx
Em resposta ao comentário sobre desconsiderar a adesão. Este é um curso de ação perigoso. Certifique-se de que seus backups estejam atualizados e acessíveis.Este não é meu ponto fortemas eu encontrei:
Aparentemente, isso foi perguntado e respondido aquiSubstituindo um disco morto em um zpool
Também encontrei aqui informações que podem ou não ser relevantes:
http://docs.oracle.com/cd/E19253-01/819-5461/gaypw/index.html
Para remover um membro de um zpool
zpool remove pool vdev
fonte:http://manpages.ubuntu.com/manpages/lucid/man1/zpool.1M.html
Responder2
Eu resolvi isso. Embora não tenha certeza de como. Em algum momento ao longo do caminho (acho que depois de exportar o pool e importá-lo novamente com um nome diferente), as unidades não foram endereçadas pelo nome tradicional "/dev/sd*", mas pelo seu ID. Não fiz nada para forçar o esquema de endereçamento de ID - simplesmente aconteceu.
NAME STATE READ WRITE CKSUM
Media ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
disk/by-id/ata-WDC_WD2003FYYS-02W0B0_WD-WMAY00171958 ONLINE 0 0 0
disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00424060 ONLINE 0 0 0
disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WMAY04082675 ONLINE 0 0 0
raidz1-1 ONLINE 0 0 0
disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY00788302 ONLINE 0 0 0
disk/by-id/ata-WDC_WD2003FYYS-02W0B1_WD-WCAY01088068 ONLINE 0 0 0
disk/by-id/ata-WDC_WD20EZRX-00D8PB0_WD-WMC4M1843609 OFFLINE 0 0 0
Sempre que tentei substituir o dispositivo defeituoso mencionado acima por /dev/sdg, o computador retornou um erro de dispositivo /dev/sdg está ocupado. Descobriu-se que, devido à mudança no endereçamento de ID, o pool se "curou" um pouco.
Quando percebi que a entrada no zpool já estava apontando para o ID do dispositivo /dev/sdg que eu estava tentando configurar, só tive que colocar o drive online com
zpool online Media /dev/disk/by-id/ata-WDC_WD20EZRX-00D8PB0_WD-WMC4M1843609
e a piscina começou a voltar a ficar prateada.
A propósito: também tentei limpar os dados da unidade /dev/sdg para limpar todas as etiquetas e fazer a unidade esquecer que já faz parte de um pool ativo. Não creio que tenha ajudado, mas talvez tenha tido um efeito que não conheço. A limpeza do dd é descrita nos tópicos mencionados acima.
Espero que isso ajude alguém com um problema semelhante. Obrigado a todos que dedicaram um tempo para ler meu problema.