Ошибка восстановления zpool - могу ли я добавить несколько дисков на новые диски, чтобы я мог удалить доноров?
Я пытаюсь восстановить пул, который был поврежден и оставлен без внимания, а затем произошел сбой второго зеркального элемента, что привело к сбою пула. По какой-то причине, запасной никогда не заменяется автоматически, даже если этот параметр был установлен для этого пула, но это не относится к делу.
Это на сервере 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 донорских дисков?
1 ответ
Определенно не используйте dd
! Для этого в ZFS есть встроенная команда, которая достаточно хорошо описана в документации Oracle. Вы должны быть в состоянии использовать zpool replace tank <old device> <new device>
выполнить основную часть операции, но есть еще пара вспомогательных команд:
Ниже приведены основные шаги по замене диска:
- При необходимости отключите диск с помощью
zpool offline
команда.- Извлеките диск для замены.
- Вставьте сменный диск.
- Запустить
zpool replace
команда. Например:zpool replace tank c1t1d0
- Подключите диск к Интернету с помощью
zpool online
команда.
Страница man также содержит дополнительную информацию:
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, чем пытаться впервые в пуле с данными, которые вы хотите восстановить.
Кстати, эта другая часть документации объясняет немного больше о горячих резервах и, возможно, включает в себя указатели, чтобы объяснить, почему ваши не привыкли. Возможно, было бы полезно немного покопаться, чтобы в следующий раз не дурачиться:(.