Serie "Análisis de Ceph" (6): algunas ideas sobre Ceph

El contenido de este artículo es principalmente parte del pensamiento que el autor produjo durante la investigación y el análisis de Ceph. Debido a que el contenido es relativamente gratuito de distribuir, y la mayor parte es la opinión personal del autor, abriré otro artículo para su discusión.

 

7.1 Acerca del rendimiento de Ceph

        Hasta el momento, no hay una discusión detallada del rendimiento de Ceph en esta serie de artículos, ni ningún dato de rendimiento de Ceph. La razón es simple: no tengo oportunidad de realizar análisis e investigaciones detallados del desempeño de Ceph, ni he visto datos relevantes más completos. Por lo tanto, para evitar lectores engañosos con datos unilaterales, no se proporciona información.

        Basado en mi experiencia personal, no es fácil discutir el desempeño de un proyecto de código abierto en el campo de los sistemas. La razón es que hay demasiados factores complicados que afectan el rendimiento de un sistema en una implementación real. Las variaciones en factores como la configuración del hardware, la versión del software, el ajuste de los parámetros, la carga de la aplicación y la configuración de la escena provocarán resultados de prueba de rendimiento diferentes. Por lo tanto, es difícil decir en pocas palabras, si el desempeño de un proyecto es bueno o malo.

        Dé un ejemplo que no esté directamente relacionado. En el campo del hipervisor, es probable que piense que ESXi es mejor que KVM, pero de hecho, en la lista de resultados de la prueba de rendimiento SPECvirt, los sistemas basados ​​en KVM a menudo encabezan la lista. La razón es que, además de los factores de rendimiento del hardware, KVM tiene una gran cantidad de parámetros de configuración que se pueden ajustar, y si se ajusta bien o no afectará significativamente el rendimiento del sistema.

        Otro ejemplo es el software de herramienta de big data de código abierto comúnmente utilizado Hadoop. El mismo clúster de Hadoop usa la misma aplicación para procesar el mismo conjunto de datos. Cuando los parámetros de configuración son diferentes, la duración final del tiempo de ejecución puede diferir varias veces.

        Precisamente debido a la configuración de parámetros, especificaciones de hardware, versión de software, escenarios de aplicación y otros factores que pueden tener un impacto significativo en el rendimiento, por lo tanto, para un sistema con muchas opciones de implementación y muchos parámetros de configuración, como Ceph, es necesario evaluar el rendimiento de su sistema. Piensa cuidadosamente

        Por el contrario, esta también es una forma de ganar dinero con el software de código abierto. Aunque el software en sí es de código abierto, todos pueden descargarlo e instalarlo de forma gratuita, pero si se puede usar bien depende de profundas habilidades profesionales. Empresas similares no son infrecuentes en países extranjeros, y las nacionales han comenzado a aparecer.

 

7.2 Adaptabilidad entre la arquitectura Ceph y la plataforma de hardware

        Desde que Ceph se lanzó oficialmente en 2006, su infraestructura (RADOS) no ha sufrido cambios importantes. En esencia, esto se debe a que el diseño de RADOS es excelente y con visión de futuro, por lo que no hay necesidad de mover los músculos. Pero esto no significa que no sea necesario reflexionar sobre ello adecuadamente.

        Como se mencionó anteriormente, en 2006, la corriente principal de los procesadores comerciales todavía era un núcleo único, y la capacidad de una sola memoria y un solo disco duro también eran mucho más pequeños que el nivel principal actual. Sin embargo, los requisitos básicos de recursos de hardware de OSD no han cambiado. Esto significa que en el plan de implementación típico actual, es probable que haya docenas de subprocesos de hardware de procesador y docenas de discos duros en un servidor físico, por lo que también lleva docenas de OSD ejecutándose al mismo tiempo. Sin embargo, la suposición básica de la arquitectura RADOS es que el clúster está compuesto por una gran cantidad de OSD que operan independientemente uno del otro, y la solución de hardware típica actual puede afectar la validez de esta suposición. Por ejemplo, si un servidor falla y debe cerrarse por mantenimiento, significa que decenas de OSD se desconectan repentinamente. Los PG afectados por esto pueden llegar a decenas de miles más. Este evento repentino puede causar cierta presión en el mecanismo de mantenimiento automático del sistema.

 A partir de esto, el autor pensó que la plataforma de hardware que Sage enfrentó al diseñar Ceph debería ser un sistema que no requiera demasiada potencia de procesamiento y que tenga especificaciones de hardware relativamente simples. Este sistema puede ser más similar a la arquitectura ARM actual o al micro servidor de arquitectura Intel Atom. Quizás, implementar un clúster Ceph basado en un micro servidor es una dirección que vale la pena probar.

        Además, Huawei y Seagate lanzaron un producto de disco duro IP. Aunque todavía no se comprende más, se especula intuitivamente que este nuevo dispositivo de almacenamiento inteligente y liviano también puede ser una plataforma de hardware muy similar al OSD que Sage imaginó.

 

7.3 Ceph y almacenamiento definido por software

        Las palabras "definición de software" son uno de los conceptos más candentes y confusos. La informática definida por software, la red definida por software, el almacenamiento definido por software y los centros de datos definidos por software son probablemente los términos relacionados más comunes.

        Lo que exactamente está "definido por software" aún no ha formado una vista completamente consistente. Además, haciendo referencia a algunos precedentes en la historia del desarrollo tecnológico, puede que no sea posible formar el llamado consenso en el futuro. En este caso, comenzando con un ejemplo específico, puede ser más fácil obtener una comprensión intuitiva, y así establecer una visión más sistemática.

        El autor cree que para cualquier sistema, el concepto de "definido por software" está más encarnado aquí: qué características de este sistema, como la función o el rendimiento, se arreglaron antes, o solo pueden ser configuraciones limitadas, pero ahora Se puede definir y cambiar de manera fácil y flexible.

        Por ejemplo, para un servidor físico, una vez que se conecta su configuración de hardware, como CPU, memoria, disco duro, etc., se determinan las especificaciones y el rendimiento del servidor, y el rango de rendimiento y funciones que se pueden ajustar a través de la configuración del BIOS es muy limitado. De Sin embargo, para una máquina virtual, incluso después de que la máquina virtual haya creado e instalado un sistema operativo, su número de núcleo de CPU y capacidad de procesamiento, tamaño de memoria física lógica y tamaño de memoria física real, capacidad de número de disco duro y rendimiento de lectura y escritura, tarjeta de red Las características como el número de modelos y el ancho de banda de la red pueden controlarse y modificarse de manera fácil y flexible a través del software (algunas operaciones de configuración requieren que se reinicie una máquina virtual para que surta efecto), y esta configuración puede controlarse mediante el software de la capa de aplicación. Comparando los dos, la definibilidad de la máquina virtual es un ejemplo intuitivo de computación definida por software.

        Los detalles serán discutidos en el área de almacenamiento. En general, las características principales de un sistema de almacenamiento generalmente incluyen: tipo de almacenamiento (sistema de archivos? Almacenamiento en bloque? ¿Almacenamiento de objetos?), Capacidad de almacenamiento, rendimiento de almacenamiento (ancho de banda de acceso, retraso de acceso, etc.), estrategia de almacenamiento (estrategia de respaldo, seguridad de acceso Estrategia sexual, funciones avanzadas de procesamiento de datos, etc.). Con referencia al ejemplo de los cálculos definidos por software dados anteriormente, es concebible que para un sistema de almacenamiento definido por software, estas características (al menos la mayoría de ellas) puedan definirse por software.

En lo que respecta a Ceph, su característica más consistente con el almacenamiento definido por software es, sin duda, que el tipo de almacenamiento de Ceph se puede definir a través del software. El mismo clúster RADOS puede implementar funciones de almacenamiento en bloque, almacenamiento de objetos y almacenamiento de sistemas de archivos mediante la instalación de diferentes programas de capa superior y los correspondientes programas cliente. Esta característica es difícil de imaginar para los sistemas de almacenamiento tradicionales. Además, las estrategias de almacenamiento de Ceph, como las estrategias de respaldo y las funciones de procesamiento de datos en segundo plano, también se pueden definir o ampliar fácilmente a través del software. Por lo tanto, desde esta perspectiva, Ceph también puede considerarse como uno de los casos reales de almacenamiento definido por software.

 

7.4 Computación del centro de datos y Ceph

        Tradicionalmente, el diseño de sistemas informáticos se centra en la informática. Los datos fluyen hacia el procesador desde el almacenamiento, la red u otros dispositivos, y luego fluyen hacia el almacenamiento, la red u otros dispositivos después del procesamiento. Sin embargo, a medida que la cantidad de datos a procesar aumenta a una velocidad explosiva, y a medida que aumenta la velocidad del poder de cómputo excede la capacidad de almacenamiento y transmisión, este método de procesamiento puede dejar de ser económico debido a los frecuentes discos duros para grandes cantidades de datos. El costo de acceso y transmisión de red es muy considerable.

        El concepto de informática del centro de datos se propuso en este contexto. La idea central es hacer que los cálculos sucedan donde están los datos. Dondequiera que estén los datos, envíe las tareas informáticas que se ejecutarán, en lugar de mover los datos para utilizar una potencia informática "fuerte". De hecho, la aparición de Hadoop es un reflejo realista de esta idea informática del centro de datos.

        Otro ejemplo de la informática del centro de datos es una tecnología de virtualización ligera llamada ZeroVM que actualmente aparece en la comunidad OpenStack [ 1 ]. La idea de ZeroVM es dejar que el cálculo suceda donde están los datos. Según la información proporcionada por el funcionario, la integración de ZeroVM y Swift se ha logrado para que las tareas de procesamiento se puedan ejecutar directamente en el lado del servidor de Swift.

        De hecho, Ceph ofrece las mismas capacidades. Todo el diseño de Ceph se basa en una idea básica de Sage: dar pleno juego a la potencia informática del propio dispositivo de almacenamiento. Esta idea no solo permite que los OSD cooperen entre sí para completar las operaciones de acceso a datos y las funciones de mantenimiento del clúster, sino que también permite que los OSD proporcionen una potencia informática excesiva para ejecutar tareas de procesamiento de datos.

        En la actualidad, el mecanismo proporcionado por RADOS permite ejecutar un complemento de programa de procesamiento de datos cargable dinámicamente directamente en el OSD para el procesamiento de datos en el lado del servidor, por ejemplo, marca de agua automática, conversión automática de tamaño y formato de imágenes en el sistema de almacenamiento de imágenes, etc. Operaciones de fondo. De hecho, en base a esta capacidad, también se puede realizar un sistema de procesamiento de big data similar a Hadoop.

        Para Big Data, el almacenamiento y el procesamiento son sus dos áreas técnicas clave. Dado que Ceph es un excelente sistema de almacenamiento y tiene la capacidad de llevar directamente tareas informáticas, es probable que la informática del centro de datos para Big Data sea una de las aplicaciones potenciales de Ceph.

 

7.5 Problemas que Ceph puede tener en aplicaciones prácticas

        Hasta ahora, esta serie de artículos básicamente presenta varias ventajas y especialidades de Ceph. Sin embargo, ningún sistema puede ser perfecto. En el espíritu de recoger huesos y recoger fallas en el huevo, todavía tenemos que decir algunas palabras aquí.

        Desde un punto de vista no técnico, el mayor problema con Ceph es que no lleva mucho tiempo disparar, por lo que no hay muchos documentos a los que se pueda hacer referencia, especialmente en chino. Pero no hay forma de hacerlo, todos solo pueden recoger leña con llamas altas y hacer contribuciones poco a poco.

        Además, el más criticado de Ceph puede no ser lo suficientemente maduro. Pero un proyecto de código abierto siempre lleva a más personas a madurar, y Ceph se encuentra actualmente en el proceso, por lo que todavía requiere tiempo y participación.

        Además, en mi opinión, el alto grado de automatización de Ceph también puede ser una espada de doble filo. Los beneficios son muchos, pero la desventaja es que el estado operativo del sistema no está completamente bajo el control del administrador, y habrá una serie de operaciones activadas automáticamente en el sistema en lugar de activadas por el administrador. Esta característica puede aportar cierta complejidad al monitoreo y control del estado del sistema, lo que requiere que el administrador se adapte.

 

7.6 Necesidades de la industria basadas en ceph y posibles oportunidades comerciales

        Por la presente se declara que el contenido de esta sección es una idea puramente loca y no constituye un consejo de inversión :-)

        En primer lugar, la instalación y la implementación de Ceph y la optimización del rendimiento inevitablemente se convertirán en necesidades sobresalientes. Por lo tanto, integrar Ceph y servidores comerciales en varias soluciones de almacenamiento que son fáciles de implementar y tienen un rendimiento excelente debería ser una de las direcciones que se pueden considerar.

        Al mismo tiempo, debido a los supuestos especiales de Ceph sobre la plataforma de hardware OSD y el espacio de optimización resultante, bajo la premisa de un costo razonable, desarrolle una plataforma de hardware personalizada que sea más adecuada para Ceph OSD (similar al micro servidor o disco duro IP, etc.) Y destacar las características del almacenamiento, como la alta densidad, el bajo consumo de energía y el alto mantenimiento, también puede convertirse en una opción.

        Además, el monitoreo de clúster especial, el análisis de rendimiento y otras herramientas de software para clústeres Ceph también pueden tener ciertas necesidades.

        Finalmente, también vale la pena considerar el kit de herramientas de software de procesamiento de datos en segundo plano basado en Ceph.

Publicado 59 artículos originales · 69 alabanzas · 270,000+ visitas

Supongo que te gusta

Origin blog.csdn.net/pansaky/article/details/102455017
Recomendado
Clasificación