Вопрос или проблема
У меня есть zpool raidz3 на Ubuntu 18.04 с встроенными функциями zfs, недавно произошел сбой системы, я предполагаю, что он вызван недоступным (неисправным) диском, и после перезапуска пул пропал:
$ sudo zpool status
нет доступных пулов
Попробовал перечислить пул, но он говорит: Импорт пула невозможен из-за поврежденных устройств или данных.
$ sudo zpool import
pool: content-pool
id: 3621552755300412622
state: UNAVAIL
status: Одно или несколько устройств были восстановлены.
action: Импорт пула невозможен из-за поврежденных устройств или данных.
config:
.
.
.
Я подтвердил, что все диски правильно обнаружены системой, могут быть найдены в /dev/disk/by-id/
/ /dev/
Попробовал импортировать его, используя следующий метод, также пробовал с параметрами -F
/-f
/-m
/-o readonly=on
:
sudo zpool import content-pool
sudo zpool import -d /dev/disk/by-id/ content-pool
Все вернулось:
невозможно импортировать content-pool: одно или несколько устройств в настоящее время недоступны
Также пытался использовать zdb -l
для извлечения меток vdev с разделов работающего жесткого диска, кажется, метка может быть успешно получена, вывод почти идентичен, за исключением части guid:
, и есть 36 дочерних элементов (0-35), как и в оригинальном рабочем пуле raidz3:
------------------------------------
МЕТКА 0
------------------------------------
версия: 5000
имя: 'content-pool'
состояние: 0
txg: 8348544
pool_guid: 3621552755300412622
errata: 0
hostname: 'content-ftp'
top_guid: 11498459744868090541
guid: 7798174214455629273
vdev_children: 2
vdev_tree:
тип: 'raidz'
id: 0
guid: 11498459744868090541
nparity: 3
metaslab_array: 166
metaslab_shift: 40
ashift: 12
asize: 216041772810240
is_log: 0
create_txg: 4
дети[0]:
тип: 'disk'
id: 0
guid: 7798174214455629273
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11D168PVC8-part1'
whole_disk: 1
DTL: 215
create_txg: 4
дети[1]:
тип: 'disk'
id: 1
guid: 9655586118508030176
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11D363TCL9-part1'
whole_disk: 1
DTL: 214
create_txg: 4
дети[2]:
тип: 'disk'
id: 2
guid: 1036444324318734332
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11D363TDVX-part1'
whole_disk: 1
DTL: 213
create_txg: 4
дети[3]:
тип: 'disk'
Есть ли шанс, что я смогу принудить импорт и попытаться восстановить данные? Надеюсь, raidz3 может восстановить поврежденные данные? Спасибо всем!!!
Обновление
Почему-то после отключения автоимпорта, установив zfs_autoimport_disable=0
в /etc/modprobe.d/zfs.conf
, статус zpool
работает
$ sudo zpool status
pool: content-pool
state: UNAVAIL
status: Одно или несколько устройств имеют неисправности в ответ на постоянные ошибки. Для пула недостаточно реплик, чтобы продолжить функционирование.
action: Уничтожьте и создайте пул заново из резервной копии. Ручная отметка устройства
как исправленного с помощью 'zpool clear' может позволить восстановить некоторые данные.
scan: никакие не запрашивались
config:
NAME STATE READ WRITE CKSUM
content-pool UNAVAIL 0 0 0 недостаточно реплик
raidz3-0 DEGRADED 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D168PVC8 ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D363TCL9 ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D363TDVX ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D36JR303 ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D36JRJD1 ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56Z35P ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56Z4JD ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZEX2 ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX21D36PPEKZ ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4HV3ZZ ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4LMMMM ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WXC1HB4HMLCD ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WXN1H84CCEVF ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557Y3SR ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557YAVR ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557YCC2 ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PX3KS ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PX3YX ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PXTSC ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX11DC4497YV ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX31D2504K74 ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX31D65A2C9E ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259T63X ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TE9L ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TJU9 ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TVTR ONLINE 0 0 0
1078152416620325459 UNAVAIL 0 0 0 был /dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574E35-part1
ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574KZ5 ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574SXZ ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574V07 ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX71D65JEZ2C ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX81D6550UR4 ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4HSKRY ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX81D65D9LD6 ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX91D65DCE04 ONLINE 0 0 0
ata-WDC_WD60EFRX-68MYMN1_WD-WX91D65DCKR5 ONLINE 0 0 0
ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZTEP FAULTED 0 0 0 внешнее устройство неисправно
Теперь проблема заключается в том, как восстановиться из неисправного пула, я практически не могу провести никакие операции с пулом:
$ sudo zpool clear content-pool ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZTEP
невозможно очистить ошибки для ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZTEP: одно или несколько устройств в настоящее время недоступны
$ sudo zpool offline content-pool ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZTEP
невозможно открыть 'content-pool': пул недоступен
$ sudo zpool scrub content-pool
невозможно просканировать 'content-pool': пул в настоящее время недоступен
Даже пытался заменить неисправный диск или очистить статус пула:
$ sudo zpool replace content-pool 1078152416620325459 ata-WDC_WD60EFRX-68L0BN1_WD-WX11D168PDHT
невозможно открыть 'content-pool': пул недоступен
$ sudo zpool clear content-pool
невозможно очистить ошибки для content-pool: одно или несколько устройств в настоящее время недоступны
Попробовал получить некоторые подробности с помощью sudo zpool events -vf
, но никаких результатов от вышеуказанных операций
обновление: вернулся в состояние, когда пул снова нельзя импортировать
текущий zpool import
:
(неисправный ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZTEP
был добавлен случайно раньше, в нем нет данных)
$ sudo zpool import
pool: content-pool
id: 3621552755300412622
state: UNAVAIL
status: Одно или несколько устройств имеют неисправности.
action: Импорт пула невозможен из-за поврежденных устройств или данных.
config:
content-pool UNAVAIL недостаточно реплик
raidz3-0 DEGRADED
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D168PVC8 ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D363TCL9 ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D363TDVX ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D36JR303 ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX11D36JRJD1 ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56Z35P ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56Z4JD ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZEX2 ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX21D36PPEKZ ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4HV3ZZ ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4LMMMM ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WXC1HB4HMLCD ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WXN1H84CCEVF ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557Y3SR ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557YAVR ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557YCC2 ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PX3KS ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PX3YX ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PXTSC ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX11DC4497YV ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX31D2504K74 ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX31D65A2C9E ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259T63X ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TE9L ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TJU9 ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TVTR ONLINE
1078152416620325459 UNAVAIL
ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574KZ5 ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574SXZ ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574V07 ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX71D65JEZ2C ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX81D6550UR4 ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4HSKRY ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX81D65D9LD6 ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX91D65DCE04 ONLINE
ata-WDC_WD60EFRX-68MYMN1_WD-WX91D65DCKR5 ONLINE
ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZTEP FAULTED поврежденные данные
Один из zdb -l
:
(Все диски в одном пуле имеют почти одинаковый результат zdb -l
, за исключением того, что часть guid:
различна)
$ sudo zdb -l /dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PX3KS-part1
------------------------------------
МЕТКА 0
------------------------------------
версия: 5000
имя: 'content-pool'
состояние: 0
txg: 8348544
pool_guid: 3621552755300412622
errata: 0
hostname: 'content-ftp'
top_guid: 11498459744868090541
guid: 11818476807007794000
vdev_children: 2
vdev_tree:
тип: 'raidz'
id: 0
guid: 11498459744868090541
nparity: 3
metaslab_array: 166
metaslab_shift: 40
ashift: 12
asize: 216041772810240
is_log: 0
create_txg: 4
дети[0]:
тип: 'disk'
id: 0
guid: 7798174214455629273
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11D168PVC8-part1'
whole_disk: 1
DTL: 215
create_txg: 4
дети[1]:
тип: 'disk'
id: 1
guid: 9655586118508030176
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11D363TCL9-part1'
whole_disk: 1
DTL: 214
create_txg: 4
дети[2]:
тип: 'disk'
id: 2
guid: 1036444324318734332
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11D363TDVX-part1'
whole_disk: 1
DTL: 213
create_txg: 4
дети[3]:
тип: 'disk'
id: 3
guid: 1671251092857451329
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11D36JR303-part1'
whole_disk: 1
DTL: 212
create_txg: 4
дети[4]:
тип: 'disk'
id: 4
guid: 4180777695415546678
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11D36JRJD1-part1'
whole_disk: 1
DTL: 211
create_txg: 4
дети[5]:
тип: 'disk'
id: 5
guid: 9587968578374614856
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56Z35P-part1'
whole_disk: 1
DTL: 210
create_txg: 4
дети[6]:
тип: 'disk'
id: 6
guid: 2726944175730713275
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56Z4JD-part1'
whole_disk: 1
DTL: 209
create_txg: 4
дети[7]:
тип: 'disk'
id: 7
guid: 15058102474771879213
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZEX2-part1'
whole_disk: 1
DTL: 208
create_txg: 4
дети[8]:
тип: 'disk'
id: 8
guid: 2176583035980080357
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WX21D36PPEKZ-part1'
whole_disk: 1
DTL: 207
create_txg: 4
дети[9]:
тип: 'disk'
id: 9
guid: 12213605498789728384
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4HV3ZZ-part1'
whole_disk: 1
DTL: 206
create_txg: 4
дети[10]:
тип: 'disk'
id: 10
guid: 16692863623985590265
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4LMMMM-part1'
whole_disk: 1
DTL: 205
create_txg: 4
дети[11]:
тип: 'disk'
id: 11
guid: 4131222994089368621
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WXC1HB4HMLCD-part1'
whole_disk: 1
DTL: 204
create_txg: 4
дети[12]:
тип: 'disk'
id: 12
guid: 10405780603842776111
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WXN1H84CCEVF-part1'
whole_disk: 1
DTL: 203
create_txg: 4
дети[13]:
тип: 'disk'
id: 13
guid: 4802054319391370846
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557Y3SR-part1'
whole_disk: 1
DTL: 202
create_txg: 4
дети[14]:
тип: 'disk'
id: 14
guid: 14336049427456271508
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557YAVR-part1'
whole_disk: 1
DTL: 201
create_txg: 4
дети[15]:
тип: 'disk'
id: 15
guid: 5171261257149665977
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX11D557YCC2-part1'
whole_disk: 1
DTL: 200
create_txg: 4
дети[16]:
тип: 'disk'
id: 16
guid: 11818476807007794000
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PX3KS-part1'
whole_disk: 1
DTL: 199
create_txg: 4
дети[17]:
тип: 'disk'
id: 17
guid: 12514554540177747308
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PX3YX-part1'
whole_disk: 1
DTL: 198
create_txg: 4
дети[18]:
тип: 'disk'
id: 18
guid: 411055325634056854
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX11D55PXTSC-part1'
whole_disk: 1
DTL: 197
create_txg: 4
дети[19]:
тип: 'disk'
id: 19
guid: 9168663998575981435
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX11DC4497YV-part1'
whole_disk: 1
DTL: 196
create_txg: 4
дети[20]:
тип: 'disk'
id: 20
guid: 4385217325944977250
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX31D2504K74-part1'
whole_disk: 1
DTL: 195
create_txg: 4
дети[21]:
тип: 'disk'
id: 21
guid: 12169669977314753282
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX31D65A2C9E-part1'
whole_disk: 1
DTL: 194
create_txg: 4
дети[22]:
тип: 'disk'
id: 22
guid: 2739496474415237206
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259T63X-part1'
whole_disk: 1
DTL: 193
create_txg: 4
дети[23]:
тип: 'disk'
id: 23
guid: 15921933850909040039
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TE9L-part1'
whole_disk: 1
DTL: 192
create_txg: 4
дети[24]:
тип: 'disk'
id: 24
guid: 13900183369170026888
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TJU9-part1'
whole_disk: 1
DTL: 191
create_txg: 4
дети[25]:
тип: 'disk'
id: 25
guid: 10729475082755539900
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX41D259TVTR-part1'
whole_disk: 1
DTL: 190
create_txg: 4
дети[26]:
тип: 'disk'
id: 26
guid: 1078152416620325459
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574E35-part1'
whole_disk: 1
not_present: 1
DTL: 189
create_txg: 4
дети[27]:
тип: 'disk'
id: 27
guid: 7169212150010223263
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574KZ5-part1'
whole_disk: 1
DTL: 188
create_txg: 4
дети[28]:
тип: 'disk'
id: 28
guid: 10688002672848252538
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574SXZ-part1'
whole_disk: 1
DTL: 187
create_txg: 4
дети[29]:
тип: 'disk'
id: 29
guid: 14475182699961610412
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX61D6574V07-part1'
whole_disk: 1
DTL: 186
create_txg: 4
дети[30]:
тип: 'disk'
id: 30
guid: 1251108739797802502
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX71D65JEZ2C-part1'
whole_disk: 1
DTL: 185
create_txg: 4
дети[31]:
тип: 'disk'
id: 31
guid: 16567657162171866083
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX81D6550UR4-part1'
whole_disk: 1
DTL: 184
create_txg: 4
дети[32]:
тип: 'disk'
id: 32
guid: 11324965671804235780
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68L0BN1_WD-WXB1HB4HSKRY-part1'
whole_disk: 1
DTL: 1921
create_txg: 4
дети[33]:
тип: 'disk'
id: 33
guid: 5940180339143158814
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX81D65D9LD6-part1'
whole_disk: 1
DTL: 183
create_txg: 4
дети[34]:
тип: 'disk'
id: 34
guid: 437257513201166423
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX91D65DCE04-part1'
whole_disk: 1
DTL: 182
create_txg: 4
дети[35]:
тип: 'disk'
id: 35
guid: 13641210868471885912
путь: '/dev/disk/by-id/ata-WDC_WD60EFRX-68MYMN1_WD-WX91D65DCKR5-part1'
whole_disk: 1
DTL: 178
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
labels = 0 1 2 3
После расследования вывода zpool import
ошибка теперь очевидна. Вы добавили другой vdev (одинарный диск, серийный номер WX11DB56ZTEP) к вашему пулу. Этот диск сейчас отсутствует или его данные ZFS повреждены или что-то в этом роде. Если вы не сделали контрольную точку пула, вам сейчас не повезло.
Ваш пул теперь необратимо поврежден и вам придется воссоздать его из резервных копий.
Существует шанс, что вы сможете импортировать пул в его текущем состоянии для выполнения резервных копий. Сначала измените параметр zfs_max_missing_tvds
:
echo "1" | sudo tee /sys/module/zfs/parameters/zfs_max_missing_tvds
Затем вы сможете импортировать пул вот так:
sudo zpool import -o readonly=on content-pool
Пожалуйста, обратите внимание, что -o readonly=on
является обязательным. Вы можете получать ошибки чтения здесь и там. Вам придется воссоздать пул.
Ответ или решение
Восстановление ZFS-пула после системного сбоя на Ubuntu 18.04
Ситуация, описанная вами, связана с повреждением ZFS-пула (в данном случае, content-pool
) после сбоя системы, вероятно, вызванного выходом из строя одного из дисков. На текущий момент пул находится в состоянии UNAVAIL, что указывает на наличие неисправностей в одном или нескольких устройствах, недостаточно реплик для продолжения работы пула.
Шаги для диагностики проблемы
-
Получение статуса пула:
Вы уже выполнили командуsudo zpool status
, которая подтвердила, что пул недоступен. Убедитесь, что все основные устройства (диски) пула отображаются в системе с помощью команды:ls /dev/disk/by-id/
-
Проверка наличия поврежденных дисков:
В выводеsudo zpool import
видно, что одна из устройств пула (в вашем случае,ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZTEP
) была помечена как FAULTED, что указывает на наличие повреждений данных. Все другие устройства находятся в состоянии ONLINE, что позволяет предположить, что пула можно вернуть к работе. -
Изменение параметров ZFS:
Для импортирования пула в состоянии с отсутствующими устройствами нужно изменить параметрzfs_max_missing_tvds
:echo "1" | sudo tee /sys/module/zfs/parameters/zfs_max_missing_tvds
После этого можно попробовать выполнить импорт пула с использованием режима только для чтения:
sudo zpool import -o readonly=on content-pool
Будьте готовы к тому, что могут возникнуть ошибки чтения. Важно понимать, что эта операция не приведет к восстановлению пула до рабочего состояния, а позволит только сделать резервные копии доступных данных.
Восстановление данных
Если импорт прошел успешно, выполните резервное копирование важных данных. Если импортировать пул не удалось, рассмотрите возможность использования утилит для восстановления данных, таких как zrecover
или zfs-replicate
, однако это может потребовать серьезных временных и финансовых затрат.
Восстановление пула
После резервного копирования данных, вот что вам нужно сделать:
-
Заменить поврежденный диск:
Убедитесь, что новый диск подключен и распознан системой. Его можно установить в качестве замены для поврежденного. Пример команды:sudo zpool replace content-pool ata-WDC_WD60EFRX-68L0BN1_WD-WX11DB56ZTEP /dev/disk/by-id/new-disk-id
Учтите, что если пул по-прежнему недоступен, замена не будет возможна.
-
Регенерация пула:
Если все шаги не помогают, единственным выходом может быть пересоздание пула. В этом случае:- Убедитесь, что у вас есть актуальные бэкапы всех данных.
- Пересоздайте ZFS-пул с выбранными вами дисками.
Заключение
Подводя итог, необходимо отметить, что ZFS предлагает значительные преимущества в работе с данными, однако важно делать регулярные бэкапы и следить за состоянием устройств. Все действия с ZFS-пулом требуют осторожности, особенно в состояниях, когда пула нельзя импортировать. Если проблема не решается, может быть целесообразно обратиться к специалистам по восстановлению данных.