Eduard Shishkin
Entre las innovaciones desarrolladas recientemente, la provisión de
la oportunidad para que el usuario agregue un pequeño alto rendimiento
dispositivo de bloque (por ejemplo, NVRAM) llamado
volumen lógico relativamente grande compuesto de lentos
impulsores presupuestarios. Esto creará la impresión de que todos
el volumen se compone del mismo costoso alto rendimiento
dispositivos, como un “disco proxy”.
El método implementado se basó en la simple observación de que en la práctica el disco no se escribe constantemente y la curva de carga de E/S tiene forma de picos. En el intervalo entre dichos "picos", siempre es posible restablecer los datos del disco proxy, reescribiendo todos los datos (o solo una parte) en segundo plano en el almacenamiento principal "lento". Por lo tanto, el disco proxy siempre está listo para recibir una nueva porción de datos.
Esta técnica (conocida como Burst Buffers) se originó originalmente en
áreas de la informática de alto rendimiento (HPC). Pero también resultó tener demanda para aplicaciones ordinarias, especialmente para aquellas que imponen mayores exigencias en cuanto a la integridad de los datos (generalmente varios tipos de bases de datos). Dichas aplicaciones realizan cualquier cambio en cualquier archivo de forma atómica, a saber:
Libera bloques ocupados por datos antiguos.
Todos estos pasos, en un grado u otro, causan importantes
degradación del rendimiento en cualquier sistema de archivos. Situación
mejora si el nuevo archivo se escribe primero en el asignado
dispositivo de alto rendimiento, que es exactamente lo que sucede en
sistema de archivos con soporte Burst Buffers.
En Reiser5 está previsto enviar opcionalmente no sólo
nuevos bloques lógicos del archivo, pero también todas las páginas sucias en general. Además,
no sólo páginas con datos, sino también con metadatos que
están escritos en los pasos (2) y (3).
El soporte para discos proxy se lleva a cabo en el contexto del trabajo regular con
volúmenes lógicos Reiser5,
el sistema agregado "disco proxy - almacenamiento principal" es normal
volumen lógico con la única diferencia de que el disco proxy tiene prioridad
entre otros componentes de volumen en la política de asignación de direcciones de disco.
Agregar un disco proxy a un volumen lógico no va acompañado de ningún
reequilibrio de datos, y su eliminación se produce exactamente de la misma manera que
quitando un disco normal. Todas las operaciones del disco proxy son atómicas.
El manejo de errores y la implementación del sistema (incluso después de una falla del sistema) ocurre exactamente de la misma manera que si el disco proxy fuera un componente normal.
volumen lógico.
Después de agregar un disco proxy, la capacidad total del volumen lógico
aumenta en la capacidad de este disco. Monitoreo de espacio libre
El disco proxy se realiza de la misma manera que para otros componentes del volumen, es decir. usando la utilidad volume.reiser4(8).
El disco proxy debe limpiarse periódicamente, es decir. restablecer datos de
al almacenamiento principal. Después de alcanzar la estabilidad beta Reiser5
Está previsto que la limpieza sea automática (será gestionada por
hilo de núcleo especial). En esta etapa, la responsabilidad de la limpieza.
recae en el usuario. Restablecer datos del disco proxy al principal
El almacenamiento se produce simplemente llamando a la utilidad volume.reiser4 con la opción
"-b". Como argumento, debe especificar el punto de montaje de la lógica.
volúmenes Eso sí, debes recordar realizar la limpieza periódicamente. Para
Puede escribir un script de shell simple para hacer esto.
Si no hay espacio libre en el disco proxy, todos los datos
se escriben automáticamente en el almacenamiento principal. Al mismo tiempo, por defecto
el rendimiento general del FS se reduce (debido a llamadas constantes
procedimientos para realizar todas las transacciones existentes). Opcionalmente puedes configurar
modo sin pérdida de rendimiento. Sin embargo, en este caso el disco
El espacio del dispositivo proxy se utilizará de manera menos eficiente.
Es conveniente utilizar una subsección de metadatos (ladrillo) como disco proxy, siempre que se cree en un dispositivo de bloque de rendimiento suficientemente alto.
Fuente: opennet.ru