Hola, estamos en versión 3.15, estoy teniendo problemas para anonimizar la base de datos, hace bastante tiempo lo hacía y se las subía a algún repositorio para que pudieran acceder.
Actualmente, intentando anonimizar solo el esquema de negocios el proceso comienza la anonimización y se corta , les copio la salida de la consola:
root@g3-test-1:/opt/proyectos/gestion/bin# ./guarani backup_anonimizado
Ejecutado: 19/07/19 10:13:15
Exportando la base anonimizada
Ejecutando: pg_dump -O -n negocio -h pg-clear-dev-1 -U postgres -p 5432 g3_unc_test | /mnt/guarani/gestion/BD/Anonimizacion/bin/mask >> /mnt/guarani/gestion/BD/tmp/backup_anonimizado_3.15.1.sql
Killed
pg_dump: [archiver] could not write to output file: Broken pipe
En este ejemplo logró crear el archivo de casi 5GB:
-rw-r–r-- 1 root root 4809199616 Jul 19 11:01 backup_anonimizado_3.15.1.sql
He estado comentando y descomentado lineas del archivo:
gestion/BD/Anonimizacion/bin/mask.conf.guarani
Con distintos resultados:
Anonimizando con el archivo mask.conf.guarani como propone SIU, el proceso se corta luego de 20 minutos de corrida y de haber generado un archivo de 4,6Gb aprox.
Anonimizando algunas lineas, el anonimizados terminaba generando un archivo de 15GB aprox tardando cerca de 1hora, pero en algunos casos cuando agregaba otras se cortaba pero si a esas las corria en forma individual funcionaban.
Anonimizando las lineas de forma individual no habia problemas, el anonimizados terminaba generando un archivo de 15GB aprox
Anonimizando solo las lineas de la tabla mdp_personas termina sin error
Ejecuté por sentencia sql anonimizar algunas lineas y las hacía sin inconveniente por ejemplo:
select apellido, mask.rand_apellido(apellido) from mdp_personas;
select apellido, mask.rand_apellido(apellido) from mdp_personas_allegados;
select calle, mask.set_text(‘calle abcd’) from mdp_personas_allegados;
select barrio, mask.set_text(‘barrio x’) from mdp_personas_allegados;
select telefono, mask.set_text(‘01199999999’) from mdp_personas_allegados;
Cómo para otros proyectos están necesitando de esta base anonimizada, estoy aplicando manualmente la anonimización sobre los atributos sensibles pero sería muy util poder contar con la anonimización a través del proceso propuesto por SIU .
Sigo haciendo pruebas y quedo a la espera de sugerencias.
Saludos
Hola Emilio, no hay problema de espacio, tengo montada la carpeta donde descarga el backup en un disco de 100GB. Y el archivo mask.log que esta en otra carpeta también tiene espacio.
Otra cosa que veo es que en el archivo : gestion/BD/Anonimizacion/bin/mask.conf.guarani
cuando anonimiza ‘usuario’ hace referencia a una función que no existe (al menos no la tengo generada en el esquema mask): negocio, mdp_personas, usuario, mask.rand_usuario(‘’)
Esto último genera lineas con errores en el mask.log, sin embargo esos errores no provocan que se corte el proceso.
Estoy corriendo agregando en cada corrida una linea para determinar cuales campos son los que provocan que se corte la anonimización, posiblemente sea algún caracter especial en alguna tabla.
Cada corrida lleva mucho tiempo, en cuanto tenga todo probado comento por aca el resultado.
Buenos días Narda. También para que el proceso tarde un poco menos y no escriba mucho en el log, lo que pueden hacer es en el archivo php/extension_toba/guarani_modelo.php cambiar la línea $debug = ‘DEBUG=9’; a $debug = ‘DEBUG=1’ para que solo escriba los errores en dicho archivo.
El mensaje de error es poco descriptivo , sin embargo como el anominizador (proceso mask) lee directamente de la salida del pg_dump a traves de un pipe de linux. Es posible que al tratarse de una base tan grande, en algun punto se este llegando a un maximo, y el linux lo corte. Por lo que se ve el proceso que se mata, es el pg_dump.
Vos podrias reducir el tamano de esa base de datos, borrandole tablas grandes, y probarlo ? No es la solucion, pero nos daria la pista de por donde esta la cosa
Encontré cual es el problema, la ram se satura con el proceso mask que consume más del 90% de la misma.
Tenemos 8GB de ram en el servidor que corre ese dump anonimizado, por eso es que el proceso no siempre se cortaba en el mismo lugar, ni con los mismos archivos.
No podemos achicar la base porque justamente necesitamos una con el volumen real para las pruebas de performance y para enviar para las pruebas de Pentaho.
A través del proceso solo se completo la anonimización para 10 atributos del esquema de negocio, quedando pendientes 40 atributos considerando negocio_auditoria.
Por ahora seguiré anonimizando con updates manuales sobre los atributos sensibles.
Vas a tener que reemplazar <PATH-TO-GUARANÍ> por la carpeta donde esta Guaraní Gestión, también ajusta los parámetros de conexión a la DB según tu instalación.