Учитывая raidz1 vdev на FreeBSD 10 с такой конфигурацией:
root@gw:~ # zpool status
pool: data
state: ONLINE
status: One or more devices are configured to use a non-native block size.
Expect reduced performance.
action: Replace affected devices with devices that support the
configured block size, or migrate data to a properly configured
pool.
scan: resilvered 26.1G in 0h43m with 0 errors on Sat Dec 21 07:07:41 2013
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ada1 ONLINE 0 0 0 block size: 512B configured, 4096B native
ada2 ONLINE 0 0 0
ada3 ONLINE 0 0 0 block size: 512B configured, 4096B native
errors: No known data errors
Я хотел бы исправить размер блока. Можно ли изменить размер блока, не отключая пул? Я просто хотел узнать, подходят ли эти команды для выполнения. Я мог бы попробовать, не спрашивая, но дьявол никогда не спит ...
zpool detach data ada1
zpool labelclear ada1
zpool attach data ada1
Это правильный способ?
ОБНОВЛЕНИЕ - вещи, которые я пробовал:
«zpool remove» можно было использовать для удаления ada1 раньше очистка и добавление снова. Но "zpool remove" не поддерживает raidz vdevs.
"zpool replace --f ada1" можно использовать для принудительной перестройки ada1, как если бы это был новый devide, но zpool не разрешает это (даже не принудительно) для устройства, которое уже является частью активного
Я считаю, что я мог бы добиться этого следующим образом:
Может ли это сработать? Но только после полного выключения компьютера. : - (
Я думаю, что вам нужна команда zpool offline
, например:
zpool offline data ada1
zpool labelclear ada1
zpool replace data ada1 ada1
Последняя replace
может не работать, указав первую ada1
. Если это не так, используйте zpool list
или zdb
, чтобы получить GUID диска. См. https://askubuntu.com/questions/305830/replacing-a-dead-disk-in-a-zpool