Explicación de la tecnología de almacenamiento: almacenamiento de archivos, bloques y objetos

Archivo, bloque y objeto son fundamentales para la forma en que los usuarios y las aplicaciones acceden y modifican el almacenamiento de datos. Ese ha sido el caso durante décadas, y la transición a la nube ha demostrado que sigue siéndolo, pero con adaptaciones al caso de uso, el rendimiento y las limitaciones de costos del almacenamiento en la nube.

En este artículo, analizamos los fundamentos del sistema de archivos y el almacenamiento de archivos, bloques y objetos, cómo los archivos, bloques y objetos han pasado a la vida en la nube, y la disponibilidad emergente de sistemas de archivos globales. También profundizamos en cómo se implementa el bloqueo de archivos y objetos, y las diferencias entre el sistema de archivos de red (NFS), el bloque de mensajes del servidor (SMB) y el sistema de archivos común de Internet (CIFS) en el almacenamiento de archivos.

El sistema de archivos es un elemento fundamental de la informática que permite organizar y recuperar datos (normalmente en directorios jerárquicos). Es un sistema lógico para ayudar al sistema operativo (SO) y al usuario a diferenciar y organizar información y también forma parte del direccionamiento físico de datos en medios de almacenamiento.

Los sistemas de archivos especifican convenciones para la denominación de archivos, como la longitud del nombre de archivo, qué caracteres usar, distinción entre mayúsculas y minúsculas, extensión del tipo de archivo, etc. Un sistema de archivos también mantiene metadatos sobre los archivos, como el tamaño del archivo, la fecha de creación o la ubicación en el directorio.

La mayoría de los sistemas de archivos organizan los archivos en una jerarquía, con la ubicación del archivo descrita por una ruta dentro de la estructura del directorio. Los directorios están organizados en una estructura de árbol jerárquico invertido.

Los medios físicos se pueden formatear para que funcionen con diferentes sistemas de archivos en particiones. O bien, se pueden crear particiones para ayudar a aislar archivos de diferentes tipos entre sí por razones de rendimiento o seguridad, como archivos del sistema operativo, archivos de usuario y archivos del sistema. Las particiones se dividen en bloques dedicados, por ejemplo, al contenido del archivo, metadatos y datos del sistema.

El acceso de usuarios y aplicaciones también está controlado por el sistema de archivos. Puede ser quién tiene acceso a qué archivos y directorios, así como control de acceso para que no se produzcan escrituras simultáneas que puedan provocar daños o problemas lógicos. Los archivos también se pueden cifrar contra el acceso externo.

Sistema de administración de base de datos

Un sistema de gestión de bases de datos (DBMS) es un poco como un sistema de archivos. Pero, mientras que un sistema de archivos proporciona interacción con todo el archivo y almacena archivos como elementos discretos no estructurados, un DBMS permite a los usuarios interactuar y cambiar elementos en una base de datos casi simultáneamente. El DBMS administra la base de datos como un repositorio de datos consistente, único y altamente controlado con controles de acceso y seguridad sólidos.

El almacenamiento en bloque y con acceso a archivos ofrece dos formas de interactuar con el sistema de archivos.

¿Qué es el almacenamiento de archivos?

El almacenamiento de archivos, o almacenamiento de acceso a archivos, es un almacenamiento en el que se accede a archivos completos a través del sistema de archivos, generalmente a través de un almacenamiento conectado a la red (NAS). Estos productos vienen con su propio sistema de archivos integrado, desde el cual el almacenamiento se presenta a las aplicaciones y usuarios en formato de letra de unidad.

Esto contrasta con el almacenamiento en bloques, como veremos a continuación, y es una distinción fundamental en la infraestructura de almacenamiento.

Más contenido para leer:  Los compradores de TI policiales deben obligar a los proveedores a probar las afirmaciones de IA

Los sistemas de archivos tienen numerosos beneficios. Entre ellos está que la mayoría de las aplicaciones empresariales están escritas para interactuar con datos a través de un sistema de archivos, aunque eso está siendo erosionado por el almacenamiento de objetos (ver más abajo).

El almacenamiento de archivos accede a archivos completos, por lo que no está estructurado y es adecuado para el almacenamiento de archivos general, así como para cargas de trabajo especializadas que requieren acceso a archivos, como en medios y entretenimiento. En forma de NAS escalable, es un pilar de los repositorios a gran escala para cargas de trabajo de análisis y computación de alto rendimiento (HPC).

¿Qué es el almacenamiento en bloque?

En el almacenamiento en bloque, el hardware de red de área de almacenamiento (SAN) no aborda archivos completos (aunque puede hacerlo). En cambio, el almacenamiento en bloques proporciona acceso a las aplicaciones a los bloques que componen los archivos (en particular, las bases de datos).

Esto se adapta a cargas de trabajo en las que muchos usuarios trabajan en el mismo archivo simultáneamente y posiblemente desde la misma aplicación (correo electrónico, aplicaciones empresariales como planificación de recursos empresariales (ERP), por ejemplo), pero con bloqueo en el nivel de subarchivo.

Entonces, en el caso del almacenamiento en bloque, el sistema de archivos a través del cual se comunican las aplicaciones reside más arriba en la pila, en los servidores host.

El almacenamiento en bloque tiene la gran ventaja de un alto rendimiento y de no tener que lidiar con metadatos e información del sistema de archivos.

¿Qué es el almacenamiento de objetos?

El almacenamiento de objetos es el nuevo chico de la cuadra, relativamente hablando.

A diferencia del almacenamiento de archivos y bloques, carece de un sistema de archivos y se basa en una estructura “plana” con acceso a los objetos a través de sus ID únicos. En este sentido, es similar al sistema de nombres de dominio (DNS) utilizado para acceder al contenido web.

Por lo tanto, el almacenamiento de objetos no es jerárquico y carece de la estructura del sistema de directorios. Esto puede ser una ventaja cuando los conjuntos de datos crecen mucho. Algunos sistemas NAS pueden volverse difíciles de manejar cuando llegan a miles de millones de archivos.

El almacenamiento de objetos también ofrece un conjunto de metadatos más rico que los sistemas de archivos tradicionales, lo que lo hace adecuado para el almacenamiento de datos para análisis e inteligencia artificial (IA).

El almacenamiento de objetos accede a los datos de una manera que se parece más al acceso a archivos, pero carece del mismo tipo de bloqueo de archivos. A menudo, por ejemplo, más de un usuario puede acceder a un objeto al mismo tiempo (piense en Google Docs). Por lo tanto, el almacenamiento de objetos se describe como “eventualmente consistente”.

La mayoría de las aplicaciones heredadas no están escritas para el almacenamiento de objetos, pero es el método de acceso al almacenamiento elegido para la era de la nube. Esto se debe en gran medida al hecho de que el almacenamiento de objetos en la nube comprende la mayor parte de la capacidad ofrecida por los proveedores de nube hiperescaladores.

¿Qué es el almacenamiento de archivos, bloques y objetos en la nube?

La nube es el hogar natural del almacenamiento de objetos, y es aquí donde surgieron estándares de facto como S3. El almacenamiento de objetos es el almacenamiento masivo de la era de la nube y proporciona un fácil acceso a datos que pueden existir felizmente y eventualmente ser consistentes.

Más contenido para leer:  Think Tank de seguridad: para asegurar el código de manera efectiva, verifique en cada paso

Los tres grandes proveedores de nube hiperescaladora –Amazon Web Services (AWS), Microsoft Azure y Google Cloud Platform– también ofrecen sus propios servicios de almacenamiento de archivos y bloques, así como los de proveedores de almacenamiento externos.

Las tres grandes opciones de almacenamiento en la nube incluyen el almacenamiento de objetos como S3 de AWS, Azure Blob y Google Cloud Storage.

El almacenamiento de archivos de los hiperescaladores incluye: Elastic File System (EFS) de Amazon, que es un sistema de archivos basado en NFS que opera en la nube y en almacenamiento local; Azure Files, que utiliza SMB y permite el montaje simultáneo de archivos compartidos en la nube o en las instalaciones; y Google Cloud Filestore, que proporciona NAS para Google Compute Engine y Kubernetes Engines con almacenamiento ofrecido en niveles estándar y premium.

El almacenamiento en bloque de los tres grandes se presenta como Amazon Elastic Block Store, que funciona con Amazon Elastic Compute Cloud; Azure Disk, que proporciona discos administrados para máquinas virtuales de Azure; y el almacenamiento en bloque de Google Persistent Disk, que funciona hasta 64 TB y ofrece discos persistentes estándar, SSD persistentes y SSD locales.

Los tres hiperescaladores también ofrecen almacenamiento de archivos de mayor rendimiento basado en el almacenamiento de NetApp. Pure Storage Cloud Block Store está disponible en AWS.

¿Qué son los sistemas de archivos globales?

Varios proveedores ofrecen los llamados sistemas de archivos globales que combinan un sistema de archivos distribuido en la nube pública y hardware de red local, con todos los datos en un único espacio de nombres. Los proveedores incluyen Ctera, Nasuni, Panzura, Hammerspace y Peer Software.

CTERA proporciona una combinación de Edge, un archivador de caché, CTERA Drive, un agente para dispositivos terminales y VDI para espacios de trabajo virtuales.

Hammerspace ofrece a los clientes una vista única de sus metadatos a través de su NAS de hiperescala que, según afirma, permite almacenar y acceder a los datos de manera eficiente.

Nasuni ofrece su plataforma File Data, basada en su sistema de archivos UniFS, con instancias locales de Edge para acceso en caché local, además de consolas de administración y orquestación, Nasuni IQ para análisis de rendimiento e interfaces de programación de aplicaciones (API).

Panzura se posiciona como un actor de gestión de datos y una plataforma única para datos no estructurados. Su sistema de archivos global es CloudFS, que crea un conjunto de datos único y optimizado.

Peer proporciona un servicio de archivos global con soporte híbrido y de múltiples nubes, y soporte para sitios de centro de datos y de borde. PeerGFS es solo software, con sincronización activo-activo, un espacio de nombres global que utiliza Microsoft DFSN e integración de almacenamiento de objetos.

¿Cuál es la diferencia entre bloqueo de archivos y bloqueo de objetos?

Una función fundamental de los sistemas de archivos son sus mecanismos de bloqueo. Estos garantizan que diferentes usuarios y aplicaciones que trabajan en el mismo archivo simultáneamente no puedan causar conflictos que resulten en imprecisiones e inconsistencias en los datos.

El bloqueo es fuerte y está bien desarrollado en los sistemas de archivos. Sin embargo, el almacenamiento de objetos no se basa en un sistema de archivos, por lo que carece del mismo tipo de métodos que permiten el bloqueo.

El almacenamiento de archivos (NAS) y de bloques (SAN) descansa en el sistema de archivos. El almacenamiento NAS accede a los archivos directamente, mientras que el almacenamiento en bloque accede a bloques en el sistema de archivos para actualizar partes de una base de datos, por ejemplo, que a su vez comprende un “archivo”.

Más contenido para leer:  Verizon se suma a la cartera de adaptadores para impulsar el acceso inalámbrico fijo 5G

Los sistemas Windows pueden configurar el bloqueo de archivos por aplicación y usuario para archivos completos para restringir el acceso, compartir, leer, escribir y eliminar, o bloqueos de rango de bytes para regiones de archivos.

Los sistemas de archivos similares a Unix, incluido Linux, varían según las distribuciones, pero puedes modificar los archivos abiertos en Linux, por ejemplo. Las diferencias tienen que ver con la forma en que Windows y los sistemas tipo Unix registran la información de los archivos, pero todos pueden restringir el acceso y los cambios a los archivos.

Mientras tanto, el almacenamiento de objetos carece de bloqueo integrado. No es que no exista en el almacenamiento de objetos, pero no está integrado en el almacenamiento de objetos de la misma manera que en los sistemas de archivos. Varios usuarios pueden trabajar en el mismo objeto a la vez, y los cambios se concilian de forma “eventualmente coherente”.

Algunas formas de bloqueo se implementan en el almacenamiento de objetos y en la nube. Estos incluyen puertas de enlace de protocolo de acceso a archivos que se encuentran frente a los almacenes de objetos.

Los proveedores de nube como AWS brindan bloqueo de objetos con modos de cumplimiento y gobernanza que brindan diferentes niveles de acceso. Se pueden establecer períodos de retención que mantengan los bloqueos en su lugar hasta la fecha establecida. Microsoft Azure también tiene bloqueo para sus objetos Blob, con la capacidad de hacerlos inmutables y aplicar retención legal.

El bloqueo de objetos ha adquirido cierta importancia como forma de poner en cuarentena los datos contra ataques de ransomware.

Las bases de datos NoSQL suelen utilizar almacenamiento de objetos y pueden tomar datos semiestructurados y no estructurados e implementar sus propios mecanismos de bloqueo. Por ejemplo, MongoDB permite bloquear qué solicitudes están en cola, mientras que CouchDB tiene una forma de coherencia eventual.

¿Cuál es la diferencia entre NFS, SMB y CIFS?

NFS, SMB y CIFS son protocolos de almacenamiento de archivos que brindan acceso a archivos en servidores y servidores de almacenamiento (como el almacenamiento NAS) como si fueran archivos locales.

Se diferencian del sistema de archivos, ya que son protocolos que operan en la capa de aplicación para facilitar la comunicación entre las aplicaciones y el almacenamiento, a través del sistema de archivos. Son protocolos de capa de aplicación, del mismo orden que HTTP, FTP, POP y SMTP, por ejemplo.

NFS, SMB y CIFS se utilizan con el almacenamiento de acceso a archivos NAS, no con el almacenamiento de acceso a bloques SAN.

NFS se utiliza principalmente con los sistemas operativos Linux y Unix, y fue desarrollado originalmente por Sun Microsystems en 1984. Llegó a la versión 4.2, con funcionalidad de acceso a archivos paralelo (pNFS, utilizado en NAS escalables), en 2016.

Aunque desarrollado por un proveedor de Unix y utilizado a menudo para Unix y Linux, NFS también se puede utilizar en entornos Windows.

SMB se utiliza principalmente en entornos Windows y es la base del sistema de archivos distribuido de Microsoft. IBM desarrolló SMB por primera vez en 1983 para proporcionar acceso de red compartido a archivos e impresoras. Microsoft lo retomó más tarde y lo incorporó a Windows NT 3.1. Lo ha conservado en sus sistemas operativos desde entonces.

CIFS es una implementación de SMB, introducida por primera vez en 1996. Se utiliza principalmente con transportes basados ​​en NetBIOS y se centra en archivos LAN pequeños, impresión y acceso de aplicaciones al almacenamiento. Es menos escalable que NFS y se considera comunicativo, con errores y menos seguro que SMB.

Nuestro objetivo fué el mismo desde 2004, unir personas y ayudarlas en sus acciones online, siempre gratis, eficiente y sobre todo fácil!

¿Donde estamos?

Mendoza, Argentina

Nuestras Redes Sociales