Sou novo no sistema de arquivos ZFS. Eu estava usando um DrivePool no Windows, mas queria algo que pudesse corrigir erros rapidamente e criar e manter instantâneos. Eu estava usando o BTRFS de uma só vez; no entanto, o ZFS foi incluído no Ubuntu 16.04 e ouvi dizer que o ZFS é mais estável que o BTRFS no raid-z2, então imaginei, por que não.
Eu fiz o movimento há cerca de três semanas. Eu peguei 10 drives de 4 TB e os coloquei em um raid-z2. Demorou cerca de 18 horas de backups para invadir. Eu não relizei que a ordem da unidade era importante. Peguei uma unidade e coloquei-a dentro do gabinete, pois tenho 14 portas, mas apenas 12 slots. Isso aparentemente matou meu z2 sem me dizer. Eu me perguntava por que meu array estava rodando a 90MB / s, mas meu trabalho me impediu de investigá-lo ainda mais até hoje à noite.
zpool status
Eu tive uma unidade no status FAULTED e uma unidade em UNAVAIL. Ambas as unidades SMART correm bem. Como já faz duas semanas, os dados nas unidades são uma porcaria. Então eu OFFLINE os discos.
root@core:/home/kayot# zpool status
pool: storage
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'.
scan: scrub in progress since Tue Feb 21 20:15:16 2017
151G scanned out of 24.8T at 401M/s, 17h55m to go
0 repaired, 0.60% done
config:
NAME STATE READ WRITE CKSUM
storage DEGRADED 0 0 0
raidz2-0 DEGRADED 0 0 0
sda ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
sdd ONLINE 0 0 0
sde ONLINE 0 0 0
sdf ONLINE 0 0 0
sdg ONLINE 0 0 0
sdh ONLINE 0 0 0
11017248821379080310 OFFLINE 0 0 0 was /dev/sdk1
2056055545907538536 OFFLINE 0 0 0 was /dev/sdl1
Eu tenho backups completos, então não estou nervoso nem nada. Então, eu acho que vou substituir os discos pelos mesmos discos. O SDK ainda está no sistema, mas não está sendo usado corretamente?
root@core:/home/kayot# zpool replace -f storage 11017248821379080310 /dev/sdk
invalid vdev specification
the following errors must be manually repaired:
/dev/sdk1 is part of active pool 'storage'
Isso é estranho. Ele me disse abertamente que a unidade estava falhada e eu OFFLINE'd isso. Eu limpei as partições. Eu usei o Parted e removi as partições. Eu também criei uma nova partição GPT.
root@core:/home/kayot# zpool replace storage /dev/sdk
cannot replace /dev/sdk with /dev/sdk: /dev/sdk is busy
root@core:/home/kayot# zpool replace storage /dev/sdk
invalid vdev specification
use '-f' to override the following errors:
/dev/sdk1 is part of active pool 'storage'
root@core:/home/kayot#
Mesmo erro. Como ele sabe que ainda é a mesma unidade?
Então eu DD os primeiros 10 GB da unidade. Em seguida, usei o Parted e criei uma nova tabela de partições. Mesmo erro ... Então eu tentei cruzar adicionar as unidades, vou usar a outra unidade para substituir a primeira unidade, etc.
O mesmo erro na unidade diferente.
POR QUÊ
Eu também usei labelclear. O mesmo resultado.
O que preciso fazer para colocar essas unidades novamente em funcionamento? Nuke toda a matriz?
Então, o que estou fazendo de errado e como eu consertaria isso? Tenho backups, mas estou pensando nisso como uma experiência de aprendizado e, se puder consertá-lo em vez de substituí-lo, isso seria ideal.
Aqui está o meu ZBD Trace
root@core:/home/kayot# zdb
storage:
version: 5000
name: 'storage'
state: 0
txg: 1080550
pool_guid: 9888777651596013552
errata: 0
hostname: 'core'
vdev_children: 1
vdev_tree:
type: 'root'
id: 0
guid: 9888777651596013552
children[0]:
type: 'raidz'
id: 0
guid: 6154429632473251558
nparity: 2
metaslab_array: 34
metaslab_shift: 38
ashift: 12
asize: 40007384432640
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 788698524796940048
path: '/dev/sda1'
whole_disk: 1
DTL: 170
create_txg: 4
children[1]:
type: 'disk'
id: 1
guid: 13851319173204376663
path: '/dev/sdb1'
whole_disk: 1
DTL: 169
create_txg: 4
children[2]:
type: 'disk'
id: 2
guid: 2340725902255763627
path: '/dev/sdc1'
whole_disk: 1
DTL: 168
create_txg: 4
children[3]:
type: 'disk'
id: 3
guid: 17362585713374487716
path: '/dev/sdd1'
whole_disk: 1
DTL: 167
create_txg: 4
children[4]:
type: 'disk'
id: 4
guid: 2150600564749895821
path: '/dev/sde1'
whole_disk: 1
DTL: 166
create_txg: 4
children[5]:
type: 'disk'
id: 5
guid: 3210726972626380545
path: '/dev/sdf1'
whole_disk: 1
DTL: 165
create_txg: 4
children[6]:
type: 'disk'
id: 6
guid: 8795069986910347514
path: '/dev/sdg1'
whole_disk: 1
DTL: 164
create_txg: 4
children[7]:
type: 'disk'
id: 7
guid: 6469389792976906412
path: '/dev/sdh1'
whole_disk: 1
DTL: 163
create_txg: 4
children[8]:
type: 'disk'
id: 8
guid: 11017248821379080310
path: '/dev/sdk1'
whole_disk: 1
not_present: 1
DTL: 160
create_txg: 4
offline: 1
children[9]:
type: 'disk'
id: 9
guid: 2056055545907538536
path: '/dev/sdl1'
whole_disk: 1
not_present: 1
DTL: 159
create_txg: 4
offline: 1
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data