Recientemente, lanzaron la última versión estable de ZFSonLinux, un proyecto que ahora es fundamental para el mundo del desarrollo de OpenZFS. Adiós OpenSolaris, hola feroz mundo incompatible GPL-CDDL de Linux.
Debajo del corte hay una descripción general de las cosas más interesantes (¡aún,
2200 commits!), Y para el postre, un poco de intriga.
Nuevas fichas
Por supuesto, lo más esperado es el
cifrado nativo . Ahora puede cifrar solo los conjuntos de datos necesarios con el cifrado incorporado en ZFS y (en mi opinión, lo principal): puede enviar datos cifrados a través de
zfs send y SIN descifrado para verificar la integridad de los datos utilizando las herramientas incorporadas, ¡todas las opciones para mantener la integridad de los datos de ZFS estarán con usted!
Más importante es la tan esperada
TRIM . Sí, tardó mucho en llegar a la producción. En parte porque el problema del desgaste de SSD no es tan crítico para los sistemas de archivos CoW. Pero ahora estamos todos tranquilos: el
ajuste de zpool salvará nuestras tiernas unidades flash.
Ahora puede
eliminar matrices vdev agregadas al azar del grupo (pero solo si es escasa o espejo). Bagatela útil.
Más adelante en nuestros gráficos:
puntos de control de piscinas . Brevemente: instantáneas para todo el estado del grupo, PERO que hacen posible revertir los cambios no solo en los datos, sino también en las características y los cambios en la estructura incluida en el grupo. Otra oportunidad para estar a salvo.
Inicialización de agrupación : llenar el almacenamiento subyacente con ceros. Es útil para trabajar en entornos de disco de aprovisionamiento delgado para asignar explícitamente espacio y eliminar reducciones de rendimiento inesperadas en el futuro.
Contabilidad de proyectos y cuotas : en el mecanismo de cuotas existente, ahora es posible utilizar la separación en los proyectos.
Programas de canal : la capacidad de realizar tareas administrativas atómicamente utilizando scripts Lua. Hay límites en tiempo de ejecución y memoria. Si haces automatización, entonces esto es para ti.
Direct IO : por simplicidad, convirtieron el trabajo de Direct IO, nada ha cambiado en su interior (solo las llamadas llegan hasta el caché), pero ahora el software que quiere funcionar en este modo no tendrá problemas.
El proyecto
Pyzfs se vierte en el repositorio principal y se toma bajo el ala del proyecto ZFSonLinux. Ahora hay más herramientas para administrar desde python (bueno, será más tranquilo para soportar el módulo). También muchos scripts de python están adaptados para python3.
Y ahora delicioso - rendimiento
Ahora, con las operaciones scrub y resilver, los metadatos se leen primero, y solo luego, en la forma más
consistente , los datos. Por lo tanto, la recuperación de la matriz y la verificación de integridad se realizan a la velocidad máxima.
Clases de asignación : las matrices vdev tienen un tipo de medio, ahora puede transferir el almacenamiento de metadatos / tablas de deduplicación (DDT) / bloques de datos de menos de X Kbytes a una matriz vdev separada desde discos más eficientes.
¡Más velocidad al dios de la velocidad! (y en el caso, esta característica es muy útil en el próximo
DRAID ).
Muchos comandos administrativos ahora funcionan más rápido debido al almacenamiento en caché de metadatos basado en puntos (por ejemplo,
zfs list, zfs get ).
El proceso de asignación de datos es
paralelo , ahora para cada sección de espacio libre (metaslab) se crean varios asignadores. Con NVME, por supuesto, no todo se exprimirá, pero mejorará.
Una restauración retrasada de la integridad de la matriz permitirá no cargar la matriz con el reensamblaje simultáneo de varios discos, pero lo hará secuencialmente. Esto reducirá tanto el impacto en el rendimiento como el tiempo de reensamblaje.
Al importar grupos
con un gran número de volúmenes, aumenta la velocidad de su registro en el sistema.
Además,
QAT ahora le permite cargar el cálculo de cifrado y sumas de verificación.
Además de un montón de cambios menores (de todos modos, ¡2000+ confirmaciones en el lanzamiento!).Bueno, para el postre - intriga
Aunque ZFSonLinux agrega rápidamente soporte para nuevos kernels de Linux (ahora se admiten las versiones 2.6.32 - 5.1 *), los mantenedores de kernel están claramente desinteresados en ayudar a los módulos de terceros ("
... no nos importa en absoluto
módulos de kernel externos ... - greg kh "). Entonces, las llamadas de kernel requeridas para una operación eficiente en la rama 5.0
se cambiaron a solo GPL . En los kernel con este parche, el rendimiento de ZFS será mucho peor. Ahorra que esta funcionalidad se pueda implementar en al costado del módulo, lo que es probable que se haga, pero por ahora puede tomar un ejemplo de NixOS:
acaban de deshacer el parche en el núcleo :)
El proyecto también apareció Código de Conducta, que generó una ola de holivarov. Pero nos resistimos :)
¡Todas las copias de seguridad y versiones estables que funcionan!
Enlaces utiles:
-
lanzamiento en github-
mi introducción a ZFS