Мой пул zfs НЕДОСТУПЕН и не может быть импортирован. Интересно, есть ли вероятность, что он будет восстановлен или я могу извлечь из него какие-либо данные?
Задний план
Я взял на себя управление сервером с виртуальной машиной Ubuntu 18.04 на VMware ESXi, где находится пул zfs, с двумя другими виртуальными машинами.
Поскольку пул zfs был заполнен, я сделал zfs add
чтобы добавить дополнительный диск 12 ТБ (SDI). (Учитывая, что другие диски имеют размер 4 ТБ, эта асимметрия, вероятно, не идеальна, но диск, казалось, был распознан, и виртуальная машина работала исправно.) Я думаю, что проблема заключалась в том, что я установил для него режим диска «Независимый-постоянный», что, похоже, означает, что диск не восстанавливается по снимку.
Тогда, поскольку загрузочный диск ВМ (sda, lvm, nextcloud-vg
) был переполнен, я попытался расширить lvm до sdj
по lvextend
. (Я был слишком наивен и глуп, чтобы сделать снимок до этого.) Затем виртуальная машина перестала загружаться, и Grub не нашел загрузочный диск. Я заметил, что это было потому, что sdj
был SCSI (0:10) и не распознавался BIOS при загрузке.
Когда я изменил SCSI ID предыдущего sdj
to (0: 2), Grub нашел загрузочный диск, но виртуальная машина все еще не загружалась, так как файлы Ubuntu каким-то образом были потеряны в массовом порядке. Затем я восстановил файлы в sda/nextcloud-vg
путем копирования из старого снимка. Теперь виртуальная машина является загрузочной, но не может читать и импортировать пул zfs.
Я очень ценю любые комментарии и предложения. Большое спасибо за чтение.
Пул zfs исправен по состоянию на ноябрь 2019 г., доступ к которому можно получить из снимка состояния VMware.
root@nextcloud:~# zpool status
pool: ncdata
state: ONLINE
scan: scrub repaired 0B in 51h42m with 0 errors on Tue Nov 12 04:06:08 2019
config:
NAME STATE READ WRITE CKSUM
ncdata 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
errors: No known data errors
root@nextcloud:~# zdb
ncdata:
version: 5000
name: 'ncdata'
state: 0
txg: 6813984
pool_guid: 4115695041733501295
errata: 0
hostname: 'nextcloud'
com.delphix:has_per_vdev_zaps
vdev_children: 7
vdev_tree:
type: 'root'
id: 0
guid: 4115695041733501295
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 12100899330530807388
path: '/dev/sdb1'
whole_disk: 1
metaslab_array: 131
metaslab_shift: 28
ashift: 12
asize: 42934468608
is_log: 0
create_txg: 4
com.delphix:vdev_zap_leaf: 129
com.delphix:vdev_zap_top: 130
children[1]:
type: 'disk'
id: 1
guid: 12620057802260459555
path: '/dev/sdc1'
whole_disk: 1
metaslab_array: 256
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1469
com.delphix:vdev_zap_leaf: 135
com.delphix:vdev_zap_top: 136
children[2]:
type: 'disk'
id: 2
guid: 3074381589662896744
path: '/dev/sdd1'
whole_disk: 1
metaslab_array: 384
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1472
com.delphix:vdev_zap_leaf: 137
com.delphix:vdev_zap_top: 138
children[3]:
type: 'disk'
id: 3
guid: 1759578235837374106
path: '/dev/sde1'
whole_disk: 1
metaslab_array: 140
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1475
com.delphix:vdev_zap_leaf: 512
com.delphix:vdev_zap_top: 513
children[4]:
type: 'disk'
id: 4
guid: 10518026248187884540
path: '/dev/sdf1'
whole_disk: 1
metaslab_array: 259
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1478
com.delphix:vdev_zap_leaf: 257
com.delphix:vdev_zap_top: 258
children[5]:
type: 'disk'
id: 5
guid: 8733140335356986716
path: '/dev/sdg1'
whole_disk: 1
metaslab_array: 640
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1481
com.delphix:vdev_zap_leaf: 386
com.delphix:vdev_zap_top: 387
children[6]:
type: 'disk'
id: 6
guid: 4551718362642717333
path: '/dev/sdh1'
whole_disk: 1
metaslab_array: 369
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1603266
com.delphix:vdev_zap_leaf: 349
com.delphix:vdev_zap_top: 368
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
Текущая ситуация.
root@nextcloud:~# zpool import
pool: ncdata
id: 4115695041733501295
state: UNAVAIL
status: One or more devices contains corrupted data.
action: The pool cannot be imported due to damaged devices or data.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
config:
ncdata UNAVAIL insufficient replicas
sdb ONLINE
sde ONLINE
sdf ONLINE
sdg ONLINE
sdh ONLINE
sdi ONLINE
sdj ONLINE
sdi UNAVAIL corrupted data
root@nextcloud:~# zdb -C
ncdata:
version: 5000
name: 'ncdata'
state: 0
txg: 6813824
pool_guid: 4115695041733501295
errata: 0
hostname: 'nextcloud'
com.delphix:has_per_vdev_zaps
vdev_children: 7
vdev_tree:
type: 'root'
id: 0
guid: 4115695041733501295
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 12100899330530807388
path: '/dev/sdb1'
whole_disk: 1
metaslab_array: 131
metaslab_shift: 28
ashift: 12
asize: 42934468608
is_log: 0
create_txg: 4
com.delphix:vdev_zap_leaf: 129
com.delphix:vdev_zap_top: 130
children[1]:
type: 'disk'
id: 1
guid: 12620057802260459555
path: '/dev/sdc1'
whole_disk: 1
metaslab_array: 256
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1469
com.delphix:vdev_zap_leaf: 135
com.delphix:vdev_zap_top: 136
children[2]:
type: 'disk'
id: 2
guid: 3074381589662896744
path: '/dev/sdd1'
whole_disk: 1
metaslab_array: 384
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1472
com.delphix:vdev_zap_leaf: 137
com.delphix:vdev_zap_top: 138
children[3]:
type: 'disk'
id: 3
guid: 1759578235837374106
path: '/dev/sde1'
whole_disk: 1
metaslab_array: 140
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1475
com.delphix:vdev_zap_leaf: 512
com.delphix:vdev_zap_top: 513
children[4]:
type: 'disk'
id: 4
guid: 10518026248187884540
path: '/dev/sdf1'
whole_disk: 1
metaslab_array: 259
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1478
com.delphix:vdev_zap_leaf: 257
com.delphix:vdev_zap_top: 258
children[5]:
type: 'disk'
id: 5
guid: 8733140335356986716
path: '/dev/sdg1'
whole_disk: 1
metaslab_array: 640
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1481
com.delphix:vdev_zap_leaf: 386
com.delphix:vdev_zap_top: 387
children[6]:
type: 'disk'
id: 6
guid: 4551718362642717333
path: '/dev/sdh1'
whole_disk: 1
metaslab_array: 369
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
create_txg: 1603266
com.delphix:vdev_zap_leaf: 349
com.delphix:vdev_zap_top: 368
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
root@nextcloud:/dev/disk# zdb -d ncdata
zdb: can't open 'ncdata': Value too large for defined data type
root@nextcloud:/dev/disk# zdb -e -p /dev -d ncdata
zdb: can't open 'ncdata': File exists
root@nextcloud:/mytmpdev# zdb -e -p /dev -AAA -d ncdata
zdb: can't open 'ncdata': File exists
root@nextcloud:/dev/disk# zdb -e ncdata
Configuration for import:
version: 5000
pool_guid: 4115695041733501295
name: 'ncdata'
state: 0
vdev_children: 8
vdev_tree:
type: 'root'
id: 0
guid: 4115695041733501295
children[0]:
type: 'disk'
id: 0
guid: 12100899330530807388
whole_disk: 1
metaslab_array: 131
metaslab_shift: 28
ashift: 12
asize: 42934468608
is_log: 0
DTL: 1102
create_txg: 4
path: '/dev/sdb1'
children[1]:
type: 'disk'
id: 1
guid: 12620057802260459555
whole_disk: 1
metaslab_array: 256
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
DTL: 1109
create_txg: 1469
path: '/dev/sde1'
children[2]:
type: 'disk'
id: 2
guid: 3074381589662896744
whole_disk: 1
metaslab_array: 384
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
DTL: 1108
create_txg: 1472
path: '/dev/sdf1'
children[3]:
type: 'disk'
id: 3
guid: 1759578235837374106
whole_disk: 1
metaslab_array: 140
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
DTL: 1107
create_txg: 1475
path: '/dev/sdg1'
children[4]:
type: 'disk'
id: 4
guid: 10518026248187884540
whole_disk: 1
metaslab_array: 259
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
DTL: 1103
create_txg: 1478
path: '/dev/sdh1'
children[5]:
type: 'disk'
id: 5
guid: 8733140335356986716
whole_disk: 1
metaslab_array: 640
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
DTL: 1106
create_txg: 1481
path: '/dev/sdi1'
children[6]:
type: 'disk'
id: 6
guid: 4551718362642717333
whole_disk: 1
metaslab_array: 369
metaslab_shift: 35
ashift: 12
asize: 4398031306752
is_log: 0
DTL: 1105
create_txg: 1603266
path: '/dev/sdj1'
children[7]:
type: 'disk'
id: 7
guid: 5107684954562511391
whole_disk: 1
metaslab_array: 1058
metaslab_shift: 36
ashift: 12
asize: 13194124328960
is_log: 0
create_txg: 6813878
path: '/dev/sdk1'
rewind-policy:
rewind-request-txg: 18446744073709551615
rewind-request: 2
zdb: can't open 'ncdata': File exists
ZFS_DBGMSG(zdb):
root@nextcloud:/mytmpdev# zdb -l /dev/sdb1
------------------------------------
LABEL 0
------------------------------------
version: 5000
name: 'ncdata'
state: 0
txg: 9549126
pool_guid: 4115695041733501295
errata: 0
hostname: 'nextcloud'
top_guid: 12100899330530807388
guid: 12100899330530807388
vdev_children: 8
vdev_tree:
type: 'disk'
id: 0
guid: 12100899330530807388
path: '/dev/sdb1'
whole_disk: 1
metaslab_array: 131
metaslab_shift: 28
ashift: 12
asize: 42934468608
is_log: 0
DTL: 1102
create_txg: 4
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
labels = 0 1 2 3
root@nextcloud:/mytmpdev# zdb -l /dev/sdk1
------------------------------------
LABEL 0
------------------------------------
version: 5000
name: 'ncdata'
state: 0
txg: 6813880
pool_guid: 4115695041733501295
errata: 0
hostname: 'nextcloud'
top_guid: 5107684954562511391
guid: 5107684954562511391
vdev_children: 8
vdev_tree:
type: 'disk'
id: 7
guid: 5107684954562511391
path: '/dev/sdi1'
whole_disk: 1
metaslab_array: 1058
metaslab_shift: 36
ashift: 12
asize: 13194124328960
is_log: 0
create_txg: 6813878
features_for_read:
com.delphix:hole_birth
com.delphix:embedded_data
labels = 0 1 2 3
root@nextcloud:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 40G 0 disk
└─sda1 8:1 0 40G 0 part
├─nextcloud--vg-root 253:0 0 1T 0 lvm /
└─nextcloud--vg-swap_1 253:1 0 976M 0 lvm [SWAP]
sdb 8:16 0 40G 0 disk
├─sdb1 8:17 0 40G 0 part
└─sdb9 8:25 0 8M 0 part
sdc 8:32 0 4T 0 disk
└─nextcloud--vg-root 253:0 0 1T 0 lvm /
sdd 8:48 0 4T 0 disk
├─sdd1 8:49 0 1M 0 part
├─sdd2 8:50 0 976.8G 0 part
└─sdd3 8:51 0 976.8G 0 part
sde 8:64 0 4T 0 disk
├─sde1 8:65 0 4T 0 part
└─sde9 8:73 0 8M 0 part
sdf 8:80 0 4T 0 disk
├─sdf1 8:81 0 4T 0 part
└─sdf9 8:89 0 8M 0 part
sdg 8:96 0 4T 0 disk
├─sdg1 8:97 0 4T 0 part
└─sdg9 8:105 0 8M 0 part
sdh 8:112 0 4T 0 disk
├─sdh1 8:113 0 4T 0 part
└─sdh9 8:121 0 8M 0 part
sdi 8:128 0 4T 0 disk
├─sdi1 8:129 0 4T 0 part
└─sdi9 8:137 0 8M 0 part
sdj 8:144 0 4T 0 disk
├─sdj1 8:145 0 4T 0 part
└─sdj9 8:153 0 8M 0 part
sdk 8:160 0 12T 0 disk
├─sdk1 8:161 0 12T 0 part
└─sdk9 8:169 0 8M 0 part
sr0 11:0 1 1024M 0 rom
root@nextcloud:/dev/disk# parted -l
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 42.9GB 42.9GB primary boot, lvm
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 42.9GB 42.9GB zfs zfs-7c215dc258f390a2
9 42.9GB 42.9GB 8389kB
Error: /dev/sdc: unrecognised disk label
Model: VMware Virtual disk (scsi)
Disk /dev/sdc: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
Model: VMware Virtual disk (scsi)
Disk /dev/sdd: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 1049GB 1049GB ext4
3 1049GB 2098GB 1049GB ext4
Model: VMware Virtual disk (scsi)
Disk /dev/sde: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 4398GB 4398GB zfs zfs-bb77ffc8c56c704c
9 4398GB 4398GB 8389kB
Model: VMware Virtual disk (scsi)
Disk /dev/sdf: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 4398GB 4398GB zfs zfs-e5f9cec454077158
9 4398GB 4398GB 8389kB
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/nextcloud--vg-swap_1: 1023MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0.00B 1023MB 1023MB linux-swap(v1)
Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/nextcloud--vg-root: 1100GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags:
Number Start End Size File system Flags
1 0.00B 1100GB 1100GB ext4
Model: VMware Virtual disk (scsi)
Disk /dev/sdk: 13.2TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 13.2TB 13.2TB zfs zfs-e5495635496c5b84
9 13.2TB 13.2TB 8389kB
Model: VMware Virtual disk (scsi)
Disk /dev/sdi: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 4398GB 4398GB zfs zfs-b18c76425dec00d4
9 4398GB 4398GB 8389kB
Model: VMware Virtual disk (scsi)
Disk /dev/sdg: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 4398GB 4398GB zfs zfs-7662c1d580329ece
9 4398GB 4398GB 8389kB
Model: VMware Virtual disk (scsi)
Disk /dev/sdj: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 4398GB 4398GB zfs zfs-45572a27b3ca3dd5
9 4398GB 4398GB 8389kB
Model: VMware Virtual disk (scsi)
Disk /dev/sdh: 4398GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 4398GB 4398GB zfs zfs-a3d1bd676c04ef35
9 4398GB 4398GB 8389kB
Если вы посмотрите ссылку из неудачного импорта zfs: https://zfsonlinux.org/msg/ZFS-8000-5E/, внизу
Если эта ошибка возникает во время 'zpool import', действие будет таким же [как показано ниже]. Пул не может быть импортирован - все данные потеряны и должны быть восстановлены из соответствующего источника резервной копии.
Чуть выше сказано
ZFS не сможет использовать пул, и все данные в пуле будут безвозвратно потеряны. Пул должен быть уничтожен и воссоздан из соответствующего резервного источника.
Если у вас есть снимок данных, вы можете воссоздать пул ZFS, а затем вручную скопировать файлы из снимка в новый пул.