Não, não acho que isso seja possível da maneira que você está descrevendo.
Você pode , no entanto, criar um novo pool com o disco único e copiar seus sistemas de arquivos ZFS para o novo pool usando um simples processo enviar / receber zfs .
Eu tenho este zpool:
bash-3.2# zpool status dpool
pool: dpool
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
dpool ONLINE 0 0 0
c3t600601604F021A009E1F867A3E24E211d0 ONLINE 0 0 0
c3t600601604F021A00141D843A3F24E211d0 ONLINE 0 0 0
Eu gostaria de substituir esses dois discos por um único (disco maior). Isso pode ser feito? O zpool attach permite-me substituir um disco físico, mas não me permitirá substituir ambos de uma só vez.
Não, não acho que isso seja possível da maneira que você está descrevendo.
Você pode , no entanto, criar um novo pool com o disco único e copiar seus sistemas de arquivos ZFS para o novo pool usando um simples processo enviar / receber zfs .
Você deve ser capaz de zpool attach
da unidade nova e maior, aguardar a conclusão do espelhamento e, em seguida, zpool detach
das unidades antigas.
Editar : Eu interpretei mal sua pergunta e tive certeza de que você a estava exibindo como um espelho.
Concordo que o melhor curso de ação é criar um novo pool e enviar recursivamente todos os conjuntos de dados para o novo pool, mas se você realmente não puder fazer isso, poderá seguir as etapas que estou delineando, desde que você particione o novo disco maior em duas partições, cada uma com pelo menos o tamanho do disco que ele pretende substituir.
Recomendo contra isso, principalmente porque (1) o gerenciamento se torna mais complexo e (2) você não poderá tirar proveito do cache de gravação da unidade.
Vou colar aqui a sequência como foi realizada em uma caixa recente da Illumos. Observe que estou criando arquivos vazios para mostrar isso, em vez de usar discos inteiros e fatias / partições, pois não posso manipular dispositivos físicos nessa caixa. Os arquivos são denominados aa1
, aa2
e aa3
.
Prepare os dispositivos. aa3
é 200M grande, enquanto aa1
e aa2
são apenas 100M:
# dd if=/dev/zero of=/opt/local/aa1 bs=1M count=100
# dd if=/dev/zero of=/opt/local/aa2 bs=1M count=100
# dd if=/dev/zero of=/opt/local/aa3 bs=1M count=200
Crie o nosso pool de testes:
# zpool create test mirror /opt/local/aa1 /opt/local/aa2
Verifique se tudo correu bem:
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 95,5M 106K 95,4M - 0% 1.00x ONLINE -
mirror 95,5M 106K 95,4M -
/opt/local/aa1 - - - -
/opt/local/aa2 - - - -
Defina a propriedade autoexpand
:
# zpool set autoexpand=on test
Anexe o novo dispositivo:
# zpool attach test /opt/local/aa2 /opt/local/aa3
Tudo ainda está bem?
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 95,5M 120K 95,4M - 0% 1.00x ONLINE -
mirror 95,5M 120K 95,4M -
/opt/local/aa1 - - - -
/opt/local/aa2 - - - -
/opt/local/aa3 - - - -
Sim, é.
Destaque os dois primeiros desenvolvedores:
# zpool detach test /opt/local/aa1
# zpool detach test /opt/local/aa2
Por fim, vamos verificar o pool novamente:
# zpool list -v test
NAME SIZE ALLOC FREE EXPANDSZ CAP DEDUP HEALTH ALTROOT
test 196M 124K 195M - 0% 1.00x ONLINE -
/opt/local/aa3 196M 124K 195M -
Ele cresceu corretamente para 200 MB.
Tags hard-drive zfs solaris zpool