De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

El Archivo Escribir donde Layout ( WAFL ) es una propiedad de sistema de archivos que soporta grandes, de alto rendimiento RAID matrices, se reinicia rápidos sin largas comprobaciones de coherencia en el caso de un accidente o falla de energía, y el crecimiento del tamaño de los sistemas de archivos de forma rápida. Fue diseñado por NetApp para su uso en sus dispositivos de almacenamiento como NetApp FAS, AFF , Cloud Volumes ONTAP y ONTAP Select .

Su autor afirma que WAFL no es un sistema de archivos, aunque incluye uno. [3] Realiza un seguimiento de los cambios de forma similar a los sistemas de archivos de registro por diario como registros (conocidos como NVLOG) en la memoria de acceso aleatorio no volátil del dispositivo de almacenamiento de memoria dedicada , denominada NVRAM o NVMEM. WAFL proporciona mecanismos que habilitan una variedad de sistemas de archivos y tecnologías que desean acceder a bloques de disco .

Diseño [ editar ]

Estructura de inodo WAFL, metadatos almacenados junto con datos

WAFL almacena metadatos, así como datos, en archivos; los metadatos, como inodos y mapas de bloques que indican qué bloques del volumen están asignados, no se almacenan en ubicaciones fijas en el sistema de archivos. El archivo de nivel superior en un volumen es el archivo de inodo, que contiene los inodospara todos los demás archivos; el inodo para el archivo de inodo en sí, llamado el inodo raíz, se almacena en un bloque con una ubicación fija. Un inodo para un archivo suficientemente pequeño contiene el contenido del archivo; de lo contrario, contiene una lista de punteros a bloques de datos de archivo o una lista de punteros a bloques indirectos que contienen listas de punteros a bloques de datos de archivo, etc., con tantas capas de bloques indirectos como sean necesarias, formando un árbol de bloques. Todos los bloques de datos y metadatos en el sistema de archivos, excepto el bloque que contiene el inodo raíz, se almacenan en archivos en el sistema de archivos. Por lo tanto, el inodo raíz se puede usar para ubicar todos los bloques de todos los archivos que no sean el archivo de inodo. [4]

La memoria principal se utiliza como caché de páginas para bloques de archivos. Cuando se realiza un cambio en un bloque de un archivo, la copia en la caché de la página se actualiza y marca como sucia, y la diferencia se registra en la memoria no volátil en un registro llamado NVLOG. Si el bloque sucio en la caché de la página se va a escribir en el almacenamiento permanente, no se reescribe en el bloque desde el que se leyó; en su lugar, se asigna un nuevo bloque en almacenamiento permanente, el contenido del bloque se escribe en la nueva ubicación y el inodo o bloque indirecto que apuntó al bloque en cuestión se actualiza en la memoria principal. Si el bloque que contiene el inodo, o el bloque indirecto, se va a escribir en el almacenamiento permanente, también se escribe en una nueva ubicación, en lugar de sobrescribirlo en su posición anterior. Esto es a lo que se refiere "Escribir en cualquier lugar" en "Diseño de archivo Escribir en cualquier lugar". [4]

Como todos los bloques, además del bloque que contiene el inodo raíz, se encuentran a través del inodo raíz, ninguno de los cambios escritos en el almacenamiento permanente son visibles en el almacenamiento permanente hasta que se actualiza el inodo raíz. El inodo raíz se actualiza mediante un proceso llamado punto de coherencia , en el que todos los bloques sucios que aún no se han escrito en el almacenamiento permanente se escriben en el almacenamiento permanente, y se escribe un nuevo inodo raíz, que apunta a los bloques en la nueva versión del inodo. expediente. En ese momento, todos los cambios en el sistema de archivos son visibles en el almacenamiento permanente, utilizando el nuevo inodo raíz. Las entradas de NVLOG para los cambios que ahora están visibles se descartan para dejar espacio para las entradas de registro para cambios posteriores. Los puntos de coherencia se realizan periódicamente o si la memoria no volátil está cerca de estar llena de entradas de registro.[4]

Si el servidor falla antes de que todos los cambios en un sistema de archivos se hayan hecho visibles en un punto de coherencia, los cambios que no se han hecho visibles todavía están en el NVLOG; cuando el servidor se reinicia, reproduce todas las entradas en el NVLOG, nuevamente haciendo los cambios registrados en el NVLOG, para que no se pierdan.

Funciones [ editar ]

Como se mencionó anteriormente, WAFL no almacena datos o metadatos en ubicaciones predeterminadas en el disco. En su lugar, coloca automáticamente los datos usando la localidad temporal para escribir metadatos junto con los datos del usuario de una manera diseñada para minimizar la cantidad de operaciones de disco necesarias para enviar datos a un almacenamiento de disco estable usando RAID basado en paridad simple y dual.

El uso de una ubicación de datos basada en la localidad temporal de referencia puede mejorar el rendimiento de la lectura de conjuntos de datos que se leen de manera similar a la forma en que se escribieron (por ejemplo, un registro de base de datos y su entrada de índice asociada), sin embargo, también puede causar la fragmentación de la perspectiva de localidad espacial de referencia. En discos duros giratorios, esto no afecta negativamente a los archivos que se escriben secuencialmente, se leen aleatoriamente o se leen posteriormente usando el mismo patrón temporal, pero sí afecta la lectura secuencial después de escribir aleatoriamente los patrones de acceso a datos espaciales debido a que el cabezal magnético podría estar solo en una posición en un momento para leer los datos del disco mientras la fragmentación no tiene ningún efecto en las unidades SSD .

Las versiones de ONTAP desde 7.3.1 han incluido una serie de técnicas para optimizar el diseño de datos espaciales, como el comando reasignar para realizar desfragmentación programada y manual , y la opción de volumen Escritura después de lectura que detecta y corrige automáticamente los patrones de acceso a datos subóptimos causados ​​por la fragmentación espacial. . Las versiones de ONTAP 8.1.1 incluyen otras técnicas para optimizar automáticamente el espacio libre contiguo dentro del sistema de archivos, lo que también ayuda a mantener diseños de datos óptimos para la mayoría de los patrones de acceso a datos. Antes de 7G, el comando wafl scan reallocate debía invocarse desde un nivel de privilegio avanzado y no podía programarse. Lanzamientos de ONTAPdesde 9.1 han incluido una serie de técnicas para optimizar el uso de SSD, como la compactación de datos en línea (en 9.1), comenzando con la funcionalidad ONTAP 9.2 FabricPool para la organización automática en niveles de datos fríos para ralentizar el almacenamiento S3 y viceversa si es necesario para agregados SSD y deduplicación de volumen cruzado dentro de un agregado con un máximo de 800TiB para cada agregado. [5]

Instantáneas [ editar ]

Copia de seguridad de datos en el lugar de la técnica tradicional de copia en escritura
Copia de seguridad de datos instantáneos de RoW de NetApp en el lugar

WAFL admite instantáneas , que son copias de solo lectura de un sistema de archivos. Las instantáneas se crean realizando las mismas operaciones que se realizan en un punto de coherencia, pero, en lugar de actualizar el inodo raíz correspondiente al estado actual del sistema de archivos, se guarda una copia del inodo raíz. Como todos los datos y metadatos de un sistema de archivos se pueden encontrar desde el inodo raíz, todos los datos y metadatos de un sistema de archivos, en el momento en que se crea la instantánea, se pueden encontrar en la copia de la instantánea del inodo raíz. No es necesario copiar otros datos para crear una instantánea. [4]

Los bloques se asignan cuando se escriben utilizando un mapa de bloques, que realiza un seguimiento de qué bloques están en uso y qué bloques están libres. Una entrada en el mapa de bloques contiene un bit que indica si el bloque está en uso en la versión actual del sistema de archivos y varios bits, uno por instantánea, que indican si el bloque está en uso en la instantánea. Esto garantiza que los datos de una instantánea no se sobrescriban hasta que se elimine la instantánea. Al usar el mapa de bloques, todas las escrituras y reescrituras nuevas se escriben en nuevos bloques vacíos, WAFL solo informa que la reescritura de bloques se realizó correctamente, pero en realidad no se produce ninguna reescritura, este enfoque se llama técnica de redireccionamiento al escribir (ROW). [4] ROW es mucho más rápido en operaciones de reescritura en comparación con Copiar en escritura. donde el bloque de datos antiguo que se va a reescribir en el lugar y capturado en una instantánea debe copiarse primero en el espacio asignado para la reserva de instantáneas para preservar los datos originales, esto genera operaciones de copia de datos adicionales una vez que el sistema se reescribe en ese bloque.

Las instantáneas proporcionan copias de seguridad en línea a las que se puede acceder rápidamente, a través de directorios ocultos especiales en el sistema de archivos, lo que permite a los usuarios recuperar archivos que se han eliminado o modificado accidentalmente. [4]

El sistema operativo Data ONTAP versión 7G de NetApp admite una instantánea de lectura y escritura denominada FlexClone . Las instantáneas son la base para tecnologías como SnapMirror , SnapVault y Online Volume Move, mientras que características como FlexClone , SnapLock , SnapRestore son tecnologías similares a instantáneas que aprovechan las capacidades y propiedades de WAFL como manipulaciones con inodos. A partir de ONTAP 9.4, el número máximo de instantáneas admitidas para cada FlexVol es 1024, mientras que para las versiones anteriores el límite máximo era 255.

A partir de ONTAP 9.5, se agregaron funciones de uso compartido de instantáneas para ejecutar el análisis de deduplicación en el sistema de archivos activo y las instantáneas, y el ahorro de deduplicación es una magnitud de la cantidad de instantáneas. Antes de 9.5, los datos no deduplicados bloqueados en una instantánea no podían ser utilizados por el proceso de deduplicación y se ejecutaban solo en el sistema de archivos activo.

Modelo de archivo y directorio [ editar ]

Una característica importante de WAFL es su compatibilidad con un modelo de directorio y archivo de estilo Unix para clientes NFS y un modelo de directorio y archivo de estilo Microsoft Windows para clientes SMB . WAFL también admite ambos modelos de seguridad, incluido un modo en el que diferentes archivos en el mismo volumen pueden tener diferentes atributos de seguridad adjuntos. Unix puede usar [6] listas de control de acceso (ACL) o una simple máscara de bits, mientras que el modelo más reciente de Windows se basa en listas de control de acceso. Estas dos características hacen posible escribir un archivo en un tipo de sistema de archivos en red SMB y acceder a él más tarde a través de NFS desde una estación de trabajo Unix. Junto a los archivos ordinarios, WAFL puede contener contenedores de archivos llamadosLUN con atributos especiales requeridos, como el número de serie de LUN para dispositivos de bloque, a los que se puede acceder mediante protocolos SAN que se ejecutan en el software ONTAP OS.

FlexVol [ editar ]

Diseño WAFL FlexVol: bloques y metadatos de inodo junto con los datos del usuario

Cada volumen flexible (FlexVol) es un sistema de archivos WAFL separado, ubicado en un agregado y distribuido en todos los discos del agregado. Cada agregado puede contener y generalmente tiene múltiples volúmenes FlexVol. ONTAP durante el proceso de optimización de datos, incluido el "Tetris", que finaliza con puntos de coherencia (consulte NVRAM) está programado para distribuir de manera uniforme los bloques de datos tanto como sea posible en cada volumen FlexVol en todos los discos en conjunto, por lo que cada FlexVol podría potencialmente usar todo el rendimiento disponible de todos los discos de datos en el agregado. Con el enfoque de una distribución uniforme de bloques de datos en todos los discos de datos en un agregado, la limitación del rendimiento para un FlexVol se puede realizar de forma dinámica con QoS de almacenamiento y no requiere agregados dedicados o grupos RAID para cada FlexVol para garantizar el rendimiento y proporcionar el rendimiento no utilizado para un volumen FlexVol que lo requiera. Cada FlexVol se puede configurar como espacio de aprovisionamiento grueso o delgado y luego se puede cambiar sobre la marcha en cualquier momento. Bloquee el acceso al dispositivo con protocolos de red de área de almacenamiento (SAN) como iSCSI ,El canal de fibra (FC) y el canal de fibra sobre Ethernet (FCoE) se realizan con emulación de LUN similar a la técnica de dispositivo de bucle en la parte superior de un volumen FlexVol; por lo tanto, cada LUN en el sistema de archivos WAFL aparece como un archivo, pero tiene propiedades adicionales requeridas para los dispositivos de bloque. Los LUN también se pueden configurar con aprovisionamiento grueso o delgado y se pueden cambiar más adelante sobre la marcha. Debido a la arquitectura WAFL, FlexVols y LUN pueden aumentar o disminuir el uso de espacio configurado sobre la marcha. Si un FlexVol contiene datos, el espacio interno puede reducirse no menos que el espacio utilizado. Aunque el tamaño de LUN con datos podría reducirse en el sistema de archivos WAFL, ONTAPno tiene conocimiento sobre la estructura de bloques de nivel superior debido a la arquitectura SAN, por lo que podría truncar los datos y dañar el sistema de archivos en ese LUN, por lo que el host debe migrar los bloques que contienen los datos a un nuevo límite de LUN para evitar la pérdida de datos. Cada FlexVol puede tener sus propias políticas de QoS , FlashPool , FlasCache o FabricPool .

Si se crean dos volúmenes FlexVol, cada uno en dos agregados y aquellos agregados que pertenecen a dos controladores diferentes, y el administrador del sistema necesita usar el espacio de estos volúmenes a través de un protocolo NAS. Luego, crearían dos archivos compartidos, uno en cada volumen. En este caso, lo más probable es que el administrador cree incluso diferentes direcciones IP; cada uno se utilizará para acceder a un recurso compartido de archivos dedicado. Cada volumen tendrá un único waffinity de escritura y habrá dos cubos de espacio. Aunque incluso si dos volúmenes residen en un solo controlador y, por ejemplo, en un solo agregado (por lo tanto, si el segundo agregado existe, no se utilizará en este caso) y se accederá a ambos volúmenes a través de una única dirección IP, todavía habrá habrá dos afinidades de escritura, una en cada volumen y siempre habrá dos cubos de espacio separados. Por lo tanto,Cuantos más volúmenes tenga, más waffinities de escritura tendrá (mejor paralelización y, por lo tanto, mejor utilización de la CPU), pero luego tendrá múltiples volúmenes (y múltiples cubos de espacio, por lo tanto, múltiples recursos compartidos de archivos).

Plexes [ editar ]

Replicación de SyncMirror usando plexes

De forma similar a RAID-1 , los plexos en los sistemas ONTAP pueden mantener los datos reflejados en dos lugares, pero mientras que el RAID-1 convencional debe existir dentro de los límites de un sistema de almacenamiento, se podrían distribuir dos plexos entre dos sistemas de almacenamiento. Cada agregado consta de uno o dos plexos. Los sistemas de almacenamiento HA convencionales tienen solo un plex para cada agregado, mientras que las configuraciones SyncMirror local o MetroCluster pueden tener dos plex para cada agregado. Por otro lado, cada plex incluye espacio de almacenamiento subyacente de uno o más grupos RAID de NetApp o LUN de sistemas de almacenamiento de terceros (consulte FlexArray ) en un solo plex de forma similar a RAID-0. Si un agregado consta de dos plexos, uno se considera maestro y el segundo esclavo; los esclavos deben constar exactamente de la misma configuración RAID y unidades. Por ejemplo, si tenemos un agregado que consta de dos plex donde el plex maestro consta de 21 datos y 3 unidades de paridad SAS de 1.8 TB en RAID-TEC, entonces el plex esclavo debe constar de 21 datos y 3 unidades de paridad SAS de 1.8 TB en RAID -TEC. El segundo ejemplo, si tenemos un agregado consistió en dos plex donde el plex maestro consiste en un RAID 17 de datos y 3 unidades SAS de paridad de 1.8 TB configuradas como RAID-TEC y el segundo RAID en el plex maestro es RAID-DP con 2 datos y 2 paridad SSD 960 GB. El segundo plex debe tener la misma configuración: un RAID 17 de datos y 3 unidades SAS de paridad de 1,8 TB configuradas como RAID-TEC,y el segundo RAID en el plex esclavo es RAID-DP con 2 datos y 2 paridad SSD 960 GB. Las configuraciones de MetroCluster utilizan la tecnología SyncMirror para la replicación de datos sincrónica. Hay dos opciones de SyncMirror: MetroCluster y Local SyncMirror, ambos utilizan la misma técnica de plex para la replicación síncrona de datos entre dos plex. Local SyncMirror crea ambos plexes en un solo controlador y, a menudo, se usa para seguridad adicional para evitar fallas en un estante de disco completo en un sistema de almacenamiento. MetroCluster permite que los datos se repliquen entre dos sistemas de almacenamiento. Cada sistema de almacenamiento puede constar de un controlador o configurarse como un par HA con dos controladores. En un solo par HA, es posible tener dos controladores en chasis separados y la distancia entre sí podría ser de decenas de metros, mientras que en la configuración de MetroCluster la distancia podría ser de hasta 300 km.

Memoria no volátil [ editar ]

Duplicación de caché de memoria no volátil en un MetroCluster y HA

Como muchos competidores, los sistemas ONTAP de NetApp utilizan la memoria como un medio de almacenamiento mucho más rápido para aceptar y almacenar en caché los datos de los hosts y, lo que es más importante, para la optimización de los datos antes de la escritura, lo que mejora enormemente el rendimiento de dichos sistemas de almacenamiento. Mientras que los competidores utilizan ampliamente la memoria de acceso aleatorio no volátil (NVRAM) para conservar los datos en ella durante eventos inesperados, como un reinicio para el almacenamiento en caché de escritura y la optimización de datos, los sistemas ONTAP de NetApp utilizan memoria de acceso aleatorio (RAM) ordinaria para la optimización de datos y NVRAM o NVDIMM para el registro de datos iniciales en un estado sin cambios, ya que provienen de hosts de manera similar al registro de transacciones realizado en bases de datos relacionales. Entonces, en caso de desastre, naturalmente, la RAM se borrará automáticamente después del reinicio, y los datos almacenados en la memoria no volátil en forma de registros llamados NVLOG sobrevivirán después del reinicio y se utilizarán para restaurar la coherencia. Todos los cambios y optimizaciones en los sistemas ONTAP se realizan solo en RAM, lo que ayuda a reducir el tamaño de la memoria no volátil para los sistemas ONTAP. Después de las optimizaciones, los datos de los hosts estructurados en forma similar a Tetris, optimizados y preparados con el paso de algunas etapas (es decir, WAFL y RAID) para ser escritos en discos subyacentes en grupos RAID en el agregado donde se almacenarán los datos. Después de las optimizaciones, los datos se escribirán secuencialmente en discos como parte de la transacción de Punto de consistencia (CP). Los datos escritos en agregados contendrán los metadatos WAFL necesarios yREDADAparidad, por lo que no se producirán operaciones adicionales de lectura de discos de datos, cálculo y escritura en discos de paridad como con los grupos RAID-6 y RAID-4 tradicionales. CP al principio crea una instantánea del sistema en un agregado donde se escribirán los datos, luego los datos optimizados y preparados de la RAM se escriben secuencialmente como una sola transacción en el agregado; si falla, toda la transacción falla en caso de un reinicio repentino que permite El sistema de archivos WAFL siempre debe ser coherente. En caso de una transacción CP exitosa, se propaga un nuevo punto de sistema de archivos activo y se borran los NVLOG correspondientes. Todos los datos siempre se escribirán en un lugar nuevo y no se pueden volver a escribir. Bloques de datos eliminados por los hosts marcados como libres para que puedan usarse más adelante en los próximos ciclos de CP y el sistema no se quedará sin espacio con la política de siempre escribir nuevos datos en un nuevo lugar de WAFL.Solo los NVLOG en los sistemas de almacenamiento HA se replican de forma síncrona entre dos controladores para la capacidad de conmutación por error del sistema de almacenamiento HA, lo que ayuda a reducir los gastos generales de protección de la memoria del sistema. En un sistema de almacenamiento con dos controladores en configuración HA oMetroCluster con un controlador en cada sitio, cada uno de los dos controladores divide su propia memoria no volátil en dos partes: local y su socio. En la configuración de MetroCluster con cuatro nodos, cada memoria no volátil se divide en las siguientes partes: local, socio local y socio remoto. [7]

Comenzando con el sistema All-Flash FAS A800, NetApp reemplazó el módulo PCI NVRAM con NVDIMM conectados al bus de memoria, aumentando el rendimiento.

Ver también [ editar ]

  • Comparación de sistemas de archivos
  • Lista de sistemas de archivos
  • NetApp
  • NetApp FAS
  • Sistema operativo ONTAP , utilizado en los sistemas de almacenamiento de NetApp

Notas [ editar ]

  1. ^ "Límites de almacenamiento" . library.netapp.com .
  2. ^ "Cifrado de volumen de NetApp, lo esencial | IOPS.ca" .
  3. ^ "¿WAFL es un sistema de archivos?" . Blogs.netapp.com. Archivado desde el original el 15 de julio de 2014.
  4. ^ a b c d e f Dave Hitz ; James Lau; Michael Malcolm (19 de enero de 1994). Diseño de sistema de archivos para un dispositivo de servidor de archivos NFS (PDF) . USENIX Invierno de 1994.
  5. ^ Parisi, Justin (14 de julio de 2017). "¿Ejecuta VMware en ONTAP? ¿Por qué debería considerar actualizar a ONTAP 9.2?" .
  6. ^ "Listas de control de acceso POSIX en Linux" . Suse.de. Archivado desde el original el 24 de enero de 2007.
  7. ^ "Clustered Data ONTAP® 8.3. Guía de administración y recuperación ante desastres de MetroCluster ™: duplicación de caché de NVRAM y NVMEM en una configuración de MetroCluster" . NetApp. 1 de septiembre de 2015. Archivado desde el original (url) el 24 de enero de 2018 . Consultado el 24 de enero de 2018 .

Enlaces externos [ editar ]

  • Página web oficial
  • Diseño de sistema de archivos para un dispositivo de servidor de archivos NFS (PDF)
  • Patente de EE . UU . 5,819,292 - Método para mantener estados consistentes de un sistema de archivos y para crear copias de solo lectura accesibles para el usuario de un sistema de archivos - 6 de octubre de 1998