Pode ser necessário substituir um disco no pool raiz pelas seguintes razões:
O conjunto raiz é muito pequeno e deseja substituir o disco menor por um disco maior.
O disco do conjunto raiz apresenta falhas. Em um grupo não redundante, se o disco estiver falhando de modo que o sistema não inicializa, será necessário realizar a inicialização a partir de uma mídia alternativa, como um CD ou a rede, antes de substituir o disco do conjunto raiz.
Em uma configuração de conjunto raiz espelhado, é possível tentar substituir um disco sem inicializar de uma mídia alternativa. É possível substituir um disco falho ao utilizar o comando zpool replace. Ou, se possuir um disco adicional, é possível utilizar o comando zpool attach. Consulte o procedimento nesta seção para um exemplo de anexação de um disco adicional e desanexação de um disco de conjunto raiz.
Alguns softwares necessitam que traga um disco off-line e desconfigure-o antes de tentar a operação zpool replace para substituir um disco falho. Por exemplo:
# zpool offline rpool c1t0d0s0 # cfgadm -c unconfigure c1::dsk/c1t0d0 <Physically remove failed disk c1t0d0> <Physically insert replacement disk c1t0d0> # cfgadm -c configure c1::dsk/c1t0d0 # zpool replace rpool c1t0d0s0 # zpool online rpool c1t0d0s0 # zpool status rpool <Let disk resilver before installing the boot blocks> SPARC# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0 x86# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0 |
Em alguns hardwares, não é necessário trazer o disco on-line ou reconfigurá-lo depois de ser inserido.
É necessário identificar os nomes de caminho do dispositivo de inicialização do disco atual e do disco novo para que seja possível testar uma inicialização de teste a partir do disco substituto e também uma inicialização manual a partir do disco existente, caso o disco substituto falhe. Neste exemplo no procedimento a seguir, o nome do caminho para o atual disco de conjunto raiz (c1t10d0s0) é:
/pci@8,700000/pci@3/scsi@5/sd@a,0 |
O nome do caminho para o disco de inicialização substituto (c1t9d0s0) é:
/pci@8,700000/pci@3/scsi@5/sd@9,0 |
Conecte fisicamente o disco de substituição (ou novo).
Confirme que o novo disco possui uma legenda SMI e um segmento 0.
Para obter informações sobre como relegendar um disco reservado para o pool raiz, use o seguinte site:
http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide
Anexe o novo disco ao pool raiz.
Por exemplo:
# zpool attach rpool c1t10d0s0 c1t9d0s0 |
Confirme os status do pool raiz.
Por exemplo:
# zpool status rpool pool: rpool state: ONLINE status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress, 25.47% done, 0h4m to go config: NAME STATE READ WRITE CKSUM rpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 c1t10d0s0 ONLINE 0 0 0 c1t9d0s0 ONLINE 0 0 0 errors: No known data errors |
Depois da conclusão do resilvering, aplique os blocos de inicialização ao novo disco.
Utilizando uma sintaxe semelhante à seguinte:
SPARC:
# installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t9d0s0 |
x86:
# installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c1t9d0s0 |
Verifique se é possível inicializar a partir do novo disco.
Por exemplo, em um sistema com base em SPARC, seria utilizada uma sintaxe semelhante à seguinte:
ok boot /pci@8,700000/pci@3/scsi@5/sd@9,0 |
Se o sistema se inicializa a partir do novo disco, desanexe o disco antigo.
Por exemplo:
# zpool detach rpool c1t10d0s0 |
Configure o sistema para que se inicialize automaticamente a partir do disco novo, ou usando o comando eeprom , o comando setenv da PROM de inicialização do SPARC, ou reconfigurando a BIOS do PC.