Asignación de recursos de entrada y salida
En esta sección se describe cómo QoS controla el trabajo interno con reserva, límite y asignación de peso. No se espera que el usuario establezca estos controles ya que los perfiles mClock los establecen automáticamente. El ajuste de estos controles sólo se puede realizar utilizando los perfiles mClock disponibles.
El algoritmo dmClock asigna los recursos de entrada y salida (E/S) del clúster Ceph en proporción a los pesos. Aplica las restricciones de reserva mínima y limitación máxima para garantizar que los servicios puedan competir por los recursos de forma justa.
Actualmente, la cola de operación de mclock_scheduler divide los servicios Ceph que implican recursos de E/S en los siguientes grupos:
client op: las operaciones de entrada y salida por segundo (IOPS) emitidas por un cliente.pg deletion: IOPS emitido por Ceph OSD primario.snap trim: las solicitudes relacionadas con el recorte de instantánea.pg recovery: las solicitudes relacionadas con la recuperación.pg scrub: las solicitudes relacionadas con el borrado.
Los recursos se particionan utilizando los tres conjuntos de códigos siguientes, lo que significa que la compartición de cada tipo de servicio está controlada por estos tres códigos:
Reserva
Límite
peso
Reserva
El IOPS mínimo asignado para el servicio. Cuanta más reserva tenga un servicio, más recursos se garantiza que posea, siempre y cuando lo requiera.
Por ejemplo, un servicio con la reserva establecida en 0.1 (o 10%) siempre tiene el 10% de la capacidad de IOPS del OSD asignada para sí mismo. Por lo tanto, incluso si los clientes empiezan a emitir grandes cantidades de solicitudes de E/S, no agotan todos los recursos de E/S y las operaciones del servicio no se agotan incluso en un clúster con una carga alta.
Límite
El máximo de IOPS asignado para el servicio. El servicio no obtiene más del número establecido de solicitudes por segundo atendidas, incluso si lo requiere y ningún otro servicio está compitiendo con él. Si un servicio supera el límite impuesto, la operación permanece en la cola de operaciones hasta que se restaura el límite.
0 (inhabilitado), el servicio no está restringido por el valor de límite y puede utilizar todos los recursos si no hay ninguna otra operación en competencia. Se representa como "MAX" en los perfiles mClock .Peso
La parte proporcional de la capacidad si la capacidad adicional o el sistema no es suficiente. El servicio puede utilizar una parte mayor del recurso de E/S, si su peso es mayor que el de su competidor.
W, para una clase determinada de solicitudes, la siguiente que entre tiene una etiqueta de peso de 1/W y la etiqueta de peso anterior, o la hora actual, la que sea mayor. Esto significa que, si W es demasiado grande y, por lo tanto, 1/W es demasiado pequeño, es posible que la etiqueta calculada nunca se asigne ya que obtiene un valor de la hora actual. Por lo tanto, los valores de peso deben estar siempre por debajo del número de solicitudes que se espera que se atienden cada segundo.