El principio técnico de clasificación de almacenamiento y almacenamiento de objetos osd

¿Qué es el almacenamiento de objetos (OSD)?

Storage Area Network (SAN) y Network Attached Storage (NAS) son dos arquitecturas principales de almacenamiento en red con las que estamos más familiarizados. El almacenamiento basado en objetos es una nueva arquitectura de almacenamiento en red. Los dispositivos basados ​​en la tecnología de almacenamiento de objetos son objetos. Almacenamiento basado en objetos El dispositivo se conoce como OSD.

El historial

de desarrollo del almacenamiento de objetos: El grupo de trabajo Dispositivo de almacenamiento de objetos (Dispositivo de almacenamiento de objetos) de la Asociación de la industria de almacenamiento en red global (SNIA) establecido en 1999 publicó el estándar ANSI X3T10.

Ventajas del almacenamiento de objetos: en

términos generales, el almacenamiento de objetos tiene las características de disco de acceso directo de alta velocidad de SAN y las características de uso compartido distribuido de NAS.

La estructura SAN (Storage Area Network)

utiliza el conjunto de comandos de E / S de bloque SCSI y proporciona E / S aleatorias de alto rendimiento y rendimiento de datos a través del acceso a datos a nivel de disco o FC (canal de fibra). Tiene un ancho de banda alto y un bajo latencia. Por ejemplo, el sistema de archivos CXFS de SGI se basa en SAN para lograr un almacenamiento de archivos de alto rendimiento. Sin embargo, debido al alto precio y la escasa escalabilidad del sistema SAN, ya no puede satisfacer las necesidades de miles de personas. Una CPU -sistema de escala.

La estructura NAS (Network Attached Storage)

utiliza un conjunto de comandos NFS o CIFS para acceder a los datos, utiliza archivos como protocolo de transmisión y realiza el almacenamiento en red a través de TCP / IP. Tiene una buena escalabilidad, un precio bajo y una fácil gestión para los usuarios, como los actuales. Se utilizan muchos sistemas de archivos NFS, pero debido a la alta sobrecarga del protocolo, el bajo ancho de banda y la gran latencia del NAS, no es propicio para la aplicación en clústeres de alto rendimiento.

Estructura de almacenamiento de objetos

El núcleo es separar la ruta de datos (lectura o escritura de datos) y la ruta de control (metadatos), y construir un sistema de almacenamiento basado en dispositivos de almacenamiento basados ​​en objetos (OSD). Cada dispositivo de almacenamiento de objetos tiene un cierto grado de inteligencia y puede Gestione automáticamente la distribución de datos en él.

Componentes de la estructura de almacenamiento de objetos (objetos, dispositivos de almacenamiento de objetos, servidores de metadatos, clientes del sistema de almacenamiento de objetos):


arquitectura de almacenamiento de

objetos 1. Los

objetos de objeto son la unidad básica de almacenamiento de datos en el sistema, y ​​un objeto son en realidad los datos y uno del archivo .La combinación de información de atributos de grupo (metadatos), que puede definir parámetros RAID basados ​​en archivos, distribución de datos y calidad del servicio, etc. Sin embargo, en los sistemas de almacenamiento tradicionales, los archivos o bloques se utilizan como unidad básica de almacenamiento. para rastrear siempre los atributos de cada bloque en el sistema, y ​​los objetos mantienen sus propios atributos a través de la comunicación con el sistema de almacenamiento. En el dispositivo de almacenamiento, todos los objetos tienen un identificador de objeto, al que se puede acceder a través del comando OSD del identificador de objeto. Por lo general, existen varios tipos de objetos. El objeto raíz en el dispositivo de almacenamiento identifica el dispositivo de almacenamiento y varios atributos del dispositivo, y el objeto de grupo es una colección de objetos que comparten políticas de administración de recursos en el dispositivo de almacenamiento.

 

Comprender la relación jerárquica de los objetos (fuente de imagen SNIA)

Composición de objetos (fuente gráfica Oracle)

2. Dispositivo de almacenamiento de objetos El dispositivo de almacenamiento de

objetos tiene cierta inteligencia, tiene su propia CPU, memoria, red y sistema de disco. La diferencia entre OSD y el mismo dispositivo de bloque no está en el medio de almacenamiento, sino en las dos interfaces de acceso proporcionadas. Las principales funciones de OSD incluyen el almacenamiento de datos y el acceso seguro. Actualmente, la estructura de la hoja se usa generalmente para implementar dispositivos de almacenamiento de objetos en el mundo. OSD proporciona tres funciones principales:

(1) Almacenamiento de datos. OSD administra los datos de los objetos y los coloca en un sistema de disco estándar. OSD no proporciona métodos de acceso a la interfaz de bloque. Los clientes usan ID de objeto y compensaciones para leer y escribir datos cuando solicitan datos.

(2) Distribución inteligente. OSD usa su propia CPU y memoria para optimizar la distribución de datos y admite la captura previa de datos. Dado que OSD puede admitir de forma inteligente la captación previa de objetos, se puede optimizar el rendimiento del disco.

(3) Gestión de metadatos para cada objeto. El OSD administra los metadatos del objeto almacenado en él, que es similar a los metadatos de inodos tradicionales y generalmente incluye el bloque de datos del objeto y la longitud del objeto. En el sistema NAS tradicional, estos metadatos son mantenidos por el servidor de archivos y la arquitectura de almacenamiento de objetos completa el trabajo principal de administración de metadatos en el sistema mediante el OSD, lo que reduce la sobrecarga del cliente. 

3. Servidor de metadatos (MDS)

MDS controla la interacción entre el Cliente y los objetos OSD y proporciona principalmente las siguientes funciones:

(1) Acceso al almacenamiento de objetos.

MDS construye y administra una vista que describe la distribución de cada archivo, lo que permite a los clientes acceder directamente a los objetos. El MDS proporciona al Cliente la capacidad de acceder a los objetos contenidos en el archivo, y el OSD verificará esta capacidad al recibir cada solicitud antes de que pueda acceder.

(2) Gestión de acceso a archivos y directorios.

MDS crea una estructura de archivos en el sistema de almacenamiento, incluido el control de cuotas, la creación y eliminación de directorios y archivos, y el control de acceso.

(3) Consistencia de la caché del cliente.

Para mejorar el rendimiento del cliente, la caché del lado del cliente generalmente se admite en el diseño de sistemas de almacenamiento de objetos. Debido a la introducción de la caché del lado del cliente, se ha producido el problema de la coherencia de la caché. MDS es compatible con la caché de archivos basada en el cliente. Cuando un archivo en la caché cambia, se notificará al cliente que actualice la caché, evitando así los problemas causados por caché inconsistente.

4. Cliente del sistema de almacenamiento de objetos

Para que el cliente apoye eficazmente el acceso a los objetos en el OSD, el cliente del sistema de almacenamiento de objetos debe implementarse en el nodo informático. Por lo general, proporciona una interfaz de sistema de archivos POSIX, lo que permite aplicaciones para realizar operaciones estándar del sistema de archivos.

Tecnología clave del sistema de archivos de almacenamiento de objetos

1. Metadatos distribuidos El servidor de metadatos de la estructura de almacenamiento tradicional generalmente proporciona dos funciones principales.

(1) Proporcione una vista lógica (sistema de archivos virtual, capa VFS) de los datos de almacenamiento, la lista de nombres de archivos y la estructura de directorios para los nodos informáticos.

(2) Organizar la distribución de datos de los medios de almacenamiento físicos (capa de inodo). La estructura de almacenamiento de objetos separa la vista lógica de los datos almacenados de la vista física y distribuye la carga para evitar los cuellos de botella causados ​​por los servidores de metadatos (como los sistemas NAS). La parte VFS de los metadatos suele ser el 10% de la carga del servidor de metadatos, y el 90% restante del trabajo (parte del inodo) se realiza en la distribución física de los datos en el bloque de medios de almacenamiento. En la estructura de almacenamiento de objetos, el trabajo de inodo se distribuye a cada OSD inteligente, y cada OSD es responsable de administrar la distribución y recuperación de datos, de modo que el 90% del trabajo de administración de metadatos se distribuye a dispositivos de almacenamiento inteligentes, mejorando así el rendimiento de la administración de metadatos del sistema. . Además, la administración de metadatos distribuidos puede aumentar simultáneamente el rendimiento de los metadatos y la capacidad de almacenamiento del sistema al agregar más OSD al sistema.

2. La arquitectura de almacenamiento de objetos de acceso a datos simultáneos define una interfaz de disco OSD nueva y más inteligente. OSD es un dispositivo conectado a la red. Contiene medios de almacenamiento, como discos o cintas, y tiene suficiente inteligencia para administrar los datos almacenados localmente. El nodo informático se comunica directamente con el OSD y accede a los datos almacenados en él. Debido a que el OSD tiene inteligencia, no requiere la intervención de un servidor de archivos. Si los datos del sistema de archivos se distribuyen en varios OSD, la tasa de E / S agregada y la tasa de rendimiento de datos aumentarán linealmente. Para la mayoría de las aplicaciones de clúster de Linux, el ancho de banda agregado continuo de E / S y la tasa de rendimiento tendrán un impacto significativo. El propósito de calcular el nodo es muy importante. El rendimiento proporcionado por la estructura de almacenamiento de objetos es actualmente difícil de lograr con otras estructuras de almacenamiento, por ejemplo, el ancho de banda del sistema de archivos de almacenamiento de objetos de ActiveScale puede alcanzar los 10 GB / s.

 

¿Qué es el almacenamiento de objetos?

Primero, echemos un vistazo a ¿qué es el almacenamiento de objetos? En la actualidad, existen tres tipos de almacenamiento independiente: almacenamiento en bloque, almacenamiento de archivos y almacenamiento de objetos emergente.

Nuestra comprensión simple del almacenamiento en bloque es un bloque de discos duros, que se montan directamente en el host, y lo que podemos ver en el host son bloques de discos duros y particiones del disco duro. Desde la perspectiva de la arquitectura de almacenamiento, el almacenamiento en bloque se divide en almacenamiento DAS (almacenamiento de conexión directa) y almacenamiento SAN (red de área de almacenamiento).

Almacenamiento de archivos, nos referimos al almacenamiento en el sistema de archivos, es decir, el sistema de archivos en el sistema operativo host. Sabemos que hay particiones, carpetas y subcarpetas en el sistema de archivos, formando una estructura de archivos de arriba hacia abajo; archivos bajo el sistema de archivos, los usuarios pueden abrir, modificar y otras operaciones a través de aplicaciones en el sistema operativo, como Open word, editar palabra. En términos de arquitectura, el almacenamiento de archivos proporciona una arquitectura NAS (Network Attached Storage), de modo que el sistema de archivos del host no se limita al sistema de archivos local, sino que también se puede conectar a un sistema de archivos compartido basado en una red de área local. .

El nuevo almacenamiento de objetos está orientado a objetos / orientado a archivos, almacenamiento masivo de Internet, y también se puede denominar directamente "almacenamiento en la nube". Si bien el objeto es un archivo, es un archivo que ha sido encapsulado (el objeto en programación tiene la característica de encapsulado), es decir, en el sistema de almacenamiento de objetos no se puede abrir / modificar directamente el archivo, pero sí se puede cargue el archivo como ftp, descargue archivos, etc. Además, el almacenamiento de objetos no tiene una estructura de archivos de varios niveles como el sistema de archivos, sino que solo tiene el concepto de "depósito" (es decir, espacio de almacenamiento). Todos los objetos del "depósito" son un método de almacenamiento muy plano. . Su característica más importante es que su nombre de objeto es una dirección de nombre de dominio. Una vez que el objeto se establece en "público", todos los internautas pueden acceder a él, su propietario también puede acceder al objeto a través de la API REST. Por lo tanto, el escenario de uso más común para el almacenamiento de objetos es almacenar contenido estático (videos, imágenes, archivos, paquetes de instalación de software, etc.) de Internet / aplicaciones de Internet móvil como sitios web y aplicaciones móviles.

El siguiente es un diagrama esquemático de las tres formas de almacenamiento y la arquitectura de almacenamiento.
ä »ä¹æ¯å¯¹è ± ¡åå¨ï¼OSDæ¶æååç
Este artículo presenta una comparación de tres tipos de almacenamiento: almacenamiento de archivos, bloques y objetos.

Entre ellos, el almacenamiento en bloque y el almacenamiento de archivos son dos tipos de almacenamiento principales con los que estamos más familiarizados, y el almacenamiento de objetos (almacenamiento basado en objetos) es una nueva arquitectura de almacenamiento en red. Los dispositivos basados ​​en la tecnología de almacenamiento de objetos son dispositivos de almacenamiento de objetos (basados ​​en objetos dispositivo de almacenamiento basado en almacenamiento) denominado OSD. (¿Qué es el almacenamiento de objetos? Arquitectura y principios de OSD)

Primero, presentamos estos dos tipos de almacenamiento tradicionales. En términos generales, todas las matrices de discos se basan en el modelo de bloque y todos los productos NAS son almacenamiento a nivel de archivo.

1. Almacenamiento en bloque

Los dos métodos de almacenamiento que se enumeran a continuación son tipos de almacenamiento en bloque:

 1) DAS (almacenamiento de conexión directa): es un método de almacenamiento conectado directamente al servidor host, y cada servidor host tiene un dispositivo de almacenamiento independiente. cada servidor host no puede comunicarse entre sí. Cuando necesita acceder a datos entre hosts, debe pasar por una configuración relativamente compleja. Si los servidores host pertenecen a diferentes sistemas operativos, es aún más complicado acceder a los datos de los demás. No se puede acceso. Por lo general, se utiliza en un entorno de red único donde la cantidad de intercambio de datos no es grande y los requisitos de rendimiento no son altos. Se puede decir que es una implementación de tecnología anterior.

2) SAN (Storage Area Network): es un método de almacenamiento que conecta servidores host profesionales con una red de alta velocidad (fibra óptica). Este sistema se ubicará en el extremo posterior del clúster de host. Utiliza I / O conexiones, como SCSI, ESCON y Fibre-Channels. En términos generales, las aplicaciones SAN se caracterizan por un alto costo y un buen rendimiento en entornos de aplicaciones que requieren alta velocidad de red, alta confiabilidad y seguridad de los datos y requisitos de alto rendimiento para compartir datos. Por ejemplo, las aplicaciones clave del gran volumen de datos en telecomunicaciones y bancos. Utiliza el conjunto de comandos de E / S de bloque SCSI y proporciona E / S aleatorias de alto rendimiento y rendimiento de datos a través del acceso a datos a nivel de disco o FC (canal de fibra). Tiene las ventajas de un ancho de banda alto y una latencia baja. Ocupa un lugar en la informática, pero debido al alto precio del sistema SAN y la escasa escalabilidad, ya no puede satisfacer las necesidades de miles de sistemas a escala de CPU.

2. Almacenamiento de archivos

Generalmente, los productos NAS son almacenamiento a nivel de archivos. NAS (Network Attached Storage): es un conjunto de dispositivos de almacenamiento de red, generalmente conectados directamente a la red y proporciona servicios de acceso a datos. Un conjunto de dispositivos de almacenamiento NAS es como un sistema que proporciona servicios de archivos de datos y se caracteriza por un alto costo rendimiento. Por ejemplo, aplicaciones de almacenamiento de datos como educación, gobierno y empresas.

Utiliza un conjunto de comandos NFS o CIFS para acceder a los datos, utiliza archivos como protocolo de transmisión y realiza el almacenamiento en red a través de TCP / IP. Tiene buena escalabilidad, bajo precio y fácil administración para los usuarios. Por ejemplo, el sistema de archivos NFS es ampliamente Sin embargo, debido a la alta sobrecarga del protocolo, el bajo ancho de banda y la gran latencia del NAS, no es propicio para su aplicación en clústeres de alto rendimiento.

A continuación, comparamos y analizamos las tres tecnologías de DAS, NAS y SAN: (Aquí hay solo una comparación simple de las tres arquitecturas de almacenamiento. Para obtener más detalles, consulte el artículo: Comparación de arquitecturas de almacenamiento DAS, NAS y SAN y Análisis de aplicaciones)

Tabla 1 Tres Comparación de tecnologías





En respuesta a la demanda del clúster de Linux de sistemas de almacenamiento de alto rendimiento e intercambio de datos, la comunidad internacional ha comenzado a estudiar nuevas arquitecturas de almacenamiento y nuevos sistemas de archivos. Se espera que las ventajas de los sistemas SAN y NAS puedan combinarse eficazmente para admiten el acceso directo a los discos para mejorar el rendimiento. Los archivos y metadatos se utilizan para simplificar la gestión. En la actualidad, los sistemas de almacenamiento de objetos se han convertido en un punto de acceso de investigación para los sistemas de almacenamiento de alto rendimiento en los sistemas de clúster de Linux, como el sistema de clúster de almacenamiento de base de objetos de Panasas Lustre de Cluster File Systems. El sistema de almacenamiento de objetos se describirá en detalle a continuación.

3. Almacenamiento de objetos

En términos generales, el almacenamiento de objetos tiene las características de disco de acceso directo de alta velocidad de SAN y las características de uso compartido distribuido de NAS.

Componentes de la estructura de almacenamiento de objetos (objeto, dispositivo de almacenamiento de objetos, servidor de metadatos, cliente del sistema de almacenamiento de objetos):

3.1. El objeto de

objeto es la unidad básica de almacenamiento de datos en el sistema, un objeto es en realidad datos de archivo y un conjunto de información de atributos (Meta Data), esta información de atributos puede definir parámetros RAID basados ​​en archivos, distribución de datos y calidad del servicio, etc., mientras que en los sistemas de almacenamiento tradicionales, los archivos o bloques se utilizan como la unidad de almacenamiento básica, y es necesario realizar un seguimiento todo el tiempo. en el sistema de almacenamiento de bloques Los atributos de cada bloque en el sistema y el objeto mantiene sus atributos al comunicarse con el sistema de almacenamiento. En el dispositivo de almacenamiento, todos los objetos tienen un identificador de objeto, al que se puede acceder a través del comando OSD del identificador de objeto. Por lo general, existen varios tipos de objetos. El objeto raíz en el dispositivo de almacenamiento identifica el dispositivo de almacenamiento y varios atributos del dispositivo, y el objeto de grupo es una colección de objetos que comparten políticas de administración de recursos en el dispositivo de almacenamiento. 

3.2. Dispositivo de almacenamiento de objetos El dispositivo de almacenamiento de

objetos tiene un cierto grado de inteligencia. Tiene su propia CPU, memoria, red y sistema de disco. La diferencia entre OSD y el mismo dispositivo de bloque no es el medio de almacenamiento, sino la interfaz de acceso proporcionada por el dos. Las principales funciones de OSD incluyen el almacenamiento de datos y el acceso seguro. Actualmente, la estructura de la hoja se usa generalmente para implementar dispositivos de almacenamiento de objetos en el mundo. OSD proporciona tres funciones principales:
(1) Almacenamiento de datos. OSD administra los datos de los objetos y los coloca en un sistema de disco estándar. OSD no proporciona métodos de acceso a la interfaz de bloque. Los clientes usan ID de objeto y compensaciones para leer y escribir datos cuando solicitan datos.
(2) Distribución inteligente. OSD usa su propia CPU y memoria para optimizar la distribución de datos y admite la captura previa de datos. Dado que OSD puede admitir de forma inteligente la captación previa de objetos, se puede optimizar el rendimiento del disco.
(3) Gestión de metadatos para cada objeto. El OSD administra los metadatos del objeto almacenado en él, que es similar a los metadatos de inodos tradicionales y generalmente incluye el bloque de datos del objeto y la longitud del objeto. En el sistema NAS tradicional, estos metadatos son mantenidos por el servidor de archivos y la arquitectura de almacenamiento de objetos completa el trabajo principal de administración de metadatos en el sistema mediante el OSD, lo que reduce la sobrecarga del cliente.

 3.3 Servidor de Metadatos (Servidor de Metadatos, MDS)

MDS controla la interacción entre el Cliente y los objetos OSD, y principalmente proporciona las siguientes funciones:
(1) Acceso al almacenamiento de objetos.

MDS construye y administra una vista que describe la distribución de cada archivo, lo que permite a los clientes acceder directamente a los objetos. El MDS proporciona al Cliente la capacidad de acceder a los objetos contenidos en el archivo, y el OSD verificará esta capacidad al recibir cada solicitud antes de que pueda acceder.
(2) Gestión de acceso a archivos y directorios.

MDS crea una estructura de archivos en el sistema de almacenamiento, incluido el control de cuotas, la creación y eliminación de directorios y archivos, y el control de acceso.

 (3) Consistencia de la caché del cliente.

Para mejorar el rendimiento del cliente, la caché del lado del cliente generalmente se admite en el diseño de sistemas de almacenamiento de objetos. Debido a la introducción de la caché del lado del cliente, se ha producido el problema de la coherencia de la caché. MDS es compatible con la caché de archivos basada en el cliente. Cuando un archivo en la caché cambia, se notificará al cliente que actualice la caché, evitando así los problemas causados por caché inconsistente.

3.4. Cliente del sistema de almacenamiento de objetos

Para ayudar de manera efectiva al cliente a admitir el acceso a los objetos en el OSD, es necesario implementar el cliente del sistema de almacenamiento de objetos en el nodo informático, que generalmente proporciona una interfaz de sistema de archivos POSIX, lo que permite que las aplicaciones realicen un sistema de archivos estándar. operaciones.

4. GlusterFS y almacenamiento de objetos

GlusterFS es actualmente uno de los mejores sistemas de almacenamiento distribuido y ha comenzado a operar comercialmente. Sin embargo, actualmente GlusterFS 3.2.5 no admite el almacenamiento de objetos. Si desea lograr el almacenamiento masivo, GlusterFS necesita usar el almacenamiento de objetos. Afortunadamente, GlusterFS anunció recientemente que admitirá el almacenamiento de objetos. Utiliza PUT, GET de nivel superior y otras interfaces del sistema de almacenamiento de objetos de openstack rápido para admitir el almacenamiento de objetos. (Concepto rápido de almacenamiento de objetos de código abierto, implementación de arquitectura y escala)

Materiales de referencia:

La evolución y las perspectivas futuras del almacenamiento distribuido

. Introducción al aprendizaje del sistema de archivos distribuido glusterfs

glusterfs (Gluster File System) es un sistema de archivos distribuido de código abierto. Glusterfs utiliza la red TCP / IP o InfiniBand RDMA para agregar recursos de almacenamiento distribuidos físicamente y utiliza un único espacio de nombres global para gestionar los datos.

Análisis de la estructura lógica general de

glusterfs En comparación con NAS, SAN y Raid tradicionales, las ventajas de glusterfs son: 1. La capacidad se puede expandir proporcionalmente y el rendimiento no se reducirá como resultado. Análisis de la estructura lógica general, glusterfs, la vista general se divide en dos partes: cliente y servidor.
Transferencia desde China Storage Network, enlace original: http://www.chinastor.com/a/jishu/SAN/042623L42016.html

Transferencia desde China Storage Network, enlace original: http://www.chinastor.com/a/jishu/OSD.html

Supongo que te gusta

Origin blog.csdn.net/qq_42533216/article/details/112258053
Recomendado
Clasificación