Atualizar Como substituir discos especiais (log, cache e SpecialDev) de uma zpool

2025-10-15 12:29:50 -03:00
parent b4308406d1
commit d6663d4b09

@@ -1 +1,118 @@
Bem-vindo a wiki. # Cenário: Falha de um NVMe no seu Pool
### Dispositivos a serem substituídos:
Special: <old-nvme>-Part-Special
Logs: <old-nvme>-Part-Log
Cache: <old-nvme>-Part-Cache
### O Novo Disco:
Você deve ter um novo NVMe de substituição, de capacidade igual ou superior. Assumimos que ele está fisicamente instalado e foi particionado de forma idêntica ao NVMe falho.
Referência: http://gitea.fixfibra.net.br:3000/daniel.sato/Proxmox-8/wiki/Como-particionar-disco-para-usar-como-Log%2FCache%2FSpecial-Dev
### Vamos chamar o novo disco e suas partições de:
**Novo NVMe ID: /dev/<new-nvme>**
**Novas Partições: /dev/<new-nvme>-Part-Log, /dev/<new-nvme>-Part-Cache, /dev/<new-nvme>-Part-Special**
## Substituição de um Disco NVMe Particionado
Como você está substituindo um disco físico inteiro que contém várias partições usadas por diferentes classes do ZFS, você terá que executar o comando `zpool replace` separadamente para cada partição/vdev, seguindo a ordem lógica: Special, Logs e, por último, Cache.
## Passo 1: Preparação e Identificação
Verifique a Falha:
O seu zpool status agora deve mostrar o pool como DEGRADED, e o disco falho (<old-nvme>) deve estar marcado como FAULTED ou UNAVAIL.
## Remoção e Instalação Física:
Remova o NVMe falho e instale o novo NVMe em sua baia.
## Particionamento:
Use uma ferramenta como fdisk ou gdisk para replicar o esquema de particionamento do disco NVMe falho no novo disco, garantindo que as partições tenham os tamanhos corretos para Part-Log (logs), Part-Cache (cache) e Part-Special (special).
## Identificação do Novo Disco:
Verifique os novos caminhos persistentes das partições (ex: em /dev/disk/by-id/ ou /dev/disk/by-uuid/).
Antigo falho (Exemplo): <old-nvme>-Part-Special
Novo (Exemplo): /dev/<new-nvme>-Part-Special
## Passo 2: Substituir o VDEV Special
O vdev special é um componente resiliente (mirror-2), portanto, os dados podem ser copiados do outro disco.
```
zpool replace meu_pool <old-nvme>-Part-Special /dev/<new-nvme>-Part-Special
```
Acompanhe:
```
zpool status meu_pool.
```
O resilvering iniciará para esta partição.
**Aguarde até que o resilvering esteja 100% concluído para a partição special.**
## Passo 3: Substituir o VDEV Logs (SLOG)
O vdev logs (SLOG) também é um componente resiliente (mirror-1) e, portanto, a substituição segue o mesmo padrão de zpool replace.
```
zpool replace meu_pool <old-nvme>-Part-Log /dev/<new-nvme>-Part-Log
```
Acompanhe:
```
zpool status meu_pool.
```
Aguarde a conclusão.
## Passo 4: Substituir o VDEV Cache (L2ARC)
Os dispositivos de cache (L2ARC) são diferentes: eles não são resilientes e o ZFS não armazena dados críticos neles. Se um cache falhar, o ZFS simplesmente para de usá-lo e o pool não entra em estado DEGRADED (apenas a performance pode cair).
### Remoção (Detach/Remove):
Primeiro, você deve remover o dispositivo de cache falho do pool.
```
zpool remove meu_pool <old-nvme>-Part-Cache
```
### Adição (Add):
Depois, adicione a nova partição de cache.
```
zpool add meu_pool cache /dev/<new-nvme>-Part-Cache
```
**Não há resilvering para cache. Ele será preenchido lentamente com o uso normal.**
## Passo 5: Verificação Final
Verifique o status do pool uma última vez para confirmar que todos os novos dispositivos estão ONLINE e que o pool está ONLINE e HEALTHY.
```
zpool status meu_pool
```
Sua nova estrutura deve mostrar os IDs do novo NVMe no lugar das partições falhas, com todos os vdevs em bom estado!