Чтобы протестировать то, что влияние, добавляющее устройство журналирования ZFS, имело бы к массиву ZFS, я решил создать шпульку и выполнить некоторые сравнительные тесты, к тому времени включающие SSD для действия как ZIL.
К сожалению, каждый раз, когда я включаю SSD, создав шпульку, или отключаю SSD, создав пул (что-либо, что заставляет буквы дисков изменяться после того, как пул был создан), и затем перезагрузка, мое объединение станет ухудшенным, как может быть показан путем выполнения sudo zpool status
pool: zpool1
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: http://zfsonlinux.org/msg/ZFS-8000-4J
scan: none requested
config:
NAME STATE READ WRITE CKSUM
zpool1 DEGRADED 0 0 0
mirror-0 DEGRADED 0 0 0
sda ONLINE 0 0 0
1875547483567261808 UNAVAIL 0 0 0 was /dev/sdc1
Я подозреваю проблемные основы от того, что я создал пул с помощью букв дисков как так:
sudo zpool create -f zpool1 mirror /dev/sdb /dev/sdc
К счастью для меня, это - просто тест и никакой риск проигрывающих данных, но это должно произойти в реальном сценарии, что лучший способ состоит в том, чтобы восстановить с этой проблемы? Очевидно, диск все еще существует и готов пойти.
Есть ли лучший способ создать шпульку, не используя буквы дисков как /dev/sda
избегать этой проблемы в будущем? Я замечаю, что состояния документации Ubuntu для создания шпульки таким же образом, что я сделал.
zfsutils-linux
пакетПосле получения справки от Dexter_Kane на Уровне 1 techs форум, ответ должен использовать /dev/disk/by-id/...
пути вместо этого при создании пулов.
Например.
sudo zpool create zpool1 mirror \
/dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N0PKS6S7 \
/dev/disk/by-id/ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N7VXZF6H
Хорошие новости - то, что можно "преобразовать" существующий RAID-массив ZFS в использование этих маркировок, который предотвращает этот случай в будущем и даже разрешит ухудшенный массив, если эта ситуация уже произошла с Вами.
sudo zpool export [pool name]
sudo zpool import -d /dev/disk/by-id [pool name]
Просто необходимо удостовериться, что наборы данных пулов не используются. Например, не выполняйте команды, пока в пуле, и гарантируют, что они не совместно используются через NFS и т.д.
После выполнения преобразования, вывода sudo zpool status
должно быть подобно:
pool: zpool1
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
zpool1 ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N0PKS6S7 ONLINE 0 0 0
ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N7VXZF6H ONLINE 0 0 0
Я удостоверился, что протестировал это:
sudo zpool status
сообщаемый никакие ошибки.