Я только что обновил Ubuntu 14.04, и у меня было два пула ZFS на сервере. У меня была небольшая проблема в борьбе с драйвером ZFS и версией ядра, но теперь это решено. Один бассейн подключился к сети и смонтирован нормально. Другой не сделал. Основное различие между инструментом состоит в том, что один представляет собой просто пул дисков (хранилище видео / музыки), а другой - набор raidz (документы и т. Д.).
Я уже пытался экспортировать и повторно импортировать пул, но безрезультатно, попытка импорта дает мне это:
root@kyou:/home/matt# zpool import -fFX -d /dev/disk/by-id/
pool: storage
id: 15855792916570596778
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:
storage UNAVAIL insufficient replicas
raidz1-0 UNAVAIL insufficient replicas
ata-SAMSUNG_HD103SJ_S246J90B134910 UNAVAIL
ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523 UNAVAIL
ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969 UNAVAIL
Символические ссылки для тех, кто /dev/disk/by-id
существует, также существуют:
root@kyou:/home/matt# ls -l /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910* /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51*
lrwxrwxrwx 1 root root 9 May 27 19:31 /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910 -> ../../sdb
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910-part9 -> ../../sdb9
lrwxrwxrwx 1 root root 9 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523 -> ../../sdd
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523-part9 -> ../../sdd9
lrwxrwxrwx 1 root root 9 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969 -> ../../sde
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969-part1 -> ../../sde1
lrwxrwxrwx 1 root root 10 May 27 19:15 /dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969-part9 -> ../../sde9
Осматривая различные /dev/sd*
перечисленные устройства, они кажутся правильными (3 диска по 1 ТБ, которые были в массиве raidz).
Я запустил zdb -l
на каждом диске, сбросив его в файл и запустив diff. Единственная разница в 3 - это поля guid (которые, я полагаю, ожидаются). Все 3 ярлыка на каждом в основном идентичны и выглядят следующим образом:
version: 5000
name: 'storage'
state: 0
txg: 4
pool_guid: 15855792916570596778
hostname: 'kyou'
top_guid: 1683909657511667860
guid: 8815283814047599968
vdev_children: 1
vdev_tree:
type: 'raidz'
id: 0
guid: 1683909657511667860
nparity: 1
metaslab_array: 33
metaslab_shift: 34
ashift: 9
asize: 3000569954304
is_log: 0
create_txg: 4
children[0]:
type: 'disk'
id: 0
guid: 8815283814047599968
path: '/dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J90B134910-part1'
whole_disk: 1
create_txg: 4
children[1]:
type: 'disk'
id: 1
guid: 18036424618735999728
path: '/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523-part1'
whole_disk: 1
create_txg: 4
children[2]:
type: 'disk'
id: 2
guid: 10307555127976192266
path: '/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969-part1'
whole_disk: 1
create_txg: 4
features_for_read:
Тупо, у меня нет последней резервной копии этого пула. Тем не менее, пул был в порядке до перезагрузки, и Linux видит диски нормально (у меня сейчас работает smartctl для двойной проверки)
Итак, в итоге:
- Я обновил Ubuntu и потерял доступ к одному из двух моих zpools.
- Разница между пулами в том, что был JBOD, другой был в страхе.
- Все диски в не монтируемом zpool помечены как UNAVAIL, без замечаний по поврежденным данным.
- Оба пула были созданы с дисками, на которые ссылаются из
/dev/disk/by-id/
. - Симлинки с
/dev/disk/by-id
разных/dev/sd
устройств вроде бы правильные zdb
можете читать этикетки с дисков.- Пул уже пытался экспортировать / импортировать, и он не может импортировать снова.
Есть ли какая-то черная магия, которую я могу вызвать через zpool / zfs, чтобы вернуть эти диски в разумный массив? Могу ли я работать zpool create zraid ...
без потери моих данных? Мои данные все равно пропали?
/dev/disk/by-id
для этих дисков, и все символические ссылки для одного устройства указывают на один и тот же/dev/sd*
диск. И самое близкое, что я могу найти к решению (использовать замену zpool), я не могу сделать, так как не могу повторно импортировать пул.