Encontrei recentemente uma falha de disco, pela qual obtive um disco de substituição, substituí o disco com êxito e concluí o processo de resilvering. Eu era capaz de usar o raidz2 sem problemas via samba, mas depois fui limpar os erros como o zfs me fez, e o comando "congelou" e não tinha saída. Eu deixei passar a noite, e como ainda não estava mostrando nada de manhã, eu terminei o comando, que ainda não fez nada, então eu apenas fechei minha conexão com o putty ssh. Depois disso, não consegui acessar os dados, importar ou importar o pool, não importa o que eu tentei.
O sistema está no ubuntu (nome do host UBUNTU-SERVER-KVM), e eu tenho outro ubuntu virtual instalado nele (nome do host ubuntu-server) que geralmente acessa o zfs via compartilhamentos samba (eu nunca descobri como ter está diretamente acessível nas máquinas virtuais também). Eu suspeito que eu possa ter feito parte do trabalho do zfs no ubuntu-kvm principal, e parte dele na instalação virtual do ubuntu. Temo que isso tenha causado meus problemas e não consigo importar o pool de maneira alguma. O zpool.cache da máquina do ubuntu-kvm mostra a configuração "antiga" do conjunto, com a unidade morta e não a nova. O que parece confirmar que eu erroneamente fiz o resilver na máquina virtual do ubuntu, ao invés do ubuntu-kvm que usualmente tinha o zpool.
Tenho a sensação de que, se eu pudesse de alguma forma corrigir os caminhos que o pool está tentando importar, meus dados ainda estariam lá quando o processo de resilvering fosse concluído e eu conseguisse acessá-lo anteriormente. O ubuntu virtual refere as suas unidades como "/ dev / vd *" e o ubuntu-kvm que hospeda a máquina virtual mostra-as como "/ dev / sd *".
Alguém tem alguma ideia do que eu possa fazer para recuperar os dados? Sim, eu tenho as partes mais críticas com backup na nuvem, mas há muitas outras coisas perdidas que eu prefiro que não fossem:)
Veja algumas informações úteis:
tentativas de importação
user@UBUNTU-SERVER-KVM ~> sudo zpool import
pool: tank
id: 3866261861707315207
state: FAULTED
status: One or more devices were being resilvered.
action: The pool cannot be imported due to damaged devices or data.
The pool may be active on another system, but can be imported using
the '-f' flag.
config:
tank FAULTED corrupted data
raidz2-0 DEGRADED
sdc ONLINE
sdf ONLINE
replacing-2 DEGRADED
352909589583250342 OFFLINE
sde ONLINE
sda ONLINE
sdd ONLINE
sdb ONLINE
user@UBUNTU-SERVER-KVM ~> sudo zpool import -f tank
cannot import 'tank': I/O error
Destroy and re-create the pool from
a backup source.
user7@UBUNTU-SERVER-KVM ~> sudo zpool import -d /dev/disk/by-id/ tank
cannot import 'tank': I/O error
Destroy and re-create the pool from
a backup source.
zdb
user@UBUNTU-SERVER-KVM ~> sudo zdb
tank:
version: 5000
name: 'tank'
state: 0
txg: 15981041
pool_guid: 3866261861707315207
errata: 0
hostname: 'UBUNTU-SERVER-KVM'
vdev_children: 1
vdev_tree:
type: 'root'
id: 0
guid: 3866261861707315207
children[0]:
type: 'raidz'
id: 0
guid: 2520364627045826300
nparity: 2
metaslab_array: 34
metaslab_shift: 38
ashift: 12
asize: 36006962135040
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 4891017201165304687
path: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-***-part1'
whole_disk: 1
DTL: 241
create_txg: 4
children[1]:
type: 'disk'
id: 1
guid: 7457881130536207675
path: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-***-part1'
whole_disk: 1
DTL: 240
create_txg: 4
children[2]:
type: 'disk'
id: 2
guid: 352909589583250342
path: '/dev/vde1'
whole_disk: 1
not_present: 1
DTL: 159
create_txg: 4
children[3]:
type: 'disk'
id: 3
guid: 10598130582029967766
path: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-***-part1'
whole_disk: 1
DTL: 239
create_txg: 4
children[4]:
type: 'disk'
id: 4
guid: 1949004718048415909
path: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-***-part1'
whole_disk: 1
DTL: 238
create_txg: 4
children[5]:
type: 'disk'
id: 5
guid: 13752847360965334531
path: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-***-part1'
whole_disk: 1
DTL: 237
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
zdb -l / dev / sde1
user@UBUNTU-SERVER-KVM ~> sudo zdb -l /dev/sde1
--------------------------------------------
LABEL 0
--------------------------------------------
version: 5000
name: 'tank'
state: 0
txg: 15981229
pool_guid: 3866261861707315207
errata: 0
hostname: 'ubuntu-server'
top_guid: 2520364627045826300
guid: 1885359927145031384
vdev_children: 1
vdev_tree:
type: 'raidz'
id: 0
guid: 2520364627045826300
nparity: 2
metaslab_array: 34
metaslab_shift: 38
ashift: 12
asize: 36006962135040
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 4891017201165304687
path: '/dev/vdc1'
whole_disk: 1
DTL: 241
create_txg: 4
children[1]:
type: 'disk'
id: 1
guid: 7457881130536207675
path: '/dev/vdf1'
whole_disk: 1
DTL: 240
create_txg: 4
children[2]:
type: 'replacing'
id: 2
guid: 9514120513744452300
whole_disk: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 352909589583250342
path: '/dev/vde1/old'
whole_disk: 1
not_present: 1
DTL: 159
create_txg: 4
offline: 1
children[1]:
type: 'disk'
id: 1
guid: 1885359927145031384
path: '/dev/vde1'
whole_disk: 1
DTL: 231
create_txg: 4
resilver_txg: 15981226
children[3]:
type: 'disk'
id: 3
guid: 10598130582029967766
path: '/dev/vdg1'
whole_disk: 1
DTL: 239
create_txg: 4
children[4]:
type: 'disk'
id: 4
guid: 1949004718048415909
path: '/dev/vdd1'
whole_disk: 1
DTL: 238
create_txg: 4
children[5]:
type: 'disk'
id: 5
guid: 13752847360965334531
path: '/dev/vdb1'
whole_disk: 1
DTL: 237
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
--------------------------------------------
LABEL 1
--------------------------------------------
version: 5000
name: 'tank'
state: 0
txg: 15981229
pool_guid: 3866261861707315207
errata: 0
hostname: 'ubuntu-server'
top_guid: 2520364627045826300
guid: 1885359927145031384
vdev_children: 1
vdev_tree:
type: 'raidz'
id: 0
guid: 2520364627045826300
nparity: 2
metaslab_array: 34
metaslab_shift: 38
ashift: 12
asize: 36006962135040
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 4891017201165304687
path: '/dev/vdc1'
whole_disk: 1
DTL: 241
create_txg: 4
children[1]:
type: 'disk'
id: 1
guid: 7457881130536207675
path: '/dev/vdf1'
whole_disk: 1
DTL: 240
create_txg: 4
children[2]:
type: 'replacing'
id: 2
guid: 9514120513744452300
whole_disk: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 352909589583250342
path: '/dev/vde1/old'
whole_disk: 1
not_present: 1
DTL: 159
create_txg: 4
offline: 1
children[1]:
type: 'disk'
id: 1
guid: 1885359927145031384
path: '/dev/vde1'
whole_disk: 1
DTL: 231
create_txg: 4
resilver_txg: 15981226
children[3]:
type: 'disk'
id: 3
guid: 10598130582029967766
path: '/dev/vdg1'
whole_disk: 1
DTL: 239
create_txg: 4
children[4]:
type: 'disk'
id: 4
guid: 1949004718048415909
path: '/dev/vdd1'
whole_disk: 1
DTL: 238
create_txg: 4
children[5]:
type: 'disk'
id: 5
guid: 13752847360965334531
path: '/dev/vdb1'
whole_disk: 1
DTL: 237
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
--------------------------------------------
LABEL 2
--------------------------------------------
version: 5000
name: 'tank'
state: 0
txg: 15981229
pool_guid: 3866261861707315207
errata: 0
hostname: 'ubuntu-server'
top_guid: 2520364627045826300
guid: 1885359927145031384
vdev_children: 1
vdev_tree:
type: 'raidz'
id: 0
guid: 2520364627045826300
nparity: 2
metaslab_array: 34
metaslab_shift: 38
ashift: 12
asize: 36006962135040
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 4891017201165304687
path: '/dev/vdc1'
whole_disk: 1
DTL: 241
create_txg: 4
children[1]:
type: 'disk'
id: 1
guid: 7457881130536207675
path: '/dev/vdf1'
whole_disk: 1
DTL: 240
create_txg: 4
children[2]:
type: 'replacing'
id: 2
guid: 9514120513744452300
whole_disk: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 352909589583250342
path: '/dev/vde1/old'
whole_disk: 1
not_present: 1
DTL: 159
create_txg: 4
offline: 1
children[1]:
type: 'disk'
id: 1
guid: 1885359927145031384
path: '/dev/vde1'
whole_disk: 1
DTL: 231
create_txg: 4
resilver_txg: 15981226
children[3]:
type: 'disk'
id: 3
guid: 10598130582029967766
path: '/dev/vdg1'
whole_disk: 1
DTL: 239
create_txg: 4
children[4]:
type: 'disk'
id: 4
guid: 1949004718048415909
path: '/dev/vdd1'
whole_disk: 1
DTL: 238
create_txg: 4
children[5]:
type: 'disk'
id: 5
guid: 13752847360965334531
path: '/dev/vdb1'
whole_disk: 1
DTL: 237
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
--------------------------------------------
LABEL 3
--------------------------------------------
version: 5000
name: 'tank'
state: 0
txg: 15981229
pool_guid: 3866261861707315207
errata: 0
hostname: 'ubuntu-server'
top_guid: 2520364627045826300
guid: 1885359927145031384
vdev_children: 1
vdev_tree:
type: 'raidz'
id: 0
guid: 2520364627045826300
nparity: 2
metaslab_array: 34
metaslab_shift: 38
ashift: 12
asize: 36006962135040
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 4891017201165304687
path: '/dev/vdc1'
whole_disk: 1
DTL: 241
create_txg: 4
children[1]:
type: 'disk'
id: 1
guid: 7457881130536207675
path: '/dev/vdf1'
whole_disk: 1
DTL: 240
create_txg: 4
children[2]:
type: 'replacing'
id: 2
guid: 9514120513744452300
whole_disk: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 352909589583250342
path: '/dev/vde1/old'
whole_disk: 1
not_present: 1
DTL: 159
create_txg: 4
offline: 1
children[1]:
type: 'disk'
id: 1
guid: 1885359927145031384
path: '/dev/vde1'
whole_disk: 1
DTL: 231
create_txg: 4
resilver_txg: 15981226
children[3]:
type: 'disk'
id: 3
guid: 10598130582029967766
path: '/dev/vdg1'
whole_disk: 1
DTL: 239
create_txg: 4
children[4]:
type: 'disk'
id: 4
guid: 1949004718048415909
path: '/dev/vdd1'
whole_disk: 1
DTL: 238
create_txg: 4
children[5]:
type: 'disk'
id: 5
guid: 13752847360965334531
path: '/dev/vdb1'
whole_disk: 1
DTL: 237
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
EDIT1: Usando uma opção mágica, indefinida que não pude determinar o que fiz, parece que consegui importar o pool, embora zpool iostat mostre uma tabela vazia, não posso fazer um scrub porque ele diz que "o pool está indisponível no momento", history returns nada, "zdb -u tank" retorna "zdb: não pode abrir 'tank': Erro de entrada / saída", não é possível desanexar o disco rígido morto antigo como. A ação também mudou de "não pode ser importada devido a dispositivos ou dados danificados". para "Aguardar a conclusão do resilver", mas o resilver está em "1 / s" e a lista de configuração não mostra nenhuma das unidades como sendo de "resilvering". Isso já dura há alguns dias sem nenhuma alteração na contagem ou porcentagem de resilver.
user@ubuntu-server ~> sudo zpool import -fFV
pool: tank
id: 3866261861707315207
state: FAULTED
status: One or more devices were being resilvered.
action: The pool cannot be imported due to damaged devices or data.
The pool may be active on another system, but can be imported using
the '-f' flag.
config:
tank FAULTED corrupted data
raidz2-0 DEGRADED
vdc ONLINE
vdf ONLINE
replacing-2 DEGRADED
352909589583250342 OFFLINE
vde ONLINE
vdg ONLINE
vdd ONLINE
vdb ONLINE
user@ubuntu-server ~> sudo zpool import -fFV tank
user@ubuntu-server ~> sudo zpool status
pool: tank
state: FAULTED
status: One or more devices is currently being resilvered. The pool will
continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
scan: resilver in progress since Thu Nov 1 21:02:15 2018
31.0T scanned out of 31.0T at 1/s, (scan is slow, no estimated time)
5.17T resilvered, 100.02% done
config:
NAME STATE READ WRITE CKSUM
tank FAULTED 0 0 1 corrupted data
raidz2-0 DEGRADED 0 0 6
vdc ONLINE 0 0 0
vdf ONLINE 0 0 0
replacing-2 DEGRADED 0 0 0
352909589583250342 OFFLINE 0 0 0 was /dev/vde1/old
vde ONLINE 0 0 0
vdg ONLINE 0 0 0
vdd ONLINE 0 0 0
vdb ONLINE 0 0 0
user@ubuntu-server /tank> sudo zpool detach tank 352909589583250342
cannot open 'tank': pool is unavailable
Tags raid zfs ubuntu zfsonlinux software-raid