Недавно я столкнулся с отказом диска, для которого я получил новый диск и успешно заменил его, а также завершил процесс переноса актуальных данных. Я смог без проблем использовать raidz2 через samba, но затем пошел, чтобы очистить ошибки, как мне подсказал zfs, и команда "зависла" и не имела вывода. Я оставил это на ночь, и, поскольку утром он все еще ничего не показывал, я прервал команду, которая по-прежнему ничего не делала, поэтому я просто закрыл свое соединение putty ssh с ней. После этого мне не удалось получить доступ к данным, импортировать или импортировать пул, что бы я ни пробовал.
Система находится на ubuntu (имя хоста UBUNTU-SERVER-KVM), и у меня есть еще один виртуальный Ubuntu, установленный на нем (имя хоста ubuntu-server), который обычно обращается к zfs через общие ресурсы samba (я никогда не понимал, как сделать это напрямую доступным в виртуальных машинах тоже). Я подозреваю, что, возможно, я выполнил часть работы zfs на основном ubuntu-kvm, а часть - на виртуальной установке ubuntu. Я боюсь, что это вызвало у меня проблемы, и я никак не могу импортировать пул. Файл zpool.cache машины ubuntu-kvm показывает "старую" настройку пула с мертвым диском, а не новым. Это, кажется, подтверждает, что я по ошибке выполнил перенос на виртуальной машине ubuntu вместо ubuntu-kvm, который обычно имел zpool.
У меня такое чувство, что если бы я мог каким-то образом исправить пути, которые пул пытается импортировать, мои данные все еще были бы там, когда процесс переназначения был завершен, и я мог получить к ним доступ ранее. Виртуальный ubuntu обозначает свои диски как «/ dev / vd *», а ubuntu-kvm, на котором размещена виртуальная машина, показывает их как «/ dev / sd *».
У кого-нибудь есть идеи, что я могу сделать дальше, чтобы восстановить данные? Да, у меня есть резервные копии самых важных частей в облаке, но есть много других вещей, которые я бы предпочел, чтобы их не было :)
Вот некоторая информация, которая, надеюсь, будет полезна:
попытки импорта
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
РЕДАКТИРОВАТЬ 1: Используя волшебный, неопределенный параметр, который я не смог определить, что сделал, кажется, я смог импортировать пул, хотя zpool iostat показывает пустую таблицу, я не могу выполнить скраб, поскольку он говорит, что «пул в настоящее время недоступен», history ничего не возвращает, "zdb -u tank" возвращает "zdb: cannot open 'tank': input / output error", не может отсоединить старый мертвый жесткий диск as. Действие также было изменено с «Невозможно импортировать из-за повреждения устройств или данных». на «Дождаться завершения перенастройки», но перенастройка выполняется со скоростью «1 / с», и в списке конфигурации ни один из дисков не отображается как перенастраиваемый. Это продолжается уже несколько дней без каких-либо изменений в количестве или процентном соотношении 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