Я пытаюсь восстановить пул, который был деградирован и запущен, а затем отказал второй зеркальный член, что привело к сбойному пулу. По какой-то причине запасной никогда не заменялся автоматически, хотя эта опция была установлена для этого пула, но это не имеет значения.
Это на сервере OmniOS. Информация о пуле следующая:
pool: dev-sata1
state: UNAVAIL
status: One or more devices are faulted in response to IO failures.
action: Make sure the affected devices are connected, then run 'zpool clear'.
see: http://illumos.org/msg/ZFS-8000-JQ
scan: resilvered 1.53T in 21h6m with 0 errors on Sat Jun 17 13:18:04 2017
config:
NAME STATE READ WRITE CKSUM
dev-sata1 UNAVAIL 227 623 0 insufficient replicas
mirror-0 ONLINE 0 0 0
c1t5000C5003ECEEC42d0 ONLINE 0 0 0
c1t5000C5003ED6D008d0 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
c1t5000C500930358EAd0 ONLINE 0 0 0
c1t5000C500930318E1d0 ONLINE 0 0 0
mirror-3 ONLINE 0 0 0
c1t5000C5003F362DA7d0 ONLINE 0 0 0
c1t5000C5003F365D94d0 ONLINE 0 0 0
mirror-4 ONLINE 0 0 0
c1t5000C50064D11652d0 ONLINE 0 0 0
c1t5000C500668EC894d0 ONLINE 0 0 0
mirror-5 ONLINE 0 0 0
c1t5000C5007A2DBE23d0 ONLINE 0 0 0
c1t5000C5007A2DF29Cd0 ONLINE 0 0 0
mirror-6 UNAVAIL 457 1.22K 5 insufficient replicas
15606980839703210365 UNAVAIL 0 0 0 was /dev/dsk/c1t5000C5007A2E1359d0s0
c1t5000C5007A2E1BAEd0 FAULTED 37 1.25K 5 too many errors
mirror-7 ONLINE 0 0 0
c1t5000C5007A34981Bd0 ONLINE 0 0 0
c1t5000C5007A3929B6d0 ONLINE 0 0 0
logs
mirror-2 ONLINE 0 0 0
c1t55CD2E404B740DD3d0 ONLINE 0 0 0
c1t55CD2E404B7591BEd0 ONLINE 0 0 0
cache
c1t50025388A0952EB0d0 ONLINE 0 0 0
spares
c1t5000C5002CD7AFB6d0 AVAIL
Диск "c1t5000C5007A2E1BAEd0" в настоящее время находится на предприятии по восстановлению данных, но запас запасных головок исчерпан, в том числе от донорских дисков, которые мы поставили. Диск, помеченный как отсутствующий, в конечном итоге был найден и потенциально может быть восстановлен, но это последний результат, потому что я не знаю, насколько он устарел по сравнению с остальными и что это будет означать для согласованности. Чтобы считаться донором, должны совпадать первые 3 буквы серийника, а также код сайта. У меня есть еще 4 диска в пуле, которые соответствуют этим критериям и были исправны на момент отключения пула.
Итак, перейдем к моему вопросу: могу ли я заменить 4 других диска, возможно, совместимых с донором (на основе серийного номера), на 4 новых диска после использования dd для копирования всего диска-донора на новый диск для каждого?
Я не понимаю, требует ли пул WWN или серийный номер для соответствия тому, что он хранит (если он хранит что-либо, кроме кеша) при импорте диска, или он сканирует метаданные на каждом диске, чтобы определить, может ли он импортировать пул . Если последнее верно, осуществима ли моя стратегия по получению еще 4 донорских дисков?
Определенно не используйте dd
! ZFS имеет для этого встроенную команду, которая достаточно хорошо описана в Документы Oracle. Вы должны уметь использовать zpool replace tank <old device> <new device>
для выполнения основной части операции, но есть и пара других вспомогательных команд:
Ниже приведены основные шаги по замене диска:
- При необходимости отключите диск с помощью
zpool offline
команда.- Снимите заменяемый диск.
- Вставьте новый диск.
- Запустить
zpool replace
команда. Например:zpool replace tank c1t1d0
- Переведите диск в оперативный режим с помощью
zpool online
команда.
На странице руководства также есть дополнительная информация:
zpool replace [-f] pool device [new_device]
Replaces old_device with new_device. This is equivalent to attaching
new_device, waiting for it to resilver, and then detaching
old_device.
The size of new_device must be greater than or equal to the minimum
size of all the devices in a mirror or raidz configuration.
new_device is required if the pool is not redundant. If new_device is
not specified, it defaults to old_device. This form of replacement
is useful after an existing disk has failed and has been physically
replaced. In this case, the new disk may have the same /dev path as
the old device, even though it is actually a different disk. ZFS
recognizes this.
-f Forces use of new_device, even if its appears to be in use.
Not all devices can be overridden in this manner.
Конечно, лучше всего сначала попробовать это на виртуальной машине с виртуальными дисками в zpool, сконфигурированном аналогичным образом, чем в первый раз пробовать это в пуле с данными, которые вы хотите восстановить.
Кстати, эта другая часть документов объясняет немного больше о горячем резерве и, возможно, включает указатели, объясняющие, почему ваш не использовался. Было бы полезно немного покопаться, чтобы убедиться, что в следующий раз он не сломается :(.