Files
Emanuel Almeida 6b3a6f2698 feat: refactor 30+ skills to Anthropic progressive disclosure pattern
- All SKILL.md files now <500 lines (avg reduction 69%)
- Detailed content extracted to references/ subdirectories
- Frontmatter standardised: only name + description (Anthropic standard)
- New skills: brand-guidelines, spec-coauthor, report-templates, skill-creator
- Design skills: anti-slop guidelines, premium-proposals reference
- Removed non-standard frontmatter fields (triggers, version, author, category)

Plugins affected: infraestrutura, marketing, dev-tools, crm-ops, gestao,
core-tools, negocio, perfex-dev, wordpress, design-media

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 15:05:03 +00:00

5.3 KiB

PBS Setup Completo - Referencia Detalhada

Fase 1: PBS Installation

1.1 Verificar se PBS ja esta instalado

dpkg -l | grep proxmox-backup-server

# Se nao instalado:
apt update
apt install proxmox-backup-server

1.2 Aceder PBS Web UI

https://SERVER_IP:8007

User: root
Password: (root password do servidor)

1.3 Configuracao Inicial

  • Hostname
  • DNS servers
  • Time zone (Europe/Lisbon)

Fase 2: Datastore Creation

2.1 Preparar Storage

Para ZFS (recomendado):

# Ja criado em /proxmox-setup:
# zfs create rpool/pbs-datastore

# Verificar
zfs list | grep pbs-datastore

# Optimizar para backup workload
zfs set compression=lz4 rpool/pbs-datastore
zfs set dedup=off rpool/pbs-datastore  # Dedup no PBS, nao no ZFS
zfs set recordsize=1M rpool/pbs-datastore  # Large files

Para ext4 (HDD 16TB):

# Particionar HDD
parted /dev/sda mklabel gpt
parted /dev/sda mkpart primary ext4 0% 100%

# Formatar
mkfs.ext4 /dev/sda1

# Montar
mkdir -p /mnt/pbs-datastore
echo "/dev/sda1 /mnt/pbs-datastore ext4 defaults 0 2" >> /etc/fstab
mount -a

2.2 Criar Datastore via CLI

proxmox-backup-manager datastore create main-store /mnt/pbs-datastore

# Verificar
proxmox-backup-manager datastore list

2.3 Configurar Retention Policy

# 7 daily, 4 weekly, 6 monthly (padrao)
proxmox-backup-manager datastore update main-store \
  --keep-daily 7 \
  --keep-weekly 4 \
  --keep-monthly 6 \
  --keep-yearly 3

Explicacao Retention:

  • keep-daily 7: Mantem 7 backups diarios
  • keep-weekly 4: Mantem 4 backups semanais (1 por semana)
  • keep-monthly 6: Mantem 6 backups mensais (1 por mes)
  • keep-yearly 3: Mantem 3 backups anuais

Gestao automatica: PBS elimina backups antigos baseado nestas regras.

Fase 3: PBS Users e Permissions

3.1 Criar User para PVE Backups

# User dedicado para Proxmox enviar backups
proxmox-backup-manager user create pve-backup@pbs \
  --email admin@descomplicar.pt

# Password
proxmox-backup-manager user update pve-backup@pbs --password

# Atribuir permissoes no datastore
proxmox-backup-manager acl update /datastore/main-store \
  --auth-id pve-backup@pbs \
  --role DatastoreBackup

3.2 Criar API Token (para automacao)

# Token para scripts/Terraform
proxmox-backup-manager user token create pve-backup@pbs automation-token \
  --output-format json

# Guardar token de forma segura
# Formato: pve-backup@pbs!automation-token=<secret>

Fase 4: Configure PVE to Use PBS

4.1 Adicionar PBS Storage em Proxmox VE

Via Web UI (Datacenter -> Storage -> Add -> Proxmox Backup Server):

  • ID: pbs-main
  • Server: SERVER_IP (ou hostname se cluster)
  • Datastore: main-store
  • Username: pve-backup@pbs
  • Password: (password criado)
  • Fingerprint: (auto-detect)

Via CLI:

pvesm add pbs pbs-main \
  --server SERVER_IP \
  --datastore main-store \
  --username pve-backup@pbs \
  --password <password>

4.2 Verificar Conectividade

pvesm status | grep pbs-main

Fase 5: Backup Jobs (PVE)

5.1 Criar Backup Job para VMs Criticas

Via Web UI (Datacenter -> Backup -> Add):

  • Storage: pbs-main
  • Schedule: Daily 01:00
  • Mode: Snapshot (live backup)
  • Compression: zstd
  • Notification: email admin@descomplicar.pt

Via CLI:

# Backup diario de todas VMs as 01:00
vzdump --storage pbs-main --mode snapshot --compress zstd --all 1

5.2 Agendar via cron (alternativa)

# /etc/cron.d/pve-backup-critical
0 1 * * * root vzdump --storage pbs-main --vmid 100,101,102 --mode snapshot --compress zstd

5.3 Backup Selectivo

# VMs criticas: diario
# VMs secundarias: 3x semana (Seg, Qua, Sex)
0 1 * * 1,3,5 root vzdump --storage pbs-main --vmid 200,201,202 --mode snapshot --compress zstd

Fase 6: Remote Sync (2-Node Cluster)

Setup para cluster: PBS em Node B (primary) + PBS em Node A (secondary)

6.1 Configurar Remote em PBS Secondary (Node A)

Via Web UI PBS Node A (Configuration -> Remote):

  • Name: pbs-node-b
  • Host: <node-b-ip> ou cluster.descomplicar.pt
  • Port: 8007
  • Auth ID: pve-backup@pbs
  • Password: (password)
  • Fingerprint: (auto-detect)

6.2 Criar Sync Job

Via Web UI PBS Node A (Configuration -> Sync Jobs -> Add):

  • Remote: pbs-node-b
  • Remote Datastore: main-store
  • Local Datastore: secondary-store
  • Schedule: Daily 03:00 (apos backups)
  • Remove vanished: Yes (sync deletes)

Via CLI em Node A:

proxmox-backup-manager sync-job create sync-from-node-b \
  --remote pbs-node-b \
  --remote-store main-store \
  --store secondary-store \
  --schedule "0 3 * * *" \
  --remove-vanished true

6.3 Testar Sync Manual

proxmox-backup-manager sync-job run sync-from-node-b

Fase 7: Restore Procedures (Testing)

7.1 Restore VM Teste

Via Web UI PVE:

  • Storage -> pbs-main -> Backups
  • Seleccionar VM backup
  • Restore -> New VM ID (999)
  • Start apos restore

7.2 Restore via CLI

# Listar backups disponiveis
pbs-client list --repository pve-backup@pbs@SERVER_IP:main-store

# Restore VM 100
qmrestore pbs-main:backup/vm/100/YYYY-MM-DD... 999

7.3 Validar Restore

qm start 999
# Verificar VM boota correctamente
# Teste servico critical
# Shutdown e remover VM teste
qm stop 999 && qm destroy 999

Critico: Testar restore ANTES de considerar backup strategy operacional.