OSD completos

Comprenda y resuelva los problemas de los OSD completos.

Cuando los nodos OSD se consideran llenos, el ceph health detail comando devuelve un mensaje de error similar al siguiente ejemplo:
HEALTH_ERR 1 osds completo
osd.3 está lleno al 95

Qué significa

Ceph impide que los clientes ejecuten operaciones de E/S en nodos OSD completos para evitar la pérdida de datos. Devuelve elHEALTH_ERR full osdscuando el clúster alcanza la capacidad establecida por el parámetro mon_osd_full_ratio . De forma predeterminada, este parámetro se establece en 0.95, lo que significa el 95% de la capacidad del clúster.

Resolución de este problema

Para diagnosticar y resolver los OSD completos, siga estos pasos:

  1. Ejecuta ceph osd df para comprobar el nivel de llenado de cada OSD. Cuando se invoca sin argumentos, informa sobre todo el clúster. También puede filtrar por clase de dispositivo o por un único OSD.
    ceph osd df# ceph osd df ssd# ceph osd df osd.1701
  2. Revisa la %USE columna para ver cuán lleno está cada OSD. La VAR columna muestra cómo se compara cada OSD con la media.

    El STDDEV valor indica el grado de uniformidad con el que se rellenan los OSD.

    Si ceph osd df ssd o ceph osd df nvme informan de una desviación estándar superior a 2.0, es posible que el equilibrador no esté habilitado o no funcione correctamente.

  3. Si ceph df muestra que la clase de dispositivo del OSD completo es mucho menos completa de media que el OSD completo, es probable que se trate de un problema del equilibrador. Para obtener más información, consulte Uso del módulo equilibrador de Ceph Manager.
  4. Si los OSD dentro de la clase de dispositivos están equilibrados, utilice los siguientes métodos para reducir el uso:
    1. Comprueba si hay restos de referencia.
      Si rados bench se ejecutó en este grupo, es posible que queden datos huérfanos. Compruébelo ejecutando el siguiente comando:
      rados -p mypoolname ls | grep -c bench

      Si este comando devuelve un número grande, consulte IBM Soporte para la eliminación segura mediante el rados rm comando.

    2. Solicite a los usuarios que eliminen los datos temporales, obsoletos o no esenciales.
    3. Ejecutar fstrim en clientes Ceph Block Device que utilizan sistemas de archivos convencionales en volúmenes de un grupo que utiliza todo el OSD. Esto descarta los bloques no utilizados y libera capacidad.
    4. Añada nodos u OSD de la clase de dispositivo adecuada para que el equilibrador pueda redistribuir los datos y reducir la saturación.
  5. Como medida de emergencia, puede aumentar temporalmente la ratio completa.
    ceph osd set-full-ratio 0.98
    Importante: Aumentar la proporción total es una medida de emergencia temporal. Restablezca la configuración predeterminada lo antes posible para reducir el riesgo de inestabilidad del clúster.

Para obtener más información, consulte OSD Nearfull y Eliminación de datos de un clúster de almacenamiento completo.