Primeiro: estou perfeitamente bem em aceitar que este é o caso por enquanto e não estou procurando uma solução imediata, mas estou tentando entender a limitação técnica dessa restrição.
Estou trabalhando principalmente com ZFS no Linux, mas meu entendimento é que todo o desenvolvimento do FOSS ZFS está enraizado no OpenZFS até agora, portanto, informações sobre qualquer/todas as suas variantes são apreciadas.
A página de manual doszfs remove
estados:
Os vdevs de nível superior só poderão ser removidos se o armazenamento do pool primário não contiver um vdev raidz de nível superior, todos os vdevs de nível superior tiverem o mesmo tamanho de setor e as chaves de todos os conjuntos de dados criptografados forem carregadas.
Eu entendo e/ou posso adivinhar os motivos da maioria dessas restrições, mas realmente não entendo por que a mera presença de um vdev raidz impede a remoção de qualquer vdev (mesmo um espelhado ou não redundante).
Foi meu entendimento/suposição que, da perspectiva do pool, cada vdev atua como um "dispositivo de bloco burro" com a redundância/espelhamento real acontecendo no nível do vdev (conforme sugerido pelo aviso repetido de que não há redundância no nível do pool: todos a redundância deve existir no nível do vdev e um único vdev com defeito derruba todo o pool).
Sob essa suposição, não deveria importar quais dados específicos do vdev são removidos, muito menos a presença de um vdev "ruim" (raidz) no pool.
É evidente que essa suposição (ou alguma outra em que não consigo pensar) está errada. Alguém pode me esclarecer sobre o quê?
O único palpite que me resta e que não consegui verificar é que não há razão absoluta para que o raidz vdevs impeça a remoção do vdev, mas que alguma interação de alguma operação específica do raidz e remoção de dispositivo simplesmente não é implementada/testada/ verificado neste momento.