Réplica

Al igual que los clientes de Ceph, los OSD de Ceph pueden ponerse en contacto con supervisores de Ceph para recuperar la copia más reciente de la correlación de clúster. Los OSD de Ceph también utilizan el algoritmo CRUSH, pero lo utilizan para calcular dónde almacenar réplicas de objetos. En un escenario de escritura típico, un cliente Ceph utiliza el algoritmo CRUSH para calcular el ID de grupo de colocación y el OSD primario en el conjunto de actuación para un objeto. Cuando el cliente escribe el objeto en el OSD primario, el OSD primario encuentra el número de réplicas que debe almacenar.

El valor se encuentra en el valor osd_pool_default_size . A continuación, el OSD primario toma el ID de objeto, el nombre de agrupación y la correlación de clúster y utiliza el algoritmo CRUSH para calcular los ID de los OSD secundarios para el conjunto activo. El OSD primario escribe el objeto en los OSD secundarios. Cuando el OSD primario recibe un acuse de recibo de los OSD secundarios y el propio OSD primario completa su operación de grabación, reconoce una operación de grabación satisfactoria en el cliente Ceph.

Figura 1. IO replicada
E/S replicada
Con la capacidad de realizar la réplica de datos en nombre de los clientes de Ceph, los Daemons OSD de Ceph liberan a los clientes de Ceph de ese deber, al tiempo que garantizan una alta disponibilidad de datos y seguridad de los datos.
Nota: El OSD primario y el OSD secundario se configuran normalmente para estar en dominios de anomalía separados. CRUSH calcula los ID de los OSD secundarios teniendo en cuenta los dominios de anomalía.

Copias de datos

En una agrupación de almacenamiento replicada, Ceph necesita varias copias de un objeto para operar en un estado degradado. Idealmente, un clúster de almacenamiento Ceph permite a un cliente leer y escribir datos aunque falle uno de los OSD de un conjunto activo. Por esta razón, Ceph toma como valor predeterminado la realización de tres copias de un objeto con un mínimo de dos copias limpias para operaciones de grabación. Ceph conservará los datos incluso si fallan dos OSD. Sin embargo, interrumpirá las operaciones de grabación.

En una agrupación codificada por borrado, Ceph necesita almacenar fragmentos de un objeto entre varios OSD para que pueda operar en un estado degradado. De forma similar a las agrupaciones replicadas, idealmente una agrupación codificada por borrado permite a un cliente Ceph leer y escribir en un estado degradado.
Importante: Se admiten los siguientes valores de codificación jerasure para ky m :
  • k=8 m=3

  • k=8 m=4

  • k=4 m=2