Ir al contenidoIr a la navegación de la página: página anterior [tecla de acceso p]/página siguiente [tecla de acceso n]
documentation.suse.com / Conceptos básicos de Snapper

Conceptos básicos de Snapper

Fecha de publicación: 20 Mar 2025
DESCRIPCIÓN

En este artículo se describen los conceptos básicos de la herramienta Snapper, que se usa para crear y gestionar instantáneas del sistema de archivos Btrfs.

INTENCIÓN

Este artículo proporciona una descripción básica de Snapper, sus interfaces compatibles y sus objetivos principales. También habla sobre los ajustes por defecto para las instantáneas en SUSE Linux Micro.

ESFUERZO

Comprender qué es Snapper y aprender su configuración por defecto lleva unos 20 minutos.

REQUISITOS
  • Privilegios de root o sudo

  • Snapper debe estar instalado. Está disponible en SUSE Linux Micro por defecto.

  • Un tamaño de partición raíz (/) de al menos 16 GB. El tamaño de la partición raíz depende del producto. Se recomienda encarecidamente que tenga 50 GB o más.

Nota
Nota

Este artículo es la primera entrega de la serie de artículos sobre Snapper. En los artículos siguientes, trataremos casos de uso habituales, por ejemplo cómo deshacer cambios, volver a una versión anterior del sistema, crear y gestionar instantáneas manualmente, limpiar instantáneas automáticamente, etc. Cada artículo se basa en el conocimiento adquirido de los anteriores, lo que proporciona una comprensión cada vez mayor de la herramienta Snapper.

1 Conceptos esenciales de los subvolúmenes y las instantáneas de Btrfs

Los subvolúmenes Btrfs son sistemas de archivos que se pueden montar por separado dentro de una partición física. El sistema de archivos Btrfs está configurado con subvolúmenes por defecto. Las instantáneas de Btrfs son un tipo de subvolumen que comparte datos con otro subvolumen. Se crean utilizando las capacidades de copia en escritura de Btrfs, lo que permite crearlas rápidamente con un uso mínimo de espacio en disco. Las instantáneas se pueden utilizar para capturar el estado de un sistema de archivos en un momento determinado y para volver a un estado anterior si es necesario.

Un subvolumen Btrfs tiene su propia jerarquía independiente de archivos y directorios. A diferencia de los volúmenes lógicos LVM, que funcionan en el nivel de bloques, los subvolúmenes Btrfs se basan en extensiones de archivos. Una instantánea también se considera un subvolumen que incluye el contenido inicial del subvolumen original. Los subvolúmenes aparecen como directorios y se pueden manipular como cualquier otro directorio, por ejemplo, se les puede cambiar el nombre o trasladarlos.

Uno de los objetivos principales de los subvolúmenes es que se incluyan o excluyan explícitamente de las instantáneas. Cuando se utiliza una instantánea para revertir el sistema a un estado anterior, debemos asegurarnos de que los datos como los directorios personales de los usuarios, el contenido del servidor Web y FTP o los archivos de registro no se pierdan ni se sobrescriban durante una reversión. Esto se consigue excluyendo determinados subvolúmenes Btrfs de las instantáneas. Encontrará más información y la lista de subvolúmenes excluidos en la Sección 3.3, “Subvolúmenes excluidos de las instantáneas”.

2 ¿Qué es Snapper?

Snapper es una herramienta que ayuda a crear y gestionar instantáneas del sistema de archivos. Las instantáneas del sistema de archivos permiten conservar una copia del estado de un sistema de archivos en un momento determinado. Snapper puede crear y comparar instantáneas, revertir de un instantánea a otra y admite cronologías automáticas de instantáneas. Snapper nunca modifica el contenido de las instantáneas.

La configuración estándar de Snapper está diseñada para permitir deshacer los cambios del sistema. Sin embargo, también puede utilizarse para crear copias de seguridad en disco de los datos del usuario. Como base para esta funcionalidad, Snapper utiliza dos tipos de sistemas de archivos:

  • Btrfs, un sistema de archivos de copia en escritura para Linux que admite de forma nativa instantáneas del sistema de archivos de subvolúmenes.

  • Volúmenes LVM de provisión ligera formateados con XFS.

Nota
Nota

También puede arrancar desde instantáneas Btrfs.

2.1 ¿Qué puede hacer Snapper?

Snapper tiene una interfaz de línea de comandos y una interfaz de YaST. Tanto la interfaz de línea de comandos como la de YaST se pueden utilizar indistintamente, lo que permite crear, suprimir y comparar instantáneas, así como deshacer los cambios realizados entre ellas.

Con Snapper, puede realizar las siguientes tareas:

  • Deshacer los cambios del sistema realizados por zypper y YaST.

  • Restaurar archivos desde instantáneas anteriores.

  • Realizar una reversión del sistema arrancando desde una instantánea.

  • Crear y gestionar manualmente instantáneas en el sistema en ejecución.

  • Realizar una limpieza automática de instantáneas.

2.2 Creación de instantáneas

Cuando se crea una instantánea, tanto la instantánea como el sistema original apuntan a los mismos bloques del sistema de archivos. Por lo tanto, inicialmente una instantánea no ocupa espacio adicional en el disco. Si se modifican los datos del sistema de archivos original, los bloques de datos modificados se copian, mientras que los bloques de datos antiguos se conservan para la instantánea. Por lo tanto, una instantánea ocupa tanto espacio como los datos modificados. Con el tiempo, la cantidad de espacio que se le asigna a una instantánea va aumentando. Como consecuencia, es posible que suprimir archivos de un sistema de archivos Btrfs que contiene instantáneas no libere espacio en disco.

Nota
Nota: ubicación de la instantánea

Las instantáneas siempre residen en la misma partición o subvolumen en el que se han tomado. No es posible almacenar instantáneas en una partición o subvolumen diferente.

Como resultado, las particiones que contienen instantáneas deben ser más grandes que las que no las contienen. La cantidad exacta depende en gran medida del número de instantáneas que conserve y de la cantidad de modificaciones de datos. Como regla general, asigne a las particiones el doble de espacio del habitual. Para evitar que los discos se queden sin espacio, las instantáneas antiguas se van borrando automáticamente.

3 Configuración por defecto de Snapper

Obtenga más información sobre la configuración por defecto de Snapper y sus ajustes por defecto.

Snapper se configura como una herramienta para deshacer y recuperar cambios en el sistema. Por defecto, la partición raíz (/) de SUSE Linux Micro tiene el formato Btrfs. Si la partición raíz (/) es lo suficientemente grande (más de 16 GB aproximadamente), la toma de instantáneas se habilita automáticamente. Por defecto, las instantáneas están inhabilitadas en las particiones que no sean /.

Importante
Importante

No se recomienda activar las instantáneas manualmente después de que el sistema se haya instalado con instantáneas. Si se habilita Snapper después de la instalación, se producirá una configuración diferente a la que se describe aquí.

Sugerencia
Sugerencia: comprobación del tamaño de la partición raíz

El tamaño de la partición raíz es específico del producto. Para averiguar el espacio en disco que ocupa la partición raíz, ejecute:

        > 
        df -h

3.1 Ajustes por defecto de Snapper

Las instantáneas se crean solo para la partición raíz y algunos directorios se excluyen mediante subvolúmenes. Para obtener la lista de subvolúmenes excluidos, consulte la Sección 3.3, “Subvolúmenes excluidos de las instantáneas”.

Snapper proporciona algoritmos de limpieza automática de instantáneas para evitar quedarse sin espacio en la partición raíz. Estos algoritmos diferencian entre instantáneas de cronología e instantáneas numeradas (pares de instantáneas de administración y de instalación). El comportamiento de limpieza se puede configurar según los siguientes criterios:

  • Límite de número: el sistema se puede configurar para que elimine automáticamente las instantáneas antiguas cuando se alcance un número determinado de instantáneas.

  • Límite de antigüedad: las instantáneas antiguas se pueden suprimir si superan una determinada antigüedad, al tiempo que se conserva un número de instantáneas para cada período de tiempo (cada hora, día, mes o año).

  • Pares de instantáneas Pre y post: los pares de instantáneas pre y post que no tengan diferencias se pueden suprimir automáticamente.

Para las instantáneas numeradas, que incluyen pares de instantáneas de administración e instalación, la limpieza se controla mediante parámetros como NUMBER_CLEANUP, NUMBER_LIMIT, NUMBER_LIMIT_IMPORTANT y NUMBER_MIN_AGE. Los valores por defecto son 2–10 para NUMBER_LIMIT y 4–10 para NUMBER_LIMIT_IMPORTANT, lo que significa que solo se conservan las instantáneas más recientes.

Para las instantáneas de cronología, la limpieza se basa en el número de instantáneas que se deben conservar para cada tipo (por hora, día, semana, mes o año). Por ejemplo, las últimas 24 instantáneas horarias, la primera instantánea diaria de los últimos siete días, la primera instantánea realizada el último día del mes durante los últimos doce meses, etc. Los parámetros incluyen TIMELINE_CLEANUP, TIMELINE_MIN_AGE y parámetros de intervalo como TIMELINE_LIMIT_DAILY, TIMELINE_LIMIT_HOURLY, etc.

Puede revertir a una instantánea existente en cualquier momento arrancando desde la instantánea correspondiente y activándola posteriormente.

Nota
Nota: inhabilitación automática y manual de Snapper

Si la partición raíz tiene menos de 16 GB, la creación automática de instantáneas como se describe anteriormente está inhabilitada por defecto. En tal caso, puede crear instantáneas manualmente. Controle el espacio disponible en disco.

Para inhabilitar las instantáneas automáticas incluso si la partición raíz tiene el tamaño suficiente, inhabilite las instantáneas manualmente durante la instalación en el paso de configuración de la partición.

3.2 Snapper en la raíz

Si Snapper está configurado para funcionar en la raíz, todos los subvolúmenes Btrfs se excluyen por defecto.

El comportamiento por defecto de Snapper se define en un archivo de configuración específico para cada partición o subvolumen Btrfs. Estos archivos de configuración se encuentran en /etc/snapper/configs/.

3.3 Subvolúmenes excluidos de las instantáneas

El caso de uso principal de las instantáneas es revertir el sistema a un estado anterior. Por lo tanto, hay ciertos subvolúmenes (directorios) para los que la instantánea está inhabilitada.

La siguiente lista contiene directorios que se excluyen de las instantáneas. Según el producto y la arquitectura, es posible que no todos estén disponibles en el sistema.

/boot/grub2/i386-pc, /boot/grub2/x86_64-efi, /boot/grub2/powerpc-ieee1275, /boot/grub2/s390x-emu

No se admite la reversión de la configuración del cargador de arranque. Los directorios mostrados anteriormente son específicos de la arquitectura. Los dos primeros directorios están presentes en equipos AMD64/Intel 64, los dos últimos en IBM POWER y en IBM Z, respectivamente.

/home

Si /home no se encuentra en una partición independiente, se excluye para evitar la pérdida de datos creados por el usuario cuando se produce una reversión.

/opt, /usr/local

Estos directorios se utilizan al instalar manualmente productos de otros fabricantes. Se excluye para evitar la desinstalación de estas instalaciones cuando se produce una reversión.

/srv

Contiene datos de los servidores Web y FTP. Se excluye para evitar la pérdida de datos cuando se produce una reversión.

/tmp

Todos los directorios que contienen archivos temporales y cachés se excluyen de las instantáneas.

/var

Este directorio incluye muchos archivos de variable en /var/opt, incluidos registros, cachés temporales y productos de otros fabricantes, y es la ubicación por defecto de las imágenes y las bases de datos de la máquina virtual. Por lo tanto, este subvolumen se crea para excluir todos estos datos de variable de las instantáneas y tiene inhabilitada la copia de escritura.

/run

Este directorio contiene datos de tiempo de ejecución de la aplicación y se excluye de las instantáneas para reducir el tamaño de la instantánea y evitar incluir información potencialmente confidencial.

Sugerencia
Sugerencia

La lista de subvolúmenes es específica del producto. Para ver qué subvolúmenes se crean en / y, por lo tanto, ver qué directorios se excluyen del comportamiento de instantáneas por defecto, ejecute:

> sudo btrfs subvolume list /
Nota
Nota: ¿por qué hay un límite de espacio?

Al crear una instantánea, no se crean copias de datos físicos. Una instantánea solo consta de punteros a los bloques de datos respectivos. Siempre que la instantánea sea coherente con el sistema actual, casi no ocupará espacio de disco adicional (aparte de los metadatos que contiene). Sin embargo, si se modifica un archivo en el sistema, los datos modificados se registran en la instantánea. Con el tiempo, a medida que se acumulen más cambios y la instantánea difiera del sistema activo, el tamaño de la instantánea aumentará en consecuencia.

Para evitar que los discos se llenen (y que el sistema deje de funcionar), se recomienda tener un tamaño mínimo del sistema de archivos raíz. El tamaño requerido depende del uso del sistema:

  • La frecuencia de creación de instantáneas

  • La duración durante la cual se conservan las instantáneas

  • La tasa de cambios en el sistema

En general, cuantas más instantáneas tenga, más tiempo se conservarán y, cuanto más frecuentemente cambie el sistema, más grande deberá ser la partición raíz.

4 Información adicional

Para obtener más información sobre el sistema de archivos Btrfs, consulte https://documentation.suse.com/sles/15-SP5/html/SLES-all/cha-filesystems.html#sec-filesystems-major-btrfs y https://wiki.archlinux.org/title/btrfs.

Para obtener más información sobre los volúmenes LVM, consulte https://documentation.suse.com/sles/15-SP5/html/SLES-all/part-lvm.html.