¿Qué es el almacenamiento en bloques?
Sé que bloqueaste tus calendarios para volver aquí y leer nuestro blog semanal sobre formatos de almacenamiento, ¿verdad? Bueno, por si acaso no lo hiciste, asegúrate de revisar la pieza introductoria de la semana pasada que cubre todos los aspectos de almacenamiento de archivos. El blog de esta semana trata sobre el almacenamiento en bloques, un formato ligeramente más matizado que el de archivos y objetos, pero no menos atractivo.
Parte 2. ¿Qué es el Almacenamiento en Bloques?
El almacenamiento en bloques es un formato de almacenamiento que trata cada volumen como un disco duro separado. Su configuración es responsabilidad del administrador de almacenamiento. Por eso se llama "bloque": organiza y estructura los datos como bloques de tamaño fijo. A cada bloque se le asigna metadatos que sirven como su dirección única. Lo interesante del almacenamiento en bloques es que no se limita a un solo entorno: puedes almacenar varios bloques en un entorno y el resto en otro.
El almacenamiento en bloques se opera y gestiona a través de un software único, separado de los medios de almacenamiento. Este programa controla la forma en que se asignan y organizan los bloques en el espacio en disco. La opción de recuperación también es parte de su funcionalidad, ya que este software utiliza identificadores únicos para localizar los bloques requeridos y organizarlos en archivos según lo necesite el usuario. La forma más tradicional de operar y controlar tales programas de gestión es utilizando un sistema operativo de servidor para formatear dispositivos de bloque con un sistema de archivos. Los usuarios pueden acceder a los volúmenes de almacenamiento en bloques a través de protocolos como NVMe-oF, NVMe sobre TCP, Fiber Channel sobre Ethernet (FCoE) o iSCSI. Además, el almacenamiento adjunto directamente, los discos y el RAID de servidor también son dispositivos de almacenamiento en bloques.
Pros & Contras del Almacenamiento en Bloques
Hoy en día, el almacenamiento en bloques es una solución bastante popular para muchos entornos. Esto no es sorprendente, considerando algunas de sus ventajas. Naturalmente, también tiene desventajas.
Pros:
- Alto rendimiento: El acceso al almacenamiento en bloques utilizando protocolos de alto rendimiento es una opción perfecta para aplicaciones críticas de alto rendimiento. Prácticamente, garantiza un alto rendimiento de I/O con baja latencia como la guinda del pastel. Su uso más popular es como una alternativa de alto rendimiento al almacenamiento de archivos, utilizado predominantemente en entornos SAN.
- Fiabilidad: El almacenamiento en bloques generalmente tiene una baja tasa de fallos, ya que los bloques de datos se almacenan en unidades autónomas. Una organización puede restaurar datos de medios de respaldo rápidamente en caso de fallo.
- Modificaciones Incrementales: Una de las cosas más valiosas sobre el almacenamiento en bloques en términos prácticos es que es fácil de modificar. Dentro de un entorno de almacenamiento en bloques, los archivos pueden alterarse sin la necesidad de eliminar datos existentes, como habría sucedido en el caso de un sistema de almacenamiento de archivos. En consecuencia, los bloques pueden ser sometidos a cualquier operación, incluyendo reemplazo, eliminación o inserción. En otras palabras, si deseas cambiar un bloque, no hay necesidad de crear uno nuevo. Simplemente crea otra versión.
Contras:
- Vinculado al Servidor: El sistema de almacenamiento en bloques suele estar vinculado al servidor, lo que hace imposible acceder a él desde otros servidores simultáneamente. Puedes poner algún software que lo solucione encima, por supuesto. Desafortunadamente, esto no elimina inconvenientes, ya que es una presión adicional sobre el sistema en general, afectando el rendimiento.
- Metadatos Limitados: A diferencia de los archivos o almacenamiento de objetos, los volúmenes de almacenamiento en bloques tienen casi ningún metadato. No es difícil imaginar cómo esto puede reflejarse negativamente en operaciones donde el uso de metadatos es crítico, como en la búsqueda y recuperación. En un entorno de almacenamiento en bloques, una aplicación tiene que pasar por muchos bloques para tener éxito en la búsqueda. Sin embargo, sistemas de archivos específicos como ZFS o Btrfs pueden proporcionar capacidades de metadatos para aumentar la integridad de los datos.
- Difícil de Costear: El almacenamiento en bloques es, de hecho, performativo y fiable, pero necesita SANs, que son costosas. Tal arreglo de almacenamiento requiere algunos gastos financieros considerables, sin mencionar el mantenimiento profesional y regular. Incluso una gran empresa puede encontrar que apoyar y mantener el almacenamiento en bloques no es tan fácil de costear.
Casos de Uso del Almacenamiento en Bloques
El almacenamiento en bloques rápido y performativo encuentra mucha apreciación. Aquí hay algunos posibles casos de uso:
- Almacenamiento de Bases de Datos: Velocidad, rendimiento y fiabilidad. Estas son las razones que hacen que el almacenamiento en bloques sea excelente para bases de datos y como buen soporte para aplicaciones empresariales. Los bloques de datos también son simples de modificar, lo que hace que esto sea una buena opción para archivos que se actualizan con frecuencia.
- Almacenamiento de Servidores: Los sistemas de almacenamiento en bloques distribuyen datos a través de múltiples volúmenes. Un volumen de almacenamiento basado en bloques es simple de crear y formatear. Es perfecto para funcionar como almacenamiento backend para un sistema virtualizado. Puedes crear múltiples VMs al conectar un servidor bare-metal a ese bloque. Por ejemplo, muchas empresas a menudo utilizan almacenamiento en bloques para desplegar volúmenes VMFS en toda la empresa.
- Servidores de Correo Electrónico: Las organizaciones a menudo eligen tecnología de almacenamiento en bloques altamente performativa y fiable como opción estándar para almacenar correos electrónicos.
Y con eso, se ha establecido la comprensión fundamental de los formatos de almacenamiento de archivos y bloques. Esperamos que hayas encontrado refrescante revisar estos tipos de almacenamiento tanto como nosotros. Con un último blog en la serie, discutiremos el más nuevo de los tres (y nuestro favorito personal ?) almacenamiento de objetos la próxima semana.