Bajo rendimiento de escritura en ecryptfs


14

Hice un poco de evaluación comparativa con ecryptfs y dm-crypt, y obtuve algunos resultados interesantes. Todo lo siguiente se realizó con un sistema de archivos Btrfs, utilizando ddpara copiar un archivo de ~ 700MB a / desde un disco RAM con la conv=fdatasyncopción de forzar la sincronización de datos. Los cachés de disco se borraron antes de cada prueba.

No encryption:
 read - 165MB/s
 write - 120MB/s
ecryptfs:
 read - 125MB/s
 write - 15MB/s
dm-crypt:
 read - 150MB/s
 write - 115MB/s
dm-crypt + ecryptfs:
 read - 120MB/s
 write - 15MB/s

Ahora entiendo que el cifrado es más lento que un sistema de archivos sin formato, sin embargo, no esperaba que el rendimiento masivo de escritura cayera con ecryptfs. ¿El hecho de que estoy forzando la sincronización de datos hace que esta prueba sea poco realista? ¿O hay alguna opción que pueda pasar a ecryptfs para que las escrituras funcionen más rápido?

Estaba usando el cifrado de nombre de archivo en ecryptfs, pero aparte de eso, todo estaba configurado por defecto.


La evaluación comparativa puede ser difícil y, a veces, la prueba alcanza algunos límites inesperados, especialmente al forzar escrituras sincrónicas. No estoy familiarizado con el funcionamiento interno de ecryptfs, pero debe asegurarse de descartar cualquier problema de amplificación de escritura. ¿Qué tamaño de bloque usa ecryptfs y qué especificó para dd? Si ecryptfs cifra 16 kb a la vez y está escribiendo bloques que son más pequeños, cada sincronización forzará una lectura para recuperar el bloque, luego alterará los datos, luego cifrará y finalmente escribirá. Eso podría explicar los números de rendimiento como estos.
ketil

Respuestas:


2

Página de manual de ddaproximadamente fdatasynclecturas physically write output file data before finishing, por lo que solo escribe datos físicamente "una vez" (léalo como "no forzar un vaciado cada X bloques o bytes, sino un solo vaciado al final"). Si está utilizando ddpara hacer sus pruebas, es la mejor manera de obtener los resultados más precisos. Por el contrario, no usar ese indicador específico haría que sus resultados no fueran realistas: omitirlo probablemente perdería el tiempo para el cifrado en sí mismo, ya ddque solo está copiando datos.

Sin embargo, también pensé que algo estaba sucediendo en cuanto a sus resultados, pero encontré este artículo que muestra casi lo mismo: ecryptfs es dolorosamente lento. ¡Y su prueba ( un solo archivo que se copia) es el mejor escenario para ecryptfs!

A medida que ecryptfs escribe un archivo encriptado (con un encabezado personalizado con metadatos dentro) para cada versión de texto claro, tener muchos archivos pequeños implica incluso una mayor caída en el rendimiento.

Sin embargo, ecryptfs tiene sus beneficios: puede enviar un archivo cifrado de inmediato sin perder el cifrado. Sus copias de seguridad (suponiendo que esté haciendo una copia de seguridad de sus datos cifrados ) serían más rápidas ya que solo copiaría archivos tan grandes como sus datos (e incluso más rápido si son incrementales, ya que solo copiaría archivos modificados).

dm-crypt, por otro lado, puede ser mucho más rápido, pero necesitaría enviar todo el contenedor (un sistema de archivos completo) para mantener el cifrado tal como está. Y las copias de seguridad también consistirían en todo el contenedor, no pudiendo hacer copias de seguridad incrementales en la mayoría de los casos.

He usado (y sigo usando) ambos métodos (sin embargo, no las mismas herramientas) para almacenar datos cifrados: es más fácil mantener sincronizado a través de archivos (ecryptfs) a través de servicios de alojamiento en línea como Dropbox entre PC, pero es bastante lento cuando haciendo cambios y me ha causado algunos problemas con el sistema de archivos subyacente (se supone que puede escribir los archivos y los problemas relacionados con los límites en el sistema de archivos tienden a romper todo); Prefiero el cifrado de dispositivos de bloque: los trato como particiones simples, por lo que los límites y los problemas no se rompen tan mal. El único inconveniente es copiar el contenedor, lo que puede llevar más tiempo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.