¿Qué sistemas de archivos ofrecen funcionalidad de instantánea para que los usuarios recuperen datos?

8

Estoy trabajando en un proyecto que enseñará Linux a los jóvenes. Sabiendo que tendrán una tendencia a eliminar o corromper elementos en sus directorios de inicio, estamos buscando una buena opción de instantánea. No tendremos acceso a herramientas sofisticadas disponibles de los principales proveedores de almacenamiento y esperamos encontrar una solución a nivel de sistema de archivos.

He leído mucho sobre btrfs pero tengo poca experiencia. Tengo cierta experiencia con LVM pero no estoy familiarizado con su función de captura de imágenes. ¿El sistema de archivos u otro tiene la opción de crear instantáneas a pedido o programadas? Entonces, ¿estas instantáneas siempre están disponibles sin root en una carpeta .snapshot en cada carpeta de inicio?

Idealmente, esta solución le permite al usuario restaurar las copias de seguridad a pedido dentro de un intervalo de 24 a 48 horas. Tendremos otro proceso de respaldo para el sistema y más respaldos globales. Pero no queremos que este proceso sea utilizado por estudiantes que simplemente cometen "errores".

Carrera gris
fuente
LVM crea una instantánea del dispositivo de bloque. El sistema de archivos (la mayoría de los modernos) en la partición se está synceditando justo antes de crear la instantánea. Para recuperar algunos datos de la instantánea, debe montarla. Pero tenga en cuenta que cualquier instantánea tiene tamaño. El espacio se utiliza para almacenar diferencias entre el estado de la instantánea y el estado actual, por eso no es una buena idea almacenar la instantánea como copia de seguridad.
HUB
@Hub Gracias por los comentarios. Quizás 'respaldo' es la palabra incorrecta. Como esto no será una forma principal de copia de seguridad o almacenamiento. Reconocemos que se necesitará espacio para las diferencias o cualquier técnica que utilice el sistema de archivos / administrador de volumen. Sin embargo, el objetivo es proporcionar una instantánea temporal para que los estudiantes que cometen errores puedan revertir y recuperar rápidamente la información previa. No harán las mejores prácticas para guardar sus propias copias de seguridad antes de hacer cambios a pesar de nuestra capacitación y, por lo tanto, quieren ayudarlos a superar esto.
Grey Race
1
No tengo experiencia de este tipo, pero creo que necesita algo como esto: en.wikipedia.org/wiki/Versioning_file_system LVM no es adecuado porque tendrá que montar y copiar cada archivo (o realizar un seguimiento de los archivos modificados) restaurar. LVM no tiene "restauración" interna.
HUB

Respuestas:

6

En Linux, btrfs es su opción principal para las instantáneas dentro de un sistema de archivos, pero aún no es estable, aunque tiene algunas herramientas fsck y de reparación .

ZFS es otra opción, de Solaris. Si bien, en teoría, podría usar esto en Linux, se implementa principalmente en el país de usuario solo (aunque hay algo de trabajo en una implementación basada en el kernel) y no en las distribuciones estándar de Linux.

Esta respuesta LVM tiene algunos detalles sobre las ventajas y desventajas del uso de instantáneas LVM y algunos enlaces btrfs / ZFS. Con algunos sistemas de archivos (ext3 y XFS), LVM se encargará de congelar el FS antes de tomar la instantánea, pero las instantáneas de LVM pueden tener problemas de rendimiento y aún tener algunos errores.

No creo que LVM sea una gran solución para su aplicación 'instantánea rápida de datos de usuario', y btrfs / ZFS aún no son adecuados [a partir de 2011].

En cambio, es posible que desee ver rsnapshot , que es una herramienta de espacio de usuario que crea instantáneas de manera eficiente usando cualquier sistema de archivos, sin usar LVM. Debido a que utiliza rsync y almacena las instantáneas en directorios sucesivos, utilizando enlaces duros entre diferentes instantáneas si un archivo no ha cambiado, puede ejecutarse sorprendentemente rápido incluso en conjuntos de archivos razonablemente grandes. Se usa mucho para las copias de seguridad, pero también se puede usar para este tipo de requisito de instantánea de datos de usuario, y con una pequeña configuración puede permitir que cualquiera pueda restaurar sus archivos instantáneos, utilizando NFS o Samba de solo lectura; consulte esta sección CÓMO en la restauración de archivos . Los archivos se pueden restaurar con herramientas estándar de Linux, ya que rsnapshot refleja el directorio de origen en cada directorio de instantáneas.

rsnapshot es bastante flexible usando sus características estándar, y dado que está escrito en Perl, es bastante fácil personalizarlo, por ejemplo, si desea proporcionar instantáneas a pedido. Los principales inconvenientes en comparación con las instantáneas del sistema de archivos son la velocidad y el espacio en disco: cada archivo que cambia da como resultado una nueva copia en la instantánea, mientras que las instantáneas del sistema de archivos solo copian nuevos bloques en el archivo.

RichVel
fuente
Muchas gracias por el seguimiento. Voy a mirar más de cerca a rsnapshot el lunes.
Carrera gris el
2

Acabo de ver ESTA página en wikipedia, hay una columna de capacidades de instantáneas, solo quería que la gente supiera esto en el futuro.

Chopper3
fuente
1

No debe usar instantáneas LVM para este propósito porque imponen una gran penalización de rendimiento (especialmente si tiene múltiples instantáneas "rodantes" activas al mismo tiempo). Desafortunadamente, Linux simplemente no tiene ningún sistema de archivos maduro con soporte para instantáneas.

Por lo tanto, recomiendo usar FreeBSD en su servidor de archivos. El formato predeterminado del sistema de archivos UFS2 admite instantáneas. FreeBSD también incluye la implementación adecuada de ZFS (a diferencia del feo kludge que se encuentra en Linux) con instantáneas y muchas otras características muy avanzadas. Cuando se combina con una herramienta simple como esta , es bastante similar a lo que ofrecen los proveedores de almacenamiento de alta gama como NetApp.

Si tiene un servidor dedicado para funcionar como un servidor de archivos, es posible que desee ver FreeNAS que empaqueta FreeBSD y ZFS en un sistema similar a un dispositivo.

chasquido
fuente
1
Buen punto, y claramente UFS2 o ZFS son utilizables en FreeBSD mientras que no lo son (ZFS) en Linux. Sin embargo, la pregunta original menciona 'enseñar Linux a los jóvenes', por lo que se requeriría un NAS FreeBSD separado. Además, no sé si los snapshotcomandos vinculados de FreeBSD pueden ser utilizados por usuarios no root. Dado que los estudiantes aprenderían Linux, es mejor si las instantáneas pueden ser creadas y utilizadas por usuarios no root. rsnapshothace que esto sea razonablemente sencillo y, con un poco de trabajo de configuración, cada usuario podría tener su propio árbol de instantáneas propio.
RichVel
Supongo que el joven no tiene acceso al servidor de archivos, sino que está montado con NFS o similar a las estaciones de trabajo Linux donde aprenden Linux. No necesitan saber sobre la arquitectura del servidor de archivos. La snapshotutilidad vinculada tiene la funcionalidad que permite que las instantáneas estén disponibles para los usuarios, casi lo mismo que en NetApp. No es necesario ejecutar rsnapshotpara crear manualmente imitaciones de instantáneas cuando puede utilizar un mejor sistema operativo (para este propósito) que implementa instantáneas en el código del sistema de archivos. Las instantáneas adecuadas son atómicas.
snap
Esta es una opción viable a considerar. Me preocupa el sistema de archivos y la sobrecarga de red con NFS. Como parte del 'aprendizaje de Linux', los estudiantes compilarán código, ejecutarán bases de datos y otros procesos intensivos de E / S. Harán todo este trabajo en sus directorios personales. Si esto está conectado en red a través de NFS, estoy preocupado por una penalización de rendimiento. Esto es especialmente preocupante en un sistema homebrew ya que nuestro NAS de producción no está disponible por varias razones políticas. La funcionalidad de la instantánea es secundaria al rendimiento base, ya que tenemos un sistema de respaldo global pero queremos instantáneas de autoservicio.
Grey Race
Las bases de datos sobre NFS suenan un poco complicadas, aunque aparentemente puede funcionar si la carga no es demasiado alta y utiliza una versión reciente de DBMS: serverfault.com/questions/30525/mysql-5-1-34-on-nfs-w- NetApp . También tendría que ejecutar FreeBSD y Linux en su laboratorio, lo que podría ser bueno si tiene la ayuda de los estudiantes más capaces (algo nuevo para aprender) o malo si lo hace todo usted mismo y tiene poco tiempo.
RichVel
Con respecto a la afirmación "feo kludge encontrado en Linux", supongo que se refiere a zfs-fuse.net (que de hecho suena como una forma subóptima de implementarlo). Sin embargo, tenga en cuenta que ZFS también está disponible en una implementación "normal", zfsonlinux.org (aunque no se incluye directamente en el núcleo debido a problemas de licencia).
hlovdal