Tengo un grupo que se creó en 2011, usando lzjb compression
, y no fue hasta un par de años después que una actualización me permitió configurar la compresión lz4
. Estimo que al menos el 20% del contenido (por espacio) en la matriz se creó antes de 2013, lo que significa que todavía está comprimido usando lzjb
.
Puedo pensar en un par de opciones para arreglar esto y recuperar (algo) de espacio:
Realice una copia de seguridad y restaure a un nuevo grupo. No es realmente práctico, ya que no tengo suficiente almacenamiento redundante para guardar la copia temporal. La restauración también requeriría que el grupo esté fuera de línea durante varias horas.
Escriba un script para volver a copiar cualquier archivo con una marca de tiempo anterior a 2013. Potencialmente arriesgado, especialmente si se ahoga en espacios u otros caracteres especiales y termina destrozando el nombre original.
¿Hay alguna forma de hacer que ZFS vuelva a comprimir los bloques heredados utilizando el algoritmo de compresión actual? Como un exfoliante, pero curando la compresión.
Una pregunta relacionada: ¿hay alguna forma de ver el uso de cada tipo de algoritmo de compresión? zdb solo muestra estadísticas generales de compresión, en lugar de desglosarlas en algoritmos individuales.
export LC_ALL=C
al comienzo del script y todos los caracteres especiales que no sean ASCII en los nombres de archivo se mantendrán intactos. Mantener el espacio en blanco y el guión intactos es más complicado, use comillas dobles y --
, por ejemplo cp -- "$SOURCE" "$TARGET"
.
--
)" más complicado ". Eso es tan importante como evitar la inyección de SQL, por ejemplo.