BitVPS
Copia de seguridad y restauración de VPS: cifrada, fuera de las instalaciones y probada de verdad
Guía de operaciones

Copia de seguridad y restauración de VPS: cifrada, fuera de las instalaciones y probada de verdad

Casi todo el que administra un servidor tiene algún tipo de copia de seguridad, y casi nadie ha restaurado ninguna. Ahí es donde ocurren las pérdidas: la regla de exclusión que se saltó la base de datos sin que nadie se diera cuenta, el repositorio que la máquina comprometida borró con sus propias credenciales, la frase de contraseña que vivía solo en el disco que protegía, la tarea de cron que dejó de ejecutarse con éxito en marzo y no se lo dijo a nadie. Ninguno de ellos es un fallo exótico — son los habituales, y todos comparten una misma forma, que es que la copia de seguridad parecía correcta justo hasta el momento en que hizo falta. Esta guía va en el sentido contrario. Parte de las dos cifras que determinan todas las demás decisiones, repasa qué es realmente insustituible en una máquina alquilada y qué no es más que algo que se puede volver a descargar, explica por qué una base de datos es la única cosa que nunca debes copiar sin más, y termina con el simulacro que convierte una carpeta de blobs cifrados en algo que de verdad puedes avalar.

Sin KYC, nunca DMCA ignorado Sin registros de tráfico Activo en 60 segundos

Las instantáneas no son copias de seguridad — y quieres tener ambas cosas

Una instantánea es una copia de un volumen en un punto concreto del tiempo, que vive en el mismo sistema de almacenamiento que el volumen que copió. Eso no es una crítica, es una descripción, y explica con precisión en qué es excelente una instantánea y qué es lo que no puede hacer. Todos los planes aquí incluyen instantáneas cada hora con siete días de retención, restaurar una tarda unos treinta segundos, y son la respuesta correcta al incidente más habitual con diferencia en la operación de servidores: editaste un archivo de configuración a las cuatro de la tarde y el servicio no ha vuelto a arrancar desde entonces. Para ese tipo de fallo nada más se le acerca — es más rápido que cualquier herramienta de copia de seguridad, ya está en marcha, y no cuesta nada extra.

Lo que una instantánea no puede hacer es sobrevivir a aquello sobre lo que está almacenada. Comparte destino con el volumen, el host, el hipervisor y, en la mayoría de los diseños, la cuenta. Si la máquina es incautada, si la cuenta se cierra, si al centro de datos le va muy mal un día, las instantáneas desaparecen con él — son una copia de los datos, no una copia independiente. La distinción no es académica en un proveedor que deliberadamente no puede identificarte: no hay ninguna vía de soporte que reconstruya tu servidor a partir de los registros de otra persona, ningún flujo de recuperación vinculado a un número de teléfono, y ningún historial de facturación con tu nombre legal asociado. Lo que tomaste es lo que tienes.

Tampoco una ventana de siete días ayuda con los dos fallos lentos. El archivo que borraste hace cinco semanas ha desaparecido de todas las instantáneas mucho antes de que te des cuenta. La corrupción silenciosa — una aplicación que falla y escribe datos sutilmente incorrectos, una migración defectuosa, un cliente de sincronización que propaga fielmente un error — a menudo se descubre un mes después, momento en el que ya todas las copias conservadas contienen la corrupción. Las copias de seguridad con una retención más larga y un historial real son las que cubren esos casos, y los cubren precisamente porque no son espejos continuos del estado actual.

El marco de referencia que merece la pena interiorizar aquí es antiguo y sigue siendo válido. La regla 3-2-1 pide tres copias de los datos, en dos tipos de almacenamiento distintos, con una de ellas fuera de las instalaciones. El añadido moderno suma dos cifras más — 3-2-1-1-0 — donde el uno extra es una copia inmutable o desconectada, y el cero es el número de errores en tu última verificación. Las cifras son una regla mnemotécnica más que un estándar, pero codifican las tres propiedades que realmente importan: independencia, inmutabilidad, y la prueba de que la cosa funciona. Las instantáneas cada hora te dan una de las tres.

FalloInstantánea horariaCopia externaPor qué
Rompiste la config hace una horaIdealExcesivoRevertir en treinta segundos gana a cualquier restauración.
Actualización de paquete fallida esta mañanaIdealSirveLa instantánea revierte todo el volumen de una vez.
Borraste un archivo hace cinco semanasPerdidoLo cubreLa retención de siete días ya ha vencido.
Corrupción lenta detectada un mes despuésPerdidoLo cubreTodas las instantáneas conservadas ya contienen la corrupción.
Host comprometido, atacante con rootEn riesgoLo cubre si es de solo añadidoLas credenciales de la máquina alcanzan todo lo que la máquina puede borrar.
Cuenta cerrada o máquina incautadaPerdidoLo cubreLas instantáneas comparten el destino de la infraestructura que las aloja.
Quieres cambiar de proveedorNo es portableLo cubreUn repositorio se restaura en cualquier lugar; una instantánea se restaura aquí.

Lee esa tabla como un argumento a favor de usar ambas cosas en lugar de elegir entre ellas. Las instantáneas se ocupan de la frecuencia y la velocidad; las copias de seguridad se ocupan de la independencia y el historial. Tienen costes distintos, fallan de maneras que no coinciden entre sí, y la combinación resulta mucho más sólida que duplicar cualquiera de las dos por separado.

Las dos cifras que determinan todo lo demás

Antes de instalar ninguna herramienta, anota dos cifras. El objetivo de punto de recuperación (RPO) es cuántos datos puedes permitirte perder, medido en tiempo — si la última copia utilizable tiene seis horas de antigüedad, tu RPO es de seis horas, y las seis horas de trabajo intermedias se han perdido. El objetivo de tiempo de recuperación (RTO) es cuánto tiempo puedes permitirte estar sin servicio mientras reconstruyes. Todo lo que viene después — la planificación, el método, dónde vive la segunda copia, cuánto gastas — se deriva de esas dos cifras, y elegir el software antes de elegirlas es la forma en que la gente acaba con una respuesta elaborada a una pregunta que nadie hizo.

Preguntada así, sin pensarlo mucho, la mayoría de la gente dice cero y cero. Eso no es un presupuesto, es un deseo, y tiene un precio que merece la pena decir sin rodeos: un RPO cercano a cero implica replicación continua en lugar de copias programadas, y un RTO cercano a cero implica una segunda máquina en caliente ya en marcha. Ambas cosas son viables y ambas duplican aproximadamente el coste operativo de aquello que estás protegiendo. Para la inmensa mayoría de las cargas de trabajo autoalojadas, las respuestas honestas están entre una hora y un día para el punto de recuperación, y unas pocas horas para el tiempo de recuperación, algo que cubre sobradamente una copia de seguridad cifrada programada y una reconstrucción documentada.

Las cifras también varían según el conjunto de datos dentro de la misma máquina, y ese detalle es justo lo que las hace útiles. El correo es el ejemplo más claro: un mensaje que llegó hace veinte minutos no existe en ningún otro sitio, no se puede regenerar, y quien lo envió no tiene ni idea de que hay que reenviarlo — así que un servidor de correo necesita un punto de recuperación medido en minutos, aunque el software en sí se reinstale en una tarde. Un nodo de Bitcoin invierte esto por completo: los datos de la cadena son varios cientos de gigabytes que cualquier par de la red te reenviará encantado, así que hacerles una copia de seguridad es en gran medida un desperdicio de disco, mientras que el archivo del monedero de al lado es irrecuperable y merece protegerse como una clave privada, porque eso es exactamente lo que es.

Carga de trabajoRealmente insustituibleRPO razonableRTO razonableEnfoque
Sitio personal o blogContenido, clave de cuenta TLS24 hUn díaRepositorio nocturno, reconstrucción a partir de notas
Servidor de correoMaildir, claves DKIM, alias15 min2–4 hIncremental frecuente, segunda máquina en espera
Nextcloud o sincronización de archivosDirectorio de datos, base de datos, configuración6–24 hUn díaNocturno con volcado en modo mantenimiento
Homeserver de MatrixPostgres, clave de firma, almacén de medios1–6 hHorasVolcado horario de la base de datos, medios cada noche
Nodo de Bitcoin o LightningMonedero, estado del canal, macaroonsMinutos (estado del canal)HorasLos datos de la cadena se resincronizan; copia de seguridad solo de las claves
Sandbox de desarrolloNormalmente nadaN/AN/ALas instantáneas solas ya son una respuesta defendible

Esa última fila merece decirse en voz alta, porque una guía sobre copias de seguridad tiene un incentivo evidente para no hacerlo. Algunas máquinas no necesitan ninguna. Un agente de compilación cuyo estado completo procede de un repositorio git, un sandbox desechable, un proxy inverso sin estado cuya configuración vive en un control de versiones — para estos casos, las instantáneas cada hora incluidas con el plan son una respuesta completa y defendible, y la cantidad correcta de ingeniería de copias de seguridad es ninguna. Saber cuáles de tus servidores están en esa categoría vale más que hacerles a todos una copia de seguridad mal hecha.

Qué copiar — y el montón, mucho más grande, que deberías omitir

El instinto es crear una imagen de todo el disco, y en una máquina virtual alquilada ese instinto es erróneo. El sistema operativo es desechable: aquí una instancia nueva se aprovisiona en una mediana de cuarenta y un segundos, y reinstalar paquetes desde un espejo de la distribución es más rápido y más fiable que restaurarlos desde tu propia copia. Lo que no es desechable es un conjunto sorprendentemente pequeño, y la disciplina de nombrar ese conjunto de forma explícita es la mayor parte del trabajo — una copia de seguridad que puedes describir en un párrafo es una que puedes verificar, mientras que una imagen de disco completo es algo sobre lo que solo puedes tener esperanzas.

El conjunto insustituible normalmente son cuatro cosas. Primero, los datos de la aplicación: el maildir, el directorio de datos, el almacén de medios, la carpeta de subidas. Segundo, las bases de datos, que necesitan un tratamiento propio y tienen la siguiente sección dedicada. Tercero, los secretos — y esta es la categoría que la gente olvida hasta que le sale cara. Las claves privadas TLS y la clave de cuenta ACME, las claves de host SSH si prefieres no tener que volver a confiar en la huella digital en cada cliente, la clave de firma DKIM sin la cual tu correo empieza a fallar la autenticación, las claves privadas de WireGuard y, sobre todo, la clave privada del servicio onion, que es la dirección .onion: piérdela y la dirección desaparece para siempre, sin ningún registro en ningún sitio al que apelar. Cuarto, el puñado de archivos bajo /etc que de verdad modificaste, además de las unidades de systemd, las entradas de cron y el conjunto de reglas del cortafuegos que hacen que la máquina se comporte como lo hace.

El montón que hay que omitir es mucho más grande y, una vez dicho, casi obvio. Los pseudo-sistemas de archivos como /proc, /sys y /dev son vistas del kernel, no datos. Las cachés de paquetes, las imágenes de contenedores, los entornos virtuales y los directorios de dependencias se pueden volver a derivar en segundos a partir de un lockfile. Los registros que superan tu política de retención son ruido que deduplica mal e infla cada ejecución posterior. Y los grandes conjuntos de datos resincronizables — el estado de la blockchain, un espejo público, una biblioteca de medios que puedes volver a extraer — merecen una decisión explícita en lugar de una por defecto: hacer copia de seguridad de trescientos gigabytes de datos de cadena cuesta dinero real cada mes para evitar una resincronización que podrías ejecutar gratis mientras el servicio está degradado pero funcional.

La parte en la que casi todo el mundo invierte de menos es la respuesta a «¿restaurar hacia dónde?». Los datos sin un destino no son una recuperación. Si la forma en que se construyó tu servidor existe solo en tu memoria y en un historial de shell que ya has perdido, tu tiempo de recuperación no tiene límite, por muy bueno que sea el repositorio. La solución es barata y aburrida: guarda los pasos de aprovisionamiento como un script o un runbook en texto plano, ponlo dentro del repositorio de copias de seguridad para que se restaure junto con los datos, y actualízalo cada vez que cambies la máquina. Incluso un centenar de líneas de notas — paquetes, versiones, ubicaciones de los archivos de configuración, registros DNS, el orden en que deben arrancar los servicios — convierte una semana mala en una tarde mala.

Un matiz que merece la pena señalar para quienquiera que use cifrado de disco completo: la cabecera LUKS y sus ranuras de claves también forman parte de tu conjunto insustituible. Una cabecera corrupta convierte un disco perfectamente intacto en ruido aleatorio, la cabecera pesa unos pocos megabytes, y hacerle una copia de seguridad no cuesta nada. Guárdala con el mismo cuidado que la frase de contraseña — quien tenga ambas cosas tiene el disco.

Bases de datos: el archivo que copias no es la base de datos

Esta es, con diferencia, la forma más habitual en que una copia de seguridad por lo demás competente resulta ser inútil. Un motor de base de datos mantiene su estado en memoria, en un write-ahead log o redo log, y en archivos de datos que se están modificando continuamente. Copiar esos archivos mientras el motor está en marcha los captura en instantes distintos — la página cuatro de una tabla de antes de una transacción, la página cinco de después — y el resultado es un conjunto de archivos que, por separado, están intactos y que, en conjunto, son inconsistentes. Lo cruel es que ese tipo de copia normalmente se restaura. Arranca, responde a las consultas, y el daño sale a la luz semanas después en forma de un índice corrupto o una fila que viola una restricción que el motor juraba estar haciendo cumplir. Una copia de seguridad que falla de forma ruidosa es muchísimo mejor que una que falla en silencio.

El enfoque correcto depende del motor y está bien documentado en cada caso. Para MariaDB y MySQL, un volcado lógico realizado dentro de una única transacción coherente es adecuado para cualquier cosa hasta unas pocas decenas de gigabytes; a partir de ahí, Mariabackup realiza una copia física en caliente mientras el servidor está en marcha. Para PostgreSQL, pg_dump te da una instantánea lógica portable, y pg_basebackup combinado con write-ahead logs archivados te da recuperación a un punto en el tiempo — la capacidad de restaurar hasta las 14:32 en lugar de hasta el momento en que se ejecutó por casualidad el último volcado. Para SQLite, usa la copia de seguridad en línea integrada o VACUUM INTO; usar cp sobre un archivo de base de datos en marcha es exactamente el error descrito antes, y SQLite es el motor en el que la gente lo comete más a menudo porque parece un archivo normal.

La coherencia entre la base de datos y los archivos que describe es la segunda mitad del problema, y es la mitad que muerde específicamente al software de sincronización de archivos y a los foros. La base de datos dice que existe un archivo en una ruta; el sistema de archivos es donde viven los bytes; si vuelcas la base de datos a las 02:00 y copias el directorio de datos a las 02:40, todo lo creado en ese intervalo existe como bytes sin fila, o como fila sin bytes. Las aplicaciones que ofrecen un modo de mantenimiento — Nextcloud es el caso obvio — resuelven esto rechazando brevemente las escrituras mientras se capturan ambas cosas. Cuando eso no es aceptable, una instantánea del sistema de archivos o del volumen tomada en un único instante te da un par coherente del que copiar con calma, que es el mismo truco que usan las instantáneas cada hora.

Hay un pequeño detalle operativo que se rentabiliza de inmediato: escribe los volcados sin comprimir y deja que la herramienta de copia de seguridad se encargue de la compresión. Tanto restic como borg deduplican dividiendo los datos en chunks definidos por su contenido, así que dos volcados hechos con un día de diferencia comparten la inmensa mayoría de sus chunks, y el segundo cuesta casi nada almacenar. Si comprimes el volcado primero, un solo byte que cambie cerca del principio se propaga en cascada por todo el flujo comprimido, ningún chunk coincide con nada, y cada ejecución almacena una copia completa. Los equipos se encuentran habitualmente con que su repositorio crece el tamaño completo de la base de datos cada día por esta misma razón — la solución es eliminar una tubería de un script de shell.

Por último, decide de forma deliberada si necesitas recuperación a un punto en el tiempo, porque es la respuesta a un fallo que el volcado diario no puede resolver. Si alguien ejecuta una consulta destructiva a las 14:32 y lo descubres a las 17:00, restaurar el volcado de anoche te hace perder un día laboral entero. El archivado continuo, en cambio, reproduce el registro hasta las 14:31. Cuesta más almacenamiento y bastante más complejidad operativa, así que no es la opción por defecto — pero en cualquier caso en el que una persona con acceso de escritura pueda destruir datos más rápido de lo que puedes darte cuenta, es la diferencia entre un incidente y una catástrofe.

Cifra antes de que salga: restic, borg y la clave que no debes perder

La propiedad que hace posible todo lo demás en esta guía es el cifrado del lado del cliente: los datos se cifran en la máquina que los produjo, antes de que un solo byte cruce la red, usando una clave que el destino nunca llega a ver. Esa única decisión de diseño convierte el destino de la copia de seguridad en almacenamiento no confiable, y el almacenamiento no confiable puede estar en cualquier lugar — un servidor barato en otro país, un almacén de objetos, el NAS de un amigo — sin que ninguno de ellos esté en posición de leer tus datos. Los proveedores que cifran del lado del servidor te protegen de un conjunto de amenazas distinto y mucho más limitado, y la diferencia importa sobre todo precisamente en las situaciones para las que compras alojamiento offshore para sobrevivir.

Restic y Borg hacen esto correctamente, y la elección entre ambos es realmente reñida. Restic es un único binario estático sin dependencias, habla de forma nativa una larga lista de backends — SFTP, almacenamiento de objetos compatible con S3, rutas locales simples — y es el más fácil de los dos de ejecutar desde un contenedor o una imagen mínima. Borg es la herramienta más antigua y, en algunos aspectos, más quirúrgica, con opciones de compresión más potentes, un excelente soporte de append-only en el lado del servidor, y un formato de repositorio que a mucha gente le resulta más fácil de entender; requiere tener borg instalado en ambos extremos al pasar por SSH, una pequeña restricción que a veces termina siendo decisiva.

Propiedadresticborg
Cifrado en el clienteSiempre activoSiempre activo (repokey / keyfile)
DeduplicaciónFragmentación definida por contenido, entre hostsFragmentación definida por contenido, por repositorio
BackendsSFTP, S3, B2, Azure, local, RESTSSH con borg en el otro extremo, local
Instalación en el destinoNo necesaria para SFTPNecesaria
Cumplimiento de append-onlyrest-server --append-onlyborg serve --append-only
Explorar un snapshot como sistema de archivosrestic mountborg mount
Clientes concurrentes, un repositorioCompatibleUn escritor cada vez
Verificacióncheck --read-data-subsetcheck --verify-data

Elijas lo que elijas, la frase de contraseña lo es todo a partir de ahora, y merece el mismo trato que le darías a la semilla de un monedero. No debe vivir únicamente en la máquina que protege — una frase de contraseña guardada junto a los datos que cifra no te protege absolutamente de nada, porque cualquier escenario que se lleve el servidor se lleva la clave con él. Guárdala en un gestor de contraseñas en otro dispositivo, o en papel en otro edificio, e idealmente en ambos. Borg te permite exportar la clave del repositorio a un archivo aparte, restic permite que un repositorio tenga varias claves independientes, y cualquiera de los dos mecanismos te da una segunda vía de acceso que no depende de recordar una cadena de texto. No hay recuperación, ni enlace de restablecimiento, ni ticket de soporte que revierta esto: un repositorio cifrado sin su clave es indistinguible de datos aleatorios, que es precisamente el objetivo.

Merece la pena explicar con claridad por qué un simple rsync hacia otro servidor no es un sustituto, ya que es lo primero a lo que la gente recurre. Rsync produce un espejo, y un espejo no tiene historial: borra un archivo hoy y la ejecución de esta noche lo borrará fielmente también allí. No tiene deduplicación, así que conservar treinta días significa treinta copias, a menos que te las ingenies con enlaces duros. No tiene cifrado en reposo integrado, así que el destino lee todo lo que le envías. Y no tiene más verificación que releer el origen. Es un excelente transporte y una mala copia de seguridad, y la diferencia se nota el día que necesitas la versión de hace tres semanas.

Append-only, o es una copia y no una copia de seguridad

Este es el escenario que decide la arquitectura. Alguien consigue root en tu servidor — a través de una aplicación sin parchear, un token filtrado, una dependencia que se ha vuelto hostil. Ahora está dentro de una máquina que tiene credenciales válidas para su propio destino de copias de seguridad, porque así es como funcionan las copias de seguridad programadas. Todo lo que esa máquina puede borrar, esa persona puede borrarlo, y borrar las copias de seguridad no es un detalle secundario en una intrusión moderna, es el primer paso. Lo mismo se aplica sin que exista un adversario: un script bienintencionado con una variable mal puesta, ejecutado como root, es perfectamente capaz de podar un repositorio hasta dejarlo en nada.

El control que cierra esto es el cumplimiento de append-only en el lado receptor. Configurado así, el cliente puede crear nuevos snapshots y no puede eliminar ni reescribir los antiguos — la restricción la impone el proceso en el host de copias de seguridad, no la buena voluntad del cliente. Borg lo implementa con borg serve --append-only, anclado a la clave en el authorized_keys del destino, de modo que el cliente no puede pedir nada más. Restic tiene el mismo planteamiento a través de rest-server con --append-only. En almacenamiento de objetos, el equivalente es el versionado más una política de retención con object lock, que logra el mismo resultado por un mecanismo diferente.

Merece la pena dejar exactamente bien ajustada la configuración SSH que sostiene esto, porque es la línea estructural. En el authorized_keys del usuario de copias de seguridad, antepón a la clave del cliente un comando forzado y las restricciones que documenta el manual de sshd: command="borg serve --append-only --restrict-to-path /srv/backups/web01",restrict. Esa única línea significa que una clave robada al cliente no puede abrir una shell, no puede redirigir un puerto, no puede tocar el repositorio de otro host, y no puede borrar nada. Da a cada cliente su propia clave y su propia ruta.

Lo cual plantea la pregunta obvia: si el cliente nunca puede borrar, ¿qué elimina los snapshots antiguos? La poda ocurre en otro sitio, según un calendario, con una credencial que la máquina protegida nunca ha tenido. En la práctica eso significa que el host de copias de seguridad poda sus propios repositorios desde un cron local, o que una tercera máquina pequeña guarda la clave privilegiada y ejecuta la retención semanalmente. Borg tiene aquí una particularidad conocida — un repositorio append-only necesita que su compactación se ejecute en el lado del servidor y no por parte del cliente — y tratar al host de copias de seguridad como el propietario de la retención resuelve eso limpiamente. El principio se generaliza: la máquina que escribe las copias de seguridad nunca debería ser la máquina que puede destruirlas.

La retención en sí es una cuestión de política con una respuesta convencional que funciona: conserva los últimos diarios, cuatro o cinco semanales, y de seis a doce mensuales. Ambas herramientas expresan esto de forma declarativa, así que indicas la forma que quieres y dejas que la herramienta decida qué snapshots la cumplen. Los mensuales son los que detectan la corrupción lenta, y también son los primeros que la gente recorta cuando el repositorio crece — lo cual es exactamente al revés, ya que un mensual comprimido y deduplicado de un conjunto de datos que apenas cambia cuesta casi nada.

Adónde va la segunda copia cuando nadie puede identificarte

Lo de «fuera de sitio» carga con gran parte del peso en la regla 3-2-1, y en un proveedor sin KYC significa algo más concreto que «otro edificio». Significa una copia cuya supervivencia no depende de la misma empresa, la misma cuenta, la misma relación de pago ni la misma jurisdicción legal que el original. Dos servidores en una sola cuenta son dos servidores con un único destino, por muy separados que estén los centros de datos: una cuenta cerrada por cualquier motivo se lleva a ambos, y un requerimiento legal notificado a una entidad alcanza todo lo que esa entidad posee. La independencia es una propiedad de la relación, no solo de la geografía.

La versión práctica de esto es más fácil de lo que parece, porque el mismo panel ya ofrece cuatro jurisdicciones. Una instancia de producción en los Países Bajos con su repositorio enviado a un plan Starter en Islandia cuesta $8.50 al mes y pone tu recuperación fuera del alcance de cualquier proceso nacional aislado — y como las jurisdicciones difieren en lo que realmente resisten, la combinación merece un momento de reflexión y no un cara o cruz. Como el repositorio se cifra antes de salir del origen, el host de copias de seguridad no es de confianza por diseño: lo que compras con la segunda ubicación es disponibilidad y distancia legal, no confidencialidad. Confidencialidad ya la tienes.

Para una tercera copia genuinamente independiente, la arquitectura más sólida invierte el sentido de la conexión. En lugar de que el servidor envíe los datos a un destino para el que tiene credenciales, una máquina que tú controlas — un equipo en casa, un NAS, un portátil que se despierta según un horario — extrae los datos del servidor. La máquina de producción entonces no tiene ninguna credencial hacia ningún destino de copias de seguridad, lo que hace que el escenario de compromiso de la sección anterior sea estructuralmente imposible y no solo mitigado. Te cuesta tener una máquina que debe estar accesible o despierta según ese horario, razón por la cual complementa una copia fuera de sitio enviada de forma activa, en lugar de sustituirla.

UbicaciónCosteSobrevive a un compromiso del hostSobrevive a la pérdida de la cuentaNotas
Snapshots por horas, mismo planIncluidoNoNoReversión más rápida; ventana de siete días
Segunda instancia, segunda jurisdicciónDesde $8.50/mesSí, si es append-onlyNo — misma cuentaDistancia legal y física barata
Equipo dedicado, NVMe en espejoDesde $39.50/mesSí, si es append-onlyNo — misma cuentaForma adecuada a partir de varios cientos de gigabytes
Extracción desde hardware propioElectricidadSí, estructuralmenteEl servidor no guarda ninguna credencial
Almacenamiento de objetos de tercerosPor GBSí, con object lockNecesita su propia vía de pago anónima

Merece la pena exponer sin adornos dos limitaciones propias de este tipo de hosting. No existe recuperación de cuenta: ni documento de identidad que presentar, ni número de teléfono para recibir un código, ni representante que pueda confirmar que eres tú. Es la misma propiedad por la que pagas al registrarte, y se aplica simétricamente — lo que convierte a la frase de contraseña y al runbook en elementos estructurales de un modo en que sencillamente no lo son en un proveedor convencional. Y si hay que pagar por el destino de las copias de seguridad, también hay que pagarlo de forma anónima, o la segunda copia reintroduce silenciosamente el vínculo de identidad que la primera estaba diseñada para evitar. Pagar ambas máquinas desde el mismo monedero de criptomonedas no supone ningún problema; pagar la copia de seguridad con una tarjeta es una decisión, no un descuido.

El simulacro, y cómo te enteras de que ha dejado de funcionar

Los trabajos de copias de seguridad no suelen fallar de forma dramática. Fallan de forma gradual: un patrón de exclusión que se amplía durante una limpieza, una credencial rotada solo en un lado, un disco que se llena en el destino, una entrada de cron perdida en una actualización de la distribución. En todos esos casos la máquina sigue funcionando, no salta ninguna alerta, y el repositorio deja de crecer silenciosamente. El diseño que detecta esto no es «alertar ante el fallo» — un trabajo que ya no se ejecuta no puede informar de su propio fallo — sino alertar ante la ausencia de éxito. Haz que cada ejecución exitosa haga ping a un endpoint dead-man's-switch, y que ese endpoint dé la voz de alarma cuando el ping no llegue a tiempo. Son diez minutos de configuración, y es la diferencia entre darte cuenta en un día o darte cuenta durante una restauración.

La comprobación de integridad es la segunda mitad. Ambas herramientas pueden verificar que los metadatos del repositorio son coherentes, y, de forma más útil, que los fragmentos almacenados realmente se descifran y coinciden con sus hashes. Leerlo todo sale caro en ancho de banda, así que ambas ofrecen una forma parcial — restic comprueba un porcentaje de los datos en cada ejecución, borg verifica datos bajo demanda — y una cadencia razonable es una comprobación completa de metadatos semanal y una comprobación parcial de datos mensual, calculada de modo que se complete un pase entero a lo largo de un trimestre. El almacenamiento sí se degrada, y la razón de comprobarlo es enterarte mientras todavía tienes otra copia.

Nada de esto demuestra que puedas restaurar. Esa prueba tiene exactamente una fuente, que es restaurar de verdad. Despliega una instancia nueva — el plan más pequeño cuesta $8.50 y la destruirás en menos de una hora — restaura el repositorio en ella, y luego haz la parte que la gente se salta: arranca la aplicación y mira datos reales. Inicia sesión. Abre un documento del mes pasado. Envía un mensaje de prueba a través del servidor de correo. Consulta una tabla que debería tener las filas de ayer. Que los archivos existan no es la prueba; que el servicio funcione sobre ellos sí lo es. Haz esto la primera vez que configures la copia de seguridad, y luego con una periodicidad de calendario que realmente respetes, porque el simulacro también valida el runbook, y el runbook se queda desactualizado más rápido que los datos.

ComprobaciónCadenciaQué demuestra
Ping al dead-man's-switch tras cada ejecuciónCada ejecuciónEl trabajo sigue ejecutándose y sigue teniendo éxito
Comprobación de metadatos del repositorioSemanalEl índice y la estructura de snapshots son coherentes
Verificación parcial de datosMensualLos fragmentos almacenados se descifran y coinciden con sus hashes
Restaurar un archivo en la máquina en producciónMensualLas credenciales, la frase de contraseña y la ruta siguen funcionando
Restauración completa en un servidor desechableTrimestralLa aplicación realmente vuelve a funcionar
Releer el runbook durante la restauraciónTrimestralLas instrucciones coinciden con la máquina actual

El runbook merece su propio párrafo porque es lo más barato de toda esta lista y lo que más a menudo falta. Apunta, en orden: dónde vive el repositorio y cómo llegar hasta él, dónde se guarda la frase de contraseña, cómo aprovisionar una máquina de repuesto, qué paquetes y versiones instalar, qué restaurar y en qué orden, qué registros DNS cambiar, y cómo confirmar que ha funcionado. Guárdalo fuera de la máquina que describe — en el propio repositorio, en un gestor de contraseñas, en papel — y da por hecho que la persona que lo lea estará cansada, trabajando a una hora intempestiva, y puede que no seas tú. Esa última suposición es lo que convierte un conjunto de notas en algo que un compañero o un familiar puede ejecutar.

En conjunto, todo el diseño no tiene nada de extraordinario, y esa es su virtud: los snapshots por horas que tu plan ya incluye para los accidentes de los últimos días, un repositorio cifrado enviado cada noche a una segunda jurisdicción donde no se puede borrar, una frase de contraseña en algún lugar que el servidor nunca ha visto, un ping que se queja cuando el trabajo se queda callado, y un ensayo marcado en el calendario. Nada de esa lista es difícil, la mayor parte es cosa de una tarde, y el conjunto cuesta al mes menos que el café que comprarías mientras reconstruyes todo desde cero. Si estás montando esto ahora mismo, la segunda máquina tarda alrededor de un minuto en aprovisionarse — empieza por la restauración que nunca has probado, porque es la única parte de todo esto que te dice la verdad.

Respuestas rápidas

Preguntas frecuentes

¿Bastan por sí solos los snapshots por horas incluidos?
Para algunas máquinas, realmente sí — un proxy sin estado o un sandbox reconstruido a partir de un repositorio git no necesita nada más. Para cualquier cosa que contenga datos que no puedas regenerar, no, y la razón no es la calidad sino la independencia: los snapshots viven en la misma infraestructura que el volumen que copian, así que no sobreviven a una incautación, un cierre de cuenta o un fallo de la infraestructura, y su ventana de siete días ya habrá expirado para cuando te des cuenta de que un archivo se borró hace cinco semanas. Usa los dos. El snapshot se encarga de los últimos días a velocidad de treinta segundos; el repositorio fuera de sitio se encarga de todo aquello con lo que el snapshot comparte destino.
restic o borg — ¿cuál debería elegir en realidad?
Cualquiera de las dos es una respuesta correcta, y la diferencia no decidirá tu resultado. Elige restic si quieres un único binario estático sin nada instalado en el otro extremo, o si el destino es almacenamiento de objetos en lugar de un servidor. Elige borg si haces copias de seguridad hacia una máquina que controlas por SSH, quieres su modo de servidor append-only, o prefieres sus opciones de compresión. Lo que importa mucho más que la elección es que, elijas lo que elijas, esté programado, monitorizado, sea append-only en el lado receptor, y se haya restaurado al menos una vez — una herramienta mediocre usada correctamente supera a una excelente configurada con la esperanza de que funcione.
¿Con qué frecuencia deben ejecutarse las copias de seguridad?
Con la frecuencia que exija tu objetivo de punto de recuperación, y nada más. Apunta cuánto trabajo estás dispuesto a rehacer — si perder un día es aceptable, lo correcto es hacerlo cada noche y cada hora es esfuerzo desperdiciado; si los datos son correo o pagos que llegan de otras personas, una hora ya es demasiado tiempo. Es normal que una misma máquina tenga dos calendarios: una base de datos volcada cada quince minutos porque es pequeña y cambia constantemente, y un directorio de archivos multimedia capturado cada noche porque es grande y en su mayoría estático. La deduplicación hace que las ejecuciones frecuentes cuesten mucho menos de lo que la gente espera.
¿Puedo simplemente hacer rsync hacia otro servidor?
Puedes, y es mejor que nada, pero es un espejo y no una copia de seguridad. Rsync no tiene historial, así que un archivo borrado hoy queda borrado en el destino esta misma noche; no tiene deduplicación, así que conservar treinta días significa pagar por treinta copias; no tiene cifrado en reposo, así que el destino lee todo lo que le envías; y no tiene más verificación que comparar contra el origen. Todas esas carencias las cierran restic o borg con el mismo esfuerzo, y la diferencia se hace evidente el día que necesitas la versión del mes pasado de algo.
¿Cuánto disco necesita el repositorio de copias de seguridad?
Parte del tamaño de tu conjunto de datos irremplazable, no del tamaño del disco. Con deduplicación definida por contenido y compresión, un mes de snapshots diarios de un conjunto de datos que cambia en los márgenes suele quedar entre una vez y media y tres veces el tamaño actual de los datos — la primera ejecución cuesta el total completo, y cada una posterior almacena solo los fragmentos genuinamente nuevos. Las bases de datos volcadas sin comprimir deduplican extremadamente bien; las bibliotecas multimedia apenas deduplican, porque los archivos ya están comprimidos y nunca cambian. Dimensiona para dos o tres veces el origen y comprueba el crecimiento real después del primer mes.
¿Qué pasa si pierdo la frase de contraseña del repositorio?
Los datos han desaparecido. No hay enlace de restablecimiento, no hay custodia, no hay ticket de soporte ni proveedor alguno que pueda ayudar, porque el cifrado ocurrió en tu máquina con una clave que nadie más ha tenido nunca — que es exactamente la propiedad que hace seguro guardar el repositorio en hardware que no es tuyo. Trata la frase de contraseña como una frase semilla: guárdala en un gestor de contraseñas en otro dispositivo y en papel en otro edificio, y usa la exportación de clave de borg o una segunda clave de restic para que la recuperación no dependa de que sobreviva una única copia de una única cadena de texto.
Si el disco ya está cifrado, ¿sigo necesitando copias de seguridad cifradas?
Sí, porque defienden contra momentos distintos. El cifrado de disco completo protege una máquina apagada — un disco incautado o desechado no entrega nada. No protege nada mientras el sistema está en marcha y el volumen está desbloqueado, que es cuando tu trabajo de copias de seguridad lee los archivos. El cifrado del repositorio protege la copia en tránsito y en reposo en un hardware que opera otra persona, durante todo el tiempo que permanezca ahí. Usa los dos: el cifrado de disco para la máquina, el cifrado del repositorio para todo lo que sale de ella.
¿Cómo sé que mis copias de seguridad siguen funcionando?
No confíes en darte cuenta de un fallo, porque el fallo más habitual es un trabajo que ha dejado de ejecutarse y que, por tanto, no puede informar de nada. Haz que cada ejecución exitosa haga ping a un servicio dead-man's-switch, y que avise cuando el ping no llegue en el plazo previsto. Añade una comprobación semanal de consistencia del repositorio y una verificación parcial mensual que realmente descifre los datos almacenados. Después, restaura un archivo cada mes, y todo el conjunto en un servidor desechable cada trimestre. La monitorización te dice que el trabajo se ejecutó; solo la restauración te dice que ha funcionado.
¿Debería vivir la copia de seguridad en un país diferente?
Debería vivir fuera del alcance de cualquier cosa que pudiera llevarse el original, y la jurisdicción es una de las formas más limpias de conseguir eso, junto con un proveedor diferente o hardware que sea tuyo. Como el repositorio se cifra antes de salir de la máquina de origen, el destino nunca lee tus datos, así que lo que compra un segundo país es disponibilidad y distancia legal, no privacidad. Combinar producción en una de nuestras cuatro ubicaciones con una pequeña instancia en otra cuesta $8.50 al mes, y si hay que pagar por el destino de las copias de seguridad, hazlo de la misma forma anónima con la que pagaste la primera máquina.
Aplicar esto

Cargas de trabajo a las que aplica esta guía

Cada tarjeta abre una página específica por carga de trabajo con recomendaciones de dimensionamiento y un FAQ para sysadmins.

Seguir leyendo

Otras guías

Lecturas complementarias que retoman donde esta termina.

Checklist de seguridad Checklist de bastionado VPS: los primeros quince minutos en un servidor nuevo

Checklist de bastionado VPS: los primeros quince minutos en un servidor nuevo

Los ocho cambios que de verdad reducen el riesgo de un VPS nuevo, en el orden correcto — y por qué es más probable que te bloquees tú mismo que sufrir una intrusión.

16 min de lectura Leer guía
Guía de migración Migrar a un VPS nuevo sin tiempo de inactividad: el corte, el DNS y la reversión

Migrar a un VPS nuevo sin tiempo de inactividad: el corte, el DNS y la reversión

Migra un servidor en marcha a un VPS nuevo en segundos de tiempo de inactividad, no un fin de semana — más la vía de emergencia si tu proveedor ya te cortó el acceso.

21 min de lectura Leer guía
Tutorial de bastionado Cifrado de disco completo en un VPS: LUKS, desbloqueo remoto y qué recupera realmente una incautación

Cifrado de disco completo en un VPS: LUKS, desbloqueo remoto y qué recupera realmente una incautación

Cifrar el disco de un servidor alquilado vale la pena y no hace lo que la mayoría cree que hace. Dónde cae la línea entre una máquina apagada y una en marcha, cómo instalar una raíz cifrada y desbloquearla por SSH, y qué revela realmente un disco clonado.

14 min de lectura Leer guía
Guía de autoalojamiento Nextcloud autoalojado en un VPS: sustituir Google Drive por un servidor que controlas tú

Nextcloud autoalojado en un VPS: sustituir Google Drive por un servidor que controlas tú

Lo que cuesta realmente llevar tu propia sincronización y uso compartido de archivos — cómo dimensionar el disco y la base de datos antes de comprometerte con ninguno de los dos, las cuatro opciones que convierten una instalación por defecto lenta en algo que se siente como un producto, qué protege realmente cada una de las tres cosas llamadas «cifrado», y la restauración que tienes que ensayar antes de necesitarla.

19 min de lectura Leer guía
Ayuda para la decisión Elegir una jurisdicción: Islandia, Países Bajos, Rumanía, Suiza

Elegir una jurisdicción: Islandia, Países Bajos, Rumanía, Suiza

Una comparación directa de nuestras cuatro ubicaciones offshore en las dimensiones que realmente importan — tolerancia al DMCA, ley de retención de datos, alcance de peering, latencia y precio.

8 min de lectura Leer guía

¿Ya leíste suficiente? Despliega en 60 segundos

Sin verificación de correo, sin ID, sin cuenta. Elige un plan, paga en cualquier criptomoneda, obtén root.