Ir para o conteúdo

Funcionalidades

O BombVault é simples por predefinição e profundo quando precisa. A interface mostra apenas o essencial até acionar o interruptor Simples / Avançado. Esta página agrupa o conjunto completo de funcionalidades.

Âmbito do backup

O quê O que é guardado
Containers Docker Diretório appdata mais a definição do container (imagem, variáveis de ambiente, portas, etiquetas, volumes).
VMs KVM / libvirt Imagem(ns) de disco da VM, definição XML e NVRAM UEFI (encerramento ordenado ou instantâneo a quente, por SSH). Os instantâneos a quente recorrem automaticamente a um backup ordenado se o instantâneo não puder ser criado, de modo que um backup de VM nunca falha sem mais nem menos.
Flash do Unraid Toda a pen USB flash (/boot): SO, licença, configuração do array, partilhas, rede e configuração de plugins. O restauro é uma transferência .zip com um clique e nunca sobrescreve o flash em execução.
Configuração da aplicação O próprio /config do BombVault (base de dados de definições, credenciais externas, par de chaves SSH do libvirt), capturado com VACUUM INTO do SQLite para que uma base de dados em modo WAL nunca seja capturada a meio de uma escrita. Restaurado através de um reinício automático, para que a base de dados em execução nunca seja sobrescrita sob um handle aberto.
Ficheiros e pastas Conjuntos de ficheiros nomeados: qualquer pasta no servidor (uma partilha, os seus documentos, uma biblioteca de fotos), cada um com padrões de exclusão opcionais por conjunto. Paridade total com os outros domínios (agendamentos, retenção, cópia externa, verificações de integridade e ensaios de restauro).

Restauro

  • Restauro completo com um clique. Escolha um instantâneo, clique em Restaurar. Feito.
  • Restaurar a partir de local ou externo. Cada navegador de backups tem um interruptor Local / Externo, por isso, se um repo local se perder ou corromper, pode listar e restaurar diretamente a partir da réplica externa. A eliminação é por origem: remover um backup afeta apenas a cópia que está a ver.
  • Os containers são reinstalados automaticamente. A definição do container é reproduzida contra a Docker API, para que o container reapareça no separador Docker do Unraid exatamente como estava.
  • As VMs são recriadas automaticamente. O XML é reimportado por SSH para que a VM reapareça no VM Manager com o seu disco e a NVRAM UEFI reanexados, mesmo depois de a VM ter sido eliminada. Descobrir backups reconstrói uma entrada que desapareceu por completo (por exemplo, depois de uma instalação de raiz).
  • Restauro individual. Restaure um container, uma VM ou um conjunto de ficheiros sem tocar nos outros.
  • O restauro do flash é uma transferência .zip. Transmite para o seu browser como flash-<id>.zip, pronto a largar no criador de USB do Unraid. O /boot em execução nunca é tocado.
  • Exportação zip agendada do flash. Depois de cada backup do flash, opcionalmente escreva o instantâneo como um .zip simples para uma pasta que escolher (um único flash-latest.zip sobrescrito ou um histórico rotativo). Aponte-o para uma pasta Syncthing ou rclone para que o seu backup do USB de arranque saia do servidor automaticamente.
  • Verificação de conflitos pré-voo. Antes de qualquer coisa ser parada ou removida, o restauro verifica que o IP estático do container e as portas do host publicadas estão livres, e aborta com uma mensagem clara em vez de deixar um restauro a meio.
  • Restauro ao nível do ficheiro. Expanda os Ficheiros de um instantâneo de container, filtre, marque qualquer número de ficheiros e pastas e depois restaure a seleção no local ou para uma pasta que escolher.
  • Restauro de conjunto de ficheiros. Restaure um instantâneo de conjunto de ficheiros no local (após uma confirmação explícita) ou para uma pasta que escolher, nunca em silêncio. O restauro seletivo também funciona aqui.
  • O restauro mantém o estado de execução. Um container ou VM que estava em execução quando foi copiado volta em execução; um que estava parado permanece parado. Marque Deixar parado após o restauro para recriar sem iniciar.
  • Restaurar uma stack inteira. Os containers do mesmo projeto Docker Compose são agrupados num painel Stacks. Restaurar stack reconstrói cada membro a partir do seu último backup, deixando-o parado, e depois, opcionalmente, inicia-os por ordem depends_on.
  • Progresso ao vivo, cancelamento e feedback de ocupação. Um restauro longo mostra uma barra de percentagem ao vivo e pode ser cancelado com uma confirmação sensível ao tipo. Um restauro cancelado é registado como cancelado, não falhado.
  • Recuperação guiada. Um separador Recuperação dedicado acompanha uma instalação de raiz pelo caso de desastre. Consulte Externo e recuperação.
  • Restaurar a partir de outro repo BombVault. Uma sessão pontual e só de leitura abre o repo de uma instância BombVault diferente com a APP_KEY dessa instância, para que possa puxar um container do servidor A para o servidor B sem tocar nas suas próprias definições. Consulte Externo e recuperação.

Armazenamento e agendamento

  • Backups incrementais e deduplicados via restic, para que até discos grandes de VM não inchem o repo.
  • Destinos: um caminho local, ou externo. SMB/CIFS e NFS (monte a partilha no Unraid e aponte-lhe um Caminho de backup), backends restic nativos sem rclone (s3:..., rest:http://host:8000/repo, b2:..., sftp:user@host:/repo), ou qualquer remoto rclone via rclone:<remote>:<bucket>/path. Todas as credenciais são guardadas encriptadas.
  • Os destinos SSH não precisam de nada instalado do outro lado. O sftp: só requer um servidor SSH, por isso um simples Raspberry Pi (sem Docker, sem restic) funciona como destino externo. As chaves de host são fixadas automaticamente no primeiro contacto.
  • Cópia externa (local + remota). Mantenha o backup local rápido e adicione uma ou mais réplicas externas, replicadas com restic copy numa base de melhor esforço (um percalço externo nunca faz o backup local falhar). Cada domínio tem o seu próprio agendamento externo, mais um botão Replicar agora.
  • Vários destinos externos por domínio. Cada domínio (containers, VMs, flash, config e conjuntos de ficheiros) pode replicar para vários destinos externos de uma só vez, não apenas um. Adicione destinos extra no separador Externo, cada um com o seu próprio repositório, classe de armazenamento S3, flag append-only, retenção e orçamento de crescimento. A sua cópia externa existente é transferida como o primeiro destino, por isso nada muda até adicionar um segundo, e cada destino de um domínio replica no agendamento externo desse domínio.
  • Ordem de backup manual. Defina a ordem exata pela qual os seus containers são copiados a partir do painel de ordem de backup na página Containers. As execuções agendadas e de seleção múltipla seguem-na; qualquer container que deixe sem ordem mantém o comportamento anterior de mais-em-atraso-primeiro, e um backup de um único container não muda.
  • Retenção configurável: keep-last / diária / semanal / mensal, podada automaticamente após cada backup, definida por origem (a local junto aos caminhos de backup, a externa no separador Externo para que possa manter as cópias externas por mais tempo como arquivo).
  • Agendamento por domínio (diário / semanal, incluindo conjuntos de vários dias / a cada N dias / cron em bruto), tudo editado num só lugar em Definições, Agendamentos.
  • Limites de largura de banda externa. Limite a taxa de envio/receção do restic para que a replicação não sature a sua WAN.
  • Classe de armazenamento fria e de arquivo (S3). Para um repo externo S3 nativo pode escolher a classe de armazenamento, restringida a níveis legíveis para restauro (Standard, Standard-IA, One Zone-IA, Intelligent-Tiering, Glacier Instant Retrieval) para que os preços de arquivo nunca quebrem um restauro em silêncio. Os níveis de arquivo profundo que primeiro precisam de um degelo assíncrono (Glacier Flexible, Deep Archive) são deixados de fora intencionalmente. Apenas backends S3 nativos; os remotos rclone definem a sua classe na configuração do rclone.
  • As pastas de backup permanecem copiáveis para fora da máquina. Depois de cada backup, o BombVault relaxa a árvore do repo local para diretórios 0755 / ficheiros 0644 (os repos são encriptados, por isso nada fica exposto) para que um utilizador de sincronização não-root por SMB não fique bloqueado. As definições de recuperação vivem dentro de cada repo, por isso uma pasta de repo copiada é totalmente autossuficiente.

Perceção, verificação e monitorização

  • Estado de proteção (RPO). O Painel mostra um indicador verde / âmbar / vermelho por domínio, comparando o último backup bem-sucedido com o seu agendamento, para que um backup em atraso fique vermelho em vez de se esconder num registo.
  • Mapa de calor da saúde dos backups. Um calendário ao estilo das contribuições do GitHub dos resultados de backup por dia e por domínio, com um alternador Containers / VMs / Flash / Config / Files.
  • Cronometragem das execuções em toda a parte. Cada entrada do histórico de execuções lê início, fim (duração), e cada container e VM tem a sua própria lista Execuções recentes na sua página.
  • Um painel que pode reorganizar. Ative o modo de personalização para arrastar os cartões para a sua ordem e ocultar os de que não precisa. O esquema é guardado por navegador.
  • Tendência de tamanho do repositório e de deduplicação. Tamanho atual do repo, rácio de deduplicação e contagem de instantâneos por domínio, com um sparkline do crescimento do armazenamento.
  • Ensaios de verificação de restauro. O BombVault prova periodicamente que os seus backups são restauráveis (restic check --read-data-subset, limitado) e mostra um selo último verificado como restaurável por domínio.
  • Operações de auto-recuperação. Um bloqueio restic comprovadamente órfão (deixado por um reinício a meio de uma operação) é forçado a limpar e reexperimentado uma vez, automaticamente. A retenção é estável na identidade (podada por item, imune a alterações de caminho ou de host) e uma falha de retenção envia uma notificação.
  • Kit de recuperação da chave de encriptação. Transferência com um clique da chave mestra, da palavra-passe restic derivada e das localizações e comandos exatos do repo, para que possa restaurar sem um BombVault em execução. Consulte Externo e recuperação.
  • Exportar e importar as suas definições. Um cartão Exportar e importar definições na página Definições escreve toda a sua configuração (definições de domínio, destinos externos, agendamentos, retenção, notificações) para um ficheiro JSON portátil, para que mudar para uma máquina nova ou clonar uma configuração não signifique reintroduzir tudo à mão. Escolhe se inclui as credenciais externas e de notificação; com elas, o ficheiro é tão sensível como o seu kit de recuperação. A importação mostra uma pré-visualização e pede confirmação, e nunca toca nos seus dados ou histórico de backup.
  • Notificações. Webhook (Discord / Slack / Gotify / ntfy), Matrix, Healthchecks.io, e-mail (SMTP), um servidor Apprise API self-hosted, e o sistema de notificações nativo do Unraid. Política por backup: nunca / em caso de falha / sempre. Uma execução agendada de muitos itens pode enviar um resumo N de M com sucesso. O Healthchecks recebe o ciclo de vida completo (/start, depois sucesso ou /fail) sempre que um URL estiver definido.
  • /metrics do Prometheus. Por opção (desligado por predefinição, token bearer opcional) para Grafana ou Uptime Kuma. Expõe estado, tamanhos e marcas temporais dos backups, sem segredos ou caminhos nas etiquetas.

Proteção contra ransomware

  • Externo imutável (append-only). Marque um repo externo como append-only para que ransomware ou um host comprometido não possa eliminar ou reescrever os seus backups. O lado remoto (um restic/rest-server em modo --append-only) impõe-no; o BombVault apenas o verifica e nunca mostra verde só com base numa afirmação de configuração.
  • Teste de adulteração. O BombVault prova periodicamente a garantia append-only tentando de facto uma eliminação contra o repo externo (dirigida a um objeto inexistente): recusada significa protegido, aceite significa não protegido. Um resultado inconclusivo nunca inverte o veredicto guardado.
  • Configuração guiada do externo. Um assistente acompanha-o desde a escolha do backend até um snippet de implementação de rest-server pronto a colar, um teste de ligação, o interruptor de imutabilidade e uma estratégia de retenção.
  • Ensaios de DR (externo). Restaure um alvo real do repo externo para uma sandbox descartável, verifique-o ficheiro a ficheiro e byte a byte, e depois limpe. Consulte Externo e recuperação.
  • Scorecard de proteção contra ransomware. Um cartão do Painel com uma postura verde / âmbar / vermelha por domínio e uma checklist com marca de idade; cada linha vermelha liga diretamente à correção. Só fica verde com factos verificados.
  • Alarme de orçamento de crescimento. Para um externo imutável (onde os instantâneos antigos são deliberadamente nunca podados), defina um orçamento de tamanho e seja alertado antes de descontrolar.
  • Painel recetor (lado que recebe). Na máquina que recebe cópias externas imutáveis de outro BombVault, ligue o interruptor Recetor (Definições) para revelar um separador Recetor. Registe um repositório recebido só de leitura (aberto com a chave da instância emissora) para ver o seu inventário de instantâneos agrupado por origem, quando cada origem chegou pela última vez, e correr um restic check independente no hardware recetor. Alerta-o quando uma origem deixa de enviar dentro de uma janela que definir (um interruptor de homem-morto) ou quando uma verificação de integridade falha. Estritamente só de leitura, por isso nunca escreve no repositório recebido, e desligado por predefinição. Consulte Externo e recuperação.

Exportações simples

  • Exportação simples de container. Um botão Exportar por container escreve uma cópia navegável e sem ferramentas junto ao repo: <name>.tar.gz das pastas de backup mais o template Unraid <name>.xml. O restic continua a ser o motor; esta é uma cópia de conveniência extra.
  • Exportação simples de VM. As VMs têm a mesma Exportação (tar simples): <name>.tar.gz da(s) imagem(ns) de disco mais <name>.xml, restaurável com virsh define mais o disco, sem BombVault ou restic necessários.
  • Encriptar as exportações simples (age). As exportações ficam fora do restic, por isso são texto simples por predefinição. Ative a encriptação age em Definições e adicione um ou mais destinatários (uma chave pública age ou uma chave pública SSH). Cada exportação (o .tar.gz de container e VM, os seus ficheiros .xml associados e o ZIP do flash) fica então selada para esses destinatários, e decifra-a mais tarde fora da máquina com a chave privada correspondente. Como regra de segurança, com a encriptação ligada e sem nenhum destinatário válido definido, uma exportação falha com um erro claro em vez de alguma vez escrever texto simples.

Outros

  • Fazer backup de muitos de uma só vez. Selecione vários containers e clique em Fazer backup da seleção. O lote corre no lado do servidor, por isso continua mesmo que feche o separador ou perca a ligação. O BombVault nunca faz backup (e por isso nunca para) do seu próprio container.
  • Navegador de instantâneos com uma lista de pontos de restauro, eliminação por instantâneo, e uma árvore de pastas recolhível para restauro ao nível do ficheiro.
  • Manutenção do repositório por domínio: Verificar (restic check), Desbloquear (limpar um bloqueio preso), e Podar (aplica a política de retenção a pedido quando está definida uma, caso contrário uma simples recuperação de espaço).
  • Hooks pré/pós-backup por container. Comandos de shell corridos dentro do container (por exemplo mysqldump para appdata antes do backup); um pré-hook com falha aborta o backup.
  • Parar outros containers durante o backup, com um reinício condicionado à saúde. Nomeie containers dependentes (por exemplo uma base de dados) para parar enquanto este é copiado. Depois o BombVault traz-nos de volta pela ordem depends_on do Compose e, por predefinição, espera que cada um reporte saudável (ou em execução, se não tiver healthcheck) antes de iniciar os containers que dependem dele, para que uma dependência como o Pi-hole, uma base de dados ou um gateway VPN esteja de facto disponível antes dos serviços que precisam dela, em vez de estes voltarem a um connection refused. A espera é limitada por um timeout por container (120 segundos por predefinição) para que um container lento ou nunca-saudável nunca possa travar a execução; tanto a espera como o timeout vivem em Definições, Agendamentos (desligue a espera para o anterior reinício todos-de-uma-vez). O mesmo reinício ordenado e condicionado à saúde envolve também a atualização de imagem pós-backup, por isso, num dia em que chega uma atualização, os dependentes são mantidos em baixo durante a recriação e só são trazidos de volta, condicionados à saúde, quando esta estiver concluída.
  • Padrões de exclusão por container. Liste subdiretórios a saltar dentro de um volume copiado, um por linha. Escreva os caminhos como os vê dentro do container; uma pré-visualização ao vivo mostra a que cada linha corresponde e avisa quando uma linha não excluiria nada.
  • Atualizar após um backup bem-sucedido (avançado, desligado por predefinição). Ative isto num container e o BombVault puxa a imagem mais recente e recria-o, mas apenas quando existe de facto uma imagem mais recente, para que exista sempre primeiro um ponto de restauro fresco. Extras opcionais: uma notificação por container atualizado e limpeza de imagens (uma imagem base partilhada por outros containers nunca é eliminada). Depois da atualização, o BombVault também pede ao Unraid para reverificar o estado de atualização desse container, para que o banner obsoleto de atualização disponível do separador Docker se limpe a si próprio em vez de ficar por lá (as atualizações do Unraid passam diretamente pela Docker API, por isso o seu estado em cache, e nalgumas versões um digest em cache, continuariam de outro modo a mostrar o banner). É de melhor esforço, nunca afeta o backup, ligado por predefinição e tem um interruptor em Definições.
  • Restaurar para uma pasta alternativa para clonagem ou inspeção.
  • Diff de instantâneos e etiquetas. Compare dois instantâneos para ver o que mudou, e etiquete instantâneos para os filtrar.
  • Novidades após uma atualização. As notas de lançamento aparecem uma vez por nova versão, servidas a partir de notas incorporadas no binário, para que a caixa de diálogo funcione offline.
  • HTTPS logo de início (autoassinado, ou traga o seu próprio certificado por trás de um proxy reverso).
  • Healthcheck do Docker. O container reporta saudável/não-saudável a partir do seu próprio /api/health, para que uma ferramenta de auto-recuperação o possa reiniciar se o motor alguma vez encravar.
  • Interface escura/clara em 26 idiomas com um seletor de bandeiras.