На FreeBSD 10.2-RELEASE до вчерашнего дня у меня была следующая установка в среде разработки (к счастью):
NAME STATE READ WRITE CKSUM
bigpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
multipath/faba_lun0 ONLINE 0 0 0
multipath/fabb_lun0 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
multipath/faba_lun1 ONLINE 0 0 0
multipath/fabb_lun1 ONLINE 0 0 0
mirror-2 ONLINE 0 0 0
multipath/faba_lun2 ONLINE 0 0 0
multipath/fabb_lun2 ONLINE 0 0 0
mirror-3 ONLINE 0 0 0
multipath/faba_lun3 ONLINE 0 0 0
multipath/fabb_lun3 ONLINE 0 0 0
Тогда я подумал, что было бы неплохо попробовать «отключить» 4-е зеркало (mirror-3) в качестве некоего рудиментарного теста HA.
zpool detach bigpool multipath/faba_lun3
Затем, подумав, что это плохая идея, я снова добавил диск:
zpool add bigpool multipath/faba_lun3
Теперь у меня есть такая настройка:
NAME STATE READ WRITE CKSUM
bigpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
multipath/faba_lun0 ONLINE 0 0 0
multipath/fabb_lun0 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
multipath/faba_lun1 ONLINE 0 0 0
multipath/fabb_lun1 ONLINE 0 0 0
mirror-2 ONLINE 0 0 0
multipath/faba_lun2 ONLINE 0 0 0
multipath/fabb_lun2 ONLINE 0 0 0
multipath/faba_lun3 ONLINE 0 0 0
multipath/fabb_lun3 ONLINE 0 0 0
Я не могу повторно прикрепить два lun3 к зеркалу-3:
root# zpool attach bigpool multipath/faba_lun3 multipath/fabb_lun3
invalid vdev specification
use '-f' to override the following errors:
/dev/multipath/fabb_lun3 is part of active pool 'bigpool'
Кажется, что находится в уловке-22 - Невозможно отразить, потому что оба vdev уже являются частью пула (поэтому присоединение не имеет смысла), и не могут удалить vdev, потому что они не регистрируются, не являются резервными и т. Д. .
Кто-нибудь знает способ «повторно включить» это зеркало с существующими vdev пула? Думаю, это похоже на онлайн-ретрансляцию.
Спасибо
sc.
Мне кажется, у вас был пролет из 4-х зеркал, теперь после некоторых манипуляций у вас есть размах из 3-х зеркал и двух одинарных приводов. Мне неясно, какие именно манипуляции к этому привели, но я сомневаюсь, что это были detach
es, потому что detach
обычно дает вам отдельный диск, который не помечен как часть какого-либо пула.
В то же время это нормально, что ты не можешь attach
друг другу двое vdevs которые уже являются частью активного пула. А так как они являются промежутками, их невозможно извлечь, это известный недостаток zfs.
Я могу только предположить, что можно добавить два пустых диска для зеркалирования каждого из них, но я не уверен, что это выполнимо, хотя вы можете попробовать это при одном условии: избегать -f
флаг при этом.