OSD es esencialmente un proceso que anula el sistema operativo. Tiene recursos como CPU, memoria y ancho de banda de red. Se utiliza para implementar almacenamiento de objetos y es compatible con varios tipos de sistemas de archivos.
Los OSD utilizan la red del clúster para supervisarse entre sí e informar fallas al Monitor de manera oportuna. Después de que el Monitor modifica el OSDMap, los OSD propagan el último OSDMap punto a punto entre sí.
1. Gestión de clústeres
El OSD necesita comunicarse con el Monitor periódicamente, informar su propia situación, actualizar el OSDMap más reciente e informar al Monitor su propio uso de capacidad, claves, etc.. Por lo tanto, el proceso OSD encapsula el componente del cliente del Monitor internamente y se utiliza para comunicarse con el Monitor.
2. Comunicación en red
El componente de comunicación de red Messenger incluye redes públicas y redes de clúster.
3. Encendido OSD
Los datos de arranque de Objectstore se almacenan en el disco, primero se leen y se autentican, y luego se lee el superbloque de Objectstore en la memoria, es decir, se monta Objectstore. Todo es normal (OSD tiene permisos suficientes, cumple con el UUID del clúster y tiene un número de versión correcto, etc.) Después de pasar), el OSDMap debe sincronizarse con el Monitor. Dado que el OSDMap aún se está actualizando cuando el OSD está apagado, la versión del OSDMap después del El OSD encendido puede diferir de la última versión del Monitor en un cierto número. Por lo tanto, además del OSD, el Monitor necesita ser informado de su propio estado en el OSDMap. Cambie a UP (porque el OSD se ha encendido). Al mismo tiempo, el Monitor también necesita enviar los incrementos (hasta 40) de varias versiones del OSDMap que faltaron durante el apagado del OSD al OSD para actualizar el OSDMap local del OSD.
4. Detección de fallas OSD
Cuatro estados: Arriba, Abajo, Dentro, Fuera.
Tres métodos de detección: informes autónomos, detección de latidos, vigilancia (envía mensajes regularmente al monitor para mantenerlo activo).
Después de detectar que el OSD está inactivo, se configurará en Apagado después de 600 s. Los PG afectados comenzaron a migrar.
5.Estadísticas espaciales OSD
Cuatro niveles: NearFull, BackFull (evita la migración de PG de escritura a OSD), Full (evita escribir en OSD), Failsafefull (evita la escritura para evitar la barrera final de plenitud de OSD debido al retraso de marca completa)
Espacio total del grupo de almacenamiento = espacio utilizado del grupo de almacenamiento + espacio máximo disponible del grupo de almacenamiento
La fórmula de cálculo para el espacio máximo disponible del grupo de almacenamiento es: min{ [capacidad de OSD - espacio reservado (cinco por ciento)] / la proporción del OSD en la capacidad total del grupo de almacenamiento / el número de copias del grupo de almacenamiento}
donde la capacidad de OSD / la proporción de OSD = La suma de las capacidades de todos los OSD en el grupo de almacenamiento
La fórmula para calcular el espacio utilizado del grupo de almacenamiento es: la suma del espacio utilizado de todos los OSD en el grupo de almacenamiento / el número de copias
De hecho, la fórmula de cálculo anterior para el espacio máximo disponible del grupo de almacenamiento se basa en la premisa de una distribución equilibrada de los datos. Dado que es mínimo, si dos discos de la misma capacidad se utilizan como dos OSD, los datos escritos no son uniformes. distribuido.min siempre toma el valor con el mayor espacio ocupado para calcular el espacio máximo disponible, lo que hace que el espacio máximo disponible calculado sea demasiado pequeño.