El almacenamiento en bloque, a veces denominado almacenamiento a nivel de bloque, es una tecnología que se utiliza para almacenar archivos de datos en redes de área de almacenamiento (SAN) o entornos de almacenamiento basados en la nube. Los desarrolladores prefieren el almacenamiento en bloque para actividades computacionales que requieran un transporte de datos rápido, eficiente y confiable.
El almacenamiento en bloque divide los datos en bloques para luego almacenarlos como piezas separadas, cada una con un identificador único. Las SAN colocan esos bloques de datos donde sea más eficiente. Eso significa que pueden almacenar esos bloques en diferentes sistemas y cada bloque se puede configurar (o particionar) para que funcione con diferentes sistemas operativos.
El almacenamiento en bloque también desacopla los datos de los entornos de usuario, lo que permite que los datos se distribuyan en varios entornos. Esto crea múltiples rutas a los datos y permite al usuario recuperarlos rápidamente. Cuando un usuario o una aplicación solicita datos de un sistema de almacenamiento en bloque, el sistema de almacenamiento subyacente vuelve a ensamblar los bloques de datos y los presenta al usuario o la aplicación.
El almacenamiento en bloque no se encuentra únicamente en el mundo del almacenamiento de datos. Los desarrolladores también utilizan otros sistemas, como el almacenamiento de objetos y el almacenamiento de archivos. Si bien el objetivo final de cada uno es proporcionar datos a los usuarios y las aplicaciones, cada uno de esos métodos de almacenamiento trata de almacenar y recuperar datos de manera diferente.
Almacenamiento de objetos
Almacenamiento de objetos, que también se conoce como almacenamiento basado en objetos, divide los archivos de datos en partes llamadas objetos. Luego almacena esos objetos en un único repositorio, que se puede distribuir en múltiples sistemas en red.
En la práctica, las aplicaciones administran todos los objetos, eliminando la necesidad de un sistema de archivos tradicional. Cada objeto recibe un número de identificación único que las aplicaciones utilizan para localizar el objeto. Además, cada objeto almacena metadatos, es decir, información sobre los archivos almacenados en el objeto.
Una diferencia importante entre el almacenamiento de objetos y el almacenamiento en bloque es cómo cada uno maneja los metadatos. En el almacenamiento de objetos, los metadatos se pueden personalizar para incluir información adicional y detallada sobre los archivos de datos almacenados en el objeto. Por ejemplo, los metadatos que acompañan a un archivo de video se pueden personalizar para indicar dónde se realizó el video, el tipo de cámara que se usó para grabarlo e incluso qué sujetos se capturaron en cada cuadro. En el almacenamiento en bloque, los metadatos se limitan a los atributos básicos del archivo.
El almacenamiento en bloque es más adecuado para archivos estáticos que no se cambian con frecuencia porque cualquier cambio realizado en un archivo da como resultado la creación de un nuevo objeto.
Almacenamiento de archivos
Almacenamiento de archivos, que también se conoce como almacenamiento a nivel de archivo o basado en archivos, normalmente se asocia con la tecnología Network Attached Storage (NAS). La tecnología NAS presenta almacenamiento a usuarios y aplicaciones utilizando la misma ideología que un sistema de archivos de red tradicional. En otras palabras, el usuario o la aplicación recibe datos a través de árboles de directorios, carpetas y archivos individuales. Esto funciona de manera similar a un disco duro local. Sin embargo, tanto NAS como el sistema operativo de red (NOS) manejan los derechos de acceso, el intercambio de archivos, el bloqueo de archivos y otros controles.
El almacenamiento de archivos puede ser muy fácil de configurar, pero el acceso a los datos está limitado por una única ruta a ellos, lo que puede afectar el rendimiento en comparación con el almacenamiento en bloque o de objetos. El almacenamiento de archivos también funciona únicamente con protocolos de nivel de archivo comunes, como un sistema de archivos de nueva tecnología (NTFS) para Windows o un sistema de archivos de red (NFS) para Linux. Esto podría limitar la usabilidad en sistemas diferentes.
En el siguiente video, Amy Blea de IBM compara el almacenamiento en bloque y el almacenamiento de archivos:
El almacenamiento en bloque permite la creación de volúmenes de almacenamiento sin procesar, a los que se pueden conectar los sistemas operativos que funcionan con los servidores. Puede tratar esos volúmenes sin procesar como discos duros individuales. Esto le permite utilizar el almacenamiento en bloque para casi cualquier tipo de aplicación, incluido el almacenamiento de archivos, el almacenamiento de bases de datos, los volúmenes del sistema de archivos de la máquina virtual (VMFS) y más.
Tomemos, por ejemplo, la implementación de máquinas virtuales en una empresa. Con el almacenamiento en bloque, usted podrá crear y formatear fácilmente un volumen de almacenamiento basado en bloques para almacenar el VMFS. Luego, un servidor físico puede adjuntarse a ese bloque, creando múltiples máquinas virtuales. Además, crear un volumen basado en bloques, instalar un sistema operativo y adjuntarlo a ese volumen permite a los usuarios compartir archivos utilizando ese sistema operativo nativo.
Las implementaciones en la nube privada son otro excelente uso del almacenamiento en bloque. Para profundizar en las nubes privadas y el almacenamiento en bloque, consulte la explicación de virtualización de IBM Garage para ampliar la nube privada virtualizada mediante el almacenamiento en bloque y de archivos.
La flexibilidad inherente del almacenamiento en bloque lo hace ideal para contenedores. Contenedores abstrae las aplicaciones de los sistemas operativos, igual que como la virtualización abstrae los sistemas operativos del hardware físico. Con el almacenamiento en bloque, usted podrá definir e implementar contenedores rápidamente. Los contenedores se benefician de la velocidad del almacenamiento en bloque y la capacidad nativa de un único host para montar varios bloques.
SAN
Los desarrolladores a menudo implementan almacenamiento en bloque mediante una red de área de almacenamiento (SAN). La SAN es una red informática que proporciona acceso al almacenamiento de datos. Las SAN presentan almacenamiento en bloque a otros sistemas en red como si esos bloques fueran dispositivos conectados localmente. Por ejemplo, un servidor puede conectarse a una SAN mediante una conexión de red de datos, como Fibre Channel, Internet Small Computer System Interface (iSCSI) o Infiniband, para acceder a un bloque como si fuera un volumen al que se accede localmente. También puede configurar varios sistemas de almacenamiento en una SAN, además de conectar varios servidores a la SAN.
Una SAN consta de muchos elementos o capas. La primera es la capa de host, que consta de un servidor y que ejecuta un sistema operativo de red, que está conectado a la red de datos a través de una tarjeta para un adaptador host, que se conecta a la red de almacenamiento mediante un cable. La capa de host está conectada a la capa de estructura, que es una colección de dispositivos, como conmutadores SAN, enrutadores, puentes de protocolo, dispositivos de puerta de enlace y cables. Esta capa interactúa con la capa de almacenamiento, que consta de los dispositivos de almacenamiento físicos, como unidades de disco, cinta magnética o medios ópticos.
Sistemas de almacenamiento RAID
El almacenamiento en bloque, por sí solo, no proporciona mucho en forma de redundancia, por lo que las matrices RAID son un aspecto importante a considerar para cualquier implementación de almacenamiento en bloque de misión crítica. RAID (sistema de almacenamiento redundante de discos independientes, por sus siglas en inglés) protege los datos escribiéndolos en dos o más unidades. Si un disco falla, la información de los otros discos generalmente puede reemplazarlo sin que los usuarios se den cuenta de la interrupción.
Soluciones de código abierto
Las alternativas de código abierto a las soluciones SAN tradicionales centradas en el proveedor están a la alza, con nuevos proyectos que surgen casi a diario, mientras que los proyectos establecidos continúan mejorando y agregando funciones. El proyecto de código abierto FreeNAS ofrece almacenamiento en bloque y un RAID definido por software; Openfiler es otra solución de almacenamiento de código abierto que incluye soporte para almacenamiento en bloque y RAID.
Si bien el código abierto muestra una promesa significativa en el sector del almacenamiento, se requiere de una experiencia para garantizar el éxito, lo que a su vez significa que los administradores de almacenamiento de hoy en día deberán recurrir a los proveedores para obtener soporte y servicio.
El Almacenamiento en Bloque como Servicio (Block Storage as a Service - BSSaaS) entra en una categoría mucho más amplia del Almacenamiento empresarial como servicio (ESaaS), donde aquellos que buscan almacenamiento basado en la nube pueden seleccionar entre almacenamiento en bloque, de archivos u objetos para satisfacer sus necesidades de almacenamiento de datos. En su mayor parte, al trabajar con ESaaS, los usuarios también tendrán que elegir una solución IaaS o PaaS e implementar aplicaciones y servidores directamente en la nube.
La capacidad de satisfacer la demanda es fundamental cuando se trata de almacenamiento. El consumo de almacenamiento ha crecido a un ritmo exponencial. Dado que el almacenamiento en bloque es independiente de los recursos informáticos, el escalado horizontal no requiere más que crear volúmenes de almacenamiento en bloque adicionales en un proveedor de ESaaS.
Para empresas que utilizan un enfoque de nube híbrida , el escalado horizontal puede requerir la compra de discos duros adicionales o matrices RAID, pero el proceso real de escalado horizontal sigue siendo relativamente el mismo. La implementación de volúmenes de almacenamiento en bloque adicionales es el requisito principal para aumentar la cantidad de almacenamiento disponible. Obtenga más información sobre el almacenamiento en bloque y escala.
IBM Cloud Block Storage ofrece un rendimiento de disco local con soporte de flash, durabilidad y persistencia de SAN.
El almacenamiento de objetos, también llamado almacenamiento basado en objetos, es una arquitectura de almacenamiento de datos para manejar grandes cantidades de datos no estructurados.
Descubra cómo las SAN pueden aumentar la escalabilidad, la disponibilidad y el rendimiento de las aplicaciones.
Los contenedores son unidades ejecutables de software que empaquetan el código de la aplicación junto con las dependencias de sus bibliotecas y se pueden ejecutar en cualquier lugar, ya sea en el escritorio, en la TI tradicional o en la nube.