Instantáneas de LVM frente a instantáneas del sistema de archivos

32

Hasta donde yo sé, LVM hace posible tomar instantáneas de un volumen. También hay una serie de sistemas de archivos (ZFS, Btrfs, reiserfs, ...) que admiten instantáneas.

Sin embargo, nunca he entendido la diferencia entre las instantáneas LVM y las instantáneas del sistema de archivos. Si es posible tomar instantáneas con LVM, ¿por qué alguien se toma su tiempo para implementarlo en un sistema de archivos?

Editar: ¿Alguno de ellos es preferido en algunas situaciones? ¿Por qué?

nip3o
fuente

Respuestas:

25

La mayoría de estas instantáneas son instantáneas de copia en escritura, que son realmente rápidas y realmente baratas (en cuanto al almacenamiento) en sistemas raramente actualizados. Las instantáneas LVM son instantáneas COW, ZFS / BTRFS tienen un modo COW para instantáneas, reiserfs no tiene instantáneas de forma nativa, el sistema de archivos NSS de Novell también es COW, al igual que los volúmenes de instantáneas para volúmenes NTFS de Windows.

Las instantáneas de copia en escritura toman una copia de los metadatos del volumen de destino en el grupo de instantáneas. Luego, dependiendo del modo de VACA que estén usando, copian datos que serían sobrescritos por nuevas escrituras en el grupo de instantáneas antes de escribir los nuevos datos.

ZFS y (eventualmente, si aún no están allí) BTRFS tienen capacidades de instantáneas completas, lo que es útil para encajar en medios separados, lo que a su vez es muy útil para los sistemas de respaldo de sneakernet que usan medios extraíbles. Sin embargo, ZFS no llama a esto una "instantánea", sino que aprovecha la capacidad de ZFS para usar zfs sendy zfs recvcopiar volúmenes e instantáneas a través de la red a un host remoto (o matriz local).

Prefiero las capacidades de instantáneas a nivel de sistema de archivos en lugar de las de LVM porque confío mejor en el sistema de archivos para manejar el proceso de manera limpia. Sin embargo, en la falta de soporte directo del sistema de archivos, LVM debería funcionar bien en la mayoría de los casos.

Las instantáneas de COW son buenas si necesita una copia de seguridad de un punto en el tiempo tomada muy rápido para las necesidades de recuperación a corto plazo. Como hacer un complemento diario, o 4 veces al día, se guardará durante una semana. Esto es útil si necesita recuperar archivos que los usuarios eliminan accidentalmente, o si necesita revertir un sistema completo a una configuración previa a la actualización. Algunos sistemas de copia de seguridad también pueden usarlos como un sistema de archivos totalmente inactivo, por lo que las copias de seguridad tomadas del volumen de la instantánea no tienen que preocuparse de que los archivos abiertos se interpongan. La clave para recordar es que los volúmenes de instantáneas estarán en el mismo almacenamiento que el volumen principal, por lo que no le da nada en caso de falla de la matriz.

Las instantáneas COMPLETAS son buenas si se toman en algún medio remoto o extraíble. Si tiene almacenamiento en red, el objetivo podría ser una matriz iSCSI o Fibre Channel diferente a la que está alojado el almacenamiento primario. Esto le brinda cierta protección fuera de la matriz para algunos tipos de fallas. Si usa medios extraíbles, como una unidad ESATA de 3 TB, incluso puede usarlo como un simple sistema de copia de seguridad en disco. Estas instantáneas PUEDEN estar en un hardware diferente al de sus hermanos COW, por lo que son útiles para la resistencia ante desastres.


En instantáneas Full vs COW.

El término 'instantánea' ha cambiado un poco a lo largo de los años. Este año, estoy bastante seguro de que significa "una copia de copia en escritura de los datos originales utilizando la reubicación en bloque". Según esta definición, la instantánea "completa" presentada anteriormente no es en realidad una instantánea, es una replicación. Algunos proveedores de almacenamiento han utilizado diferentes definiciones de 'instantánea' en el pasado para describir varias operaciones a nivel de bloque que realizan. Donde se vuelve confuso son los sistemas que usan instantáneas como parte del proceso de replicación.

sysadmin1138
fuente
«Una instantánea de nivel de sistema de archivos es preferible a una a través de LVM por el simple hecho de que el sistema de archivos sabe cómo mantenerse coherente durante el proceso de instantánea, donde LVM puede '», en realidad, resultó ser cierto. Compruébalo: serverfault.com/questions/300961/…
poige
1
«ZFS y (eventualmente, si no está allí) BTRFS tienen capacidades de instantánea completa» - Debe explicar lo que quiere decir con instantáneas "completas". AFAIK, no hay una opción "COW / full" para instantáneas con ZFS. Todas las instantáneas son COW pero, sin embargo, se pueden guardar más tarde en un medio separado como un sistema de archivos completo o volumen.
jlliagre
5

LVM requiere planificación previa. Tiendo a no usarlo porque también es otra capa de abstracción y rara vez está disponible cuando lo necesito. Sin embargo, hay otras opciones para clonar a nivel de sistema de archivos (en Linux) sin LVM. Puede utilizar Hot Copy de R1Soft para hacer esto. Es un módulo del núcleo, pero le permite agregar esta capacidad sobre la marcha.

ewwhite
fuente
3

Problema muy claro: no se garantiza que las instantáneas de LVM tengan un FS constante debido a que LVM "no sabe" nada sobre FS con el que se está cargando

Editado (vea los comentarios): - verdadero a menos que el FS tenga soporte para .freeze_fs, de lo contrario, FS debe manejarlo con gracia.

poige
fuente
2
Falso; LVM impulsa el sistema de archivos para que se sincronice antes de tomar la instantánea.
womble
1
@womble: incluso después sync, la instantánea es un duplicado exacto de un sistema de archivos ya montado; así que cuando lo montas, aparece como 'no desmontado limpiamente' (porque no estaba desmontado), y tienes que hacer alguna acción correctiva antes de que sea consistente. Por supuesto, eso suele ser solo una repetición de un diario y después de syncesto, debería ser una repetición vacía; así que no hay peligro de pérdida de datos.
Javier
1
@womble, 1) La sincronización no es suficiente , ya que habría una ventana para nuevas solicitudes de E / S justo entre la sincronización y el manejo de la instantánea de LVM. Requiere una especie de bloqueo. 2) XFS tiene una característica especial llamada "congelar" ( xfs_freeze is intended to be used with volume managers and hardware RAID devices that support the creation of snapshots.): algo especial para las instantáneas, ¿LVM-2 lo sabe y ya lo usa? 3) Dime dónde, ya sea en el espacio de usuario ( sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2 ) o en las fuentes del kernel, puedo demostrar que tienes razón al decirnos que LVM impulsa FS a sincronizar
Poige
9
ok, he hecho mi tarea y ahora puedo responder a la tercera parte de mi pregunta; en realidad, LVM usa el freeze_bdev () del kernel que, como se dice en su título, es para lock a filesystem and force it into a consistent state. Entonces, al menos puedo decir que probablemente me equivoqué al decir "no se garantiza que tenga un FS consistente", ya que es cuestión de soporte 'método' de freeze_fs dentro de la implementación del FS; algunos FS ciertamente tienen ese soporte (EXT3, Reiser3, XFS), y algunos no (EXT2, por ejemplo). Además, responde a la segunda pregunta: es muy probable que la congelación de XFS se maneje automáticamente con LVM.
Poige
1

Como complemento a otras respuestas. En las instantáneas de FS, puede beneficiarse de las funciones de FS, como la compresión y la deduplicación en todas las instantáneas.

Rufo El Magufo
fuente