Proxmox - ZFS

De Wiki Projeto Root
Revisão de 01h26min de 11 de abril de 2026 por Diegocosta (discussão | contribs) (Criou página com '= Sobre = Olá! Visitante, reunimos aqui, informações sobre como adicionar um novo SSD NVME no mirror ZFS sem precisar reinstalar o Proxmox. = Caso = Meu servidor foi instalado com 2 NVME para o sistema Proxmox, um dos SSDs NVMe apresentou defeito em garantia, após a fábrica mandar outra unidade, para não precisar reinstalar todo o sistema novamente, adicionei a unidade nova ao ZFS. Então segue abaixo o que realizei para ter sucesso! = Adição de SSD NVMe em Mi...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Sobre

Olá! Visitante, reunimos aqui, informações sobre como adicionar um novo SSD NVME no mirror ZFS sem precisar reinstalar o Proxmox.


Caso

Meu servidor foi instalado com 2 NVME para o sistema Proxmox, um dos SSDs NVMe apresentou defeito em garantia, após a fábrica mandar outra unidade, para não precisar reinstalar todo o sistema novamente, adicionei a unidade nova ao ZFS. Então segue abaixo o que realizei para ter sucesso!

Adição de SSD NVMe em Mirror no Proxmox com ZFS (sem reinstalação)

Objetivo

Converter um pool ZFS existente (disco único) em um mirror utilizando um segundo SSD NVMe, sem perda de dados e mantendo o Proxmox funcional.


Cenário Inicial

  • Proxmox instalado em ZFS (pool: rpool)
  • 1 SSD NVMe em uso
  • 1 SSD NVMe novo (sem partição)

Exemplo:

 zpool status
 
pool: rpool
state: ONLINE

nvme-eui.e8238fa6bf530001001b448b4d16edd4-part3


Identificação dos Discos

Verificar discos e estrutura:

lsblk
zpool status -P

Exemplo:

nvme1n1 → disco atual (com sistema)
nvme0n1 → disco novo (vazio)

Confirmar via by-id:

ls -l /dev/disk/by-id/ | grep nvme


Etapa 1 - Clonar Tabela de Partições

Copiar layout do disco atual para o novo:

sgdisk -R=/dev/nvme0n1 /dev/nvme1n1
sgdisk -G /dev/nvme0n1

Explicação:

  • -R → replica tabela GPT
  • -G → gera novos GUIDs (evita conflito)


Etapa 2 - Validar Partições

lsblk

Esperado:

nvme0n1p1  BIOS
nvme0n1p2  EFI
nvme0n1p3  ZFS


Etapa 3 - Identificar discos via by-id

ls -l /dev/disk/by-id/ | grep nvme

Exemplo:

nvme-eui.e8238fa6bf530001001b448b4d16edd4 → disco atual
nvme-eui.e8238fa6bf530001001b448b4fee1734 → disco novo


Etapa 4 - Criar Mirror no ZFS

zpool attach rpool \
/dev/disk/by-id/nvme-eui.e8238fa6bf530001001b448b4d16edd4-part3 \
/dev/disk/by-id/nvme-eui.e8238fa6bf530001001b448b4fee1734-part3


Etapa 5 - Acompanhar Resilver

zpool status

Exemplo:

mirror-0
  nvme-eui...edd4-part3
  nvme-eui...1734-part3


Etapa 6 - Configurar Boot no Novo Disco

Formatar partição EFI:

proxmox-boot-tool format /dev/nvme0n1p2

Inicializar boot:

proxmox-boot-tool init /dev/nvme0n1p2

Atualizar:

proxmox-boot-tool refresh


Observação Importante

Caso apareça erro:

has wrong filesystem (!= vfat)

Executar novamente:

proxmox-boot-tool init /dev/nvme0n1p2
proxmox-boot-tool refresh


Etapa 7 - Validar Boot

proxmox-boot-tool status

Esperado:

92F0-69FF → nvme0n1p2
C7B6-374D → nvme1n1p2


Etapa 8 - Validar ZFS

zpool status

Esperado:

mirror-0
  nvme-eui...edd4-part3
  nvme-eui...1734-part3


Resultado Final

  • Pool ZFS em mirror
  • Dados redundantes
  • Boot redundante em ambos discos
  • Sistema resiliente a falha de SSD


Teste Recomendado

1. Desligar o servidor

2. Remover um dos NVMe

3. Ligar e validar boot

4. Repetir com o outro disco


Boas Práticas

  • Sempre usar /dev/disk/by-id no ZFS
  • Nunca usar disco inteiro, sempre partição (p3)
  • Validar GUID após clonagem
  • Garantir ESP em todos os discos


Comandos Utilizados

zpool status
zpool status -P
lsblk
fdisk -l
sgdisk -R
sgdisk -G
zpool attach
proxmox-boot-tool format
proxmox-boot-tool init
proxmox-boot-tool refresh
blkid