ZFS: Попытка удалить диск верхнего уровня из Zpool

9

У меня есть zpool с именем storage, который содержит массив из пяти устройств raidz1.

Сегодня я пошел и купил другое устройство 3TB и положил его в свой корпус. Однако вместо создания нового пула и добавления этого устройства я сделал ошибку и добавил его в свой существующий пул хранения.

Теперь у меня есть устройство верхнего уровня, которое я хочу удалить, называется sdg(это новый диск). Каждый раз, когда я пытаюсь удалить его, я получаю:

cannot remove sdg: only inactive hot spares, cache, top-level, or log devices can be removed.

Итак, как мне удалить это устройство сейчас? Если это устройство выходит из строя, весь мой пул будет недоступен. Я думаю, мне следует пойти и купить другой диск, и, по крайней мере, он будет зеркальным, но я просто не могу поверить, что нет подходящего способа сделать это.

Это мой статус дампа:

pool: storage
state: ONLINE
scan: scrub canceled on Wed Jul 23 17:26:08 2014

config:

 NAME                                 STATE     READ WRITE CKSUM
 storage                              ONLINE       0     0     0
   raidz1-0                           ONLINE       0     0     0
     ata-ST3000DM001-1CH166_Z1F1PYM6  ONLINE       0     0     0
     ata-ST3000DM001-1CH166_W1F24CSC  ONLINE       0     0     0
     ata-ST3000DM001-1CH166_W1F2372R  ONLINE       0     0     0
     ata-ST3000DM001-1CH166_W1F24BTK  ONLINE       0     0     0
     ata-ST3000DM001-1CH166_Z1F2KKLW  ONLINE       0     0     0
   sdg                                ONLINE       0     0     0

errors: No known data errors
хронический
источник
1
Насколько я понимаю, sdgтеперь это часть чередующегося пула хранения. Поскольку пул является полосатым, а не зеркальным, его невозможно удалить sdgиз пула. Единственный способ вернуть его - скопировать данные из storageпула на другое устройство, уничтожить пул и воссоздать его без sdg. Затем создайте новый пул для sdg, чтобы делать то, для чего вы хотите его использовать.
Уорик
Все, что я прочитал в документации zfs, говорит о том, что полоса не может расти таким образом. На самом деле, люди придумали довольно интересные вещи, чтобы вы могли увеличить тот же массив.
хронический
Если я не могу удалить его, могу ли я добавить еще пару дисков и сделать еще одну полосу из sdg и двух новых дисков?
хронический
Добавив диск в пул, вы не сможете его удалить.
Спроси и
Я не знаю наверняка, но я не думаю, что вы можете добавить еще пару дисков и сделать еще одну полосу из sdg и двух новых дисков. Я считаю, что sdg должен был быть указан как чередующийся том с двумя дополнительными дисками при добавлении в пул. Там нет zfs convertфункциональности.
Уорик

Ответы:

2

К сожалению, удаление vdev (которым является этот диск) из пула в настоящее время не поддерживается ZFS (но продолжается работа по его поддержке). Обходной путь - сбросить данные из пула и воссоздать их, а затем вернуть обратно.

Стив Уиллс
источник