¿Cómo puedo deduplicar mis datos con BTRFS?

15

He instalado Lubuntu 15.04 en mi EEE PC 701 con el sistema de archivos BTRFS. Quiero deduplicar mis datos, pero no sé cómo.

wb9688
fuente

Respuestas:

14

Comience haciendo una copia de seguridad completa para que si algo sale mal no haya perdido nada.

Creo que estas buscando duperemove -d

"Duperemove es una herramienta simple para encontrar extensiones duplicadas y enviarlas para la deduplicación. Cuando se le da una lista de archivos, dividirá sus contenidos en bloque por bloque y comparará esos hashes entre sí, encontrando y categorizando extensiones que coincidan entre sí". Cuando se le da la opción -d, duperemove enviará esas extensiones para la deduplicación usando btrfs-extension-same ioctl.

Duperemove tiene dos modos principales de operación, uno de los cuales es un subconjunto del otro.

Modo de solo lectura / no deduplicación

Cuando se ejecuta sin -d (el valor predeterminado) duperemove imprimirá una o más tablas de extensiones coincidentes que ha determinado que serían candidatos ideales para la deduplicación. Como resultado, el modo de solo lectura es útil para ver qué podría hacer duperemove cuando se ejecuta con '-d'. La salida también podría ser utilizada por algún otro software para enviar las extensiones para la deduplicación en un momento posterior.

Es importante tener en cuenta que este modo no imprimirá todas las instancias de extensiones coincidentes, solo aquellas que consideraría para la deduplicación.

En general, duperemove no se ocupa de la representación subyacente de las extensiones que procesa. Algunos de ellos podrían estar comprimidos, sometidos a E / S, o incluso ya haber sido deduplicados. En el modo de deduplicación, el núcleo maneja esos detalles y, por lo tanto, tratamos de no replicar ese trabajo.

Modo Deduping

Esto funciona de manera similar al modo de solo lectura con la excepción de que las extensiones duplicadas que se encuentran en nuestro paso "leer, comparar y comparar" en realidad se enviarán para deduplicación. Se imprimirá una estimación del total de datos deduplicados después de que se complete la operación. Esta estimación se calcula comparando la cantidad total de bytes compartidos en cada archivo antes y después de la deducción.

Consulte la página de manual de duperemove para obtener más detalles sobre cómo ejecutar duperemove ".

esto no parece aparecer en el paquete btrfs-tools pero aquí hay una página de git hub para ello . Problemas recientes abiertos y cerrados (también conocido como pulso) disponibles aquí.

Los paquetes para todos la versión de Ubuntu actualmente soportada se pueden encontrar en este PPA

Debo repetir que es muy recomendable hacer una copia de seguridad . Ver: https://github.com/markfasheh/duperemove/issues/50

Fuente citada: https://github.com/markfasheh/duperemove

página de manual: https://manpages.debian.org/testing/duperemove/duperemove.8.en.html

Elder Geek
fuente
Cuando escribo duperemove -d obtengo la página de ayuda
wb9688
1
¿Qué obtienes cuando escribes 'man duperemove`? Creo que debe designar los archivos para ejecutarlo. como enduperemove [options] files...
Elder Geek
/ me lo usé ayer: FTR, el comando es duperemove -rdh path1 path2 pathn, donde -rpara recursivo, -dpara deduplicar realmente y -hpara números legibles por humanos.
Hola Angel,
@ Respuesta actualizada de Hi-Angel - enlace agregado a la página de manual
Elder Geek
3

Siempre usé la cama . Es muy rápido y confiable. Esta herramienta también se menciona en la página oficial de btrfs . Nunca he usado duperemove (la cama es mayor).

Adam Ryczkowski
fuente
2
En este punto, la cama ya no está en desarrollo activo y lamentablemente está desactualizada.
Perkins
3
@Perkins no estoy de acuerdo. Acabo de recibir comentarios sobre el Issue github.com/g2p/bedup/issues/75 que publiqué hoy y con esta ayuda simplemente "superé" en más de 7 GB de espacio en mi nuevo servidor 16.04.
Adam Ryczkowski
3
Tal vez alguien lo recogió de nuevo entonces. Me había dado por vencido después de un año más o menos, ya que era completamente incapaz de escanear incluso correctamente los duplicados. Dicho esto, a menos que lo hayan actualizado para usar el nuevo ioctl, duperemove será más seguro ya que hace la deduplicación atómicamente en el espacio del kernel en lugar de atacar uno de los duplicados y hacer una copia de enlace de enlace del otro. Pero luego, bedup realmente obtendrá archivos lo suficientemente pequeños como para ser almacenados en el árbol, que duperemove actualmente no puede debido a la falta de soporte del kernel.
Perkins