Solucionar problemas con Ceph y Rook
En estos temas se proporcionan instrucciones para solucionar problemas con Ceph y Rook.
Solucionar problemas de error de creación de OSD
Problema
Se produce un error en la instalación porque no se crean demonios de almacenamiento de objetos (OSD).
Solución
Una razón común de error de instalación es que no se crean los demonios de almacenamiento de objetos (OSD). Una OSD configura el almacenamiento en un nodo de clúster. Es posible que los OSD no se creen debido a la falta de disponibilidad de recursos de disco, ya sea en forma de recursos insuficientes o de espacio en disco particionado incorrectamente. Para evitar que la instalación falle debido a una falta de espacio en disco, asegúrese de que los nodos tengan suficiente espacio en disco sin formatear disponible.
Depurar problemas de formateo de disco
Problema
La instalación falla cuando es necesario formatear un disco.
Solución
Asegúrese de que haya suficiente espacio en disco sin formato.
Debe examinar los registros de los rook-ceph-osd-prepare-hostname-*
trabajos para determinar si necesita volver a formatear el disco o la partición. Para volver a formatear el disco o la partición y reiniciar la torre:
-
Utilice uno de los métodos siguientes para volver a formatear un disco o partición existente:
PRECAUCIÓN:Estos comandos reformatean completamente el disco o las particiones que está utilizando, y perderá todos los datos en ellos.
- Si tiene un dispositivo de almacenamiento en bloque que debería haberse utilizado para Ceph, pero no se usó porque estaba en un estado inutilizable, puede volver a formatear el disco por completo.
$ sgdisk -zap /dev/disk $ dd if=/dev/zero of=/dev/disk bs=1M count=100
- Si tiene una partición de disco que debería haberse utilizado para Ceph, puede borrar los datos de la partición por completo.
$ wipefs -a -f /dev/partition $ dd if=/dev/zero of=/dev/partition bs=1M count=100
- Si tiene un dispositivo de almacenamiento en bloque que debería haberse utilizado para Ceph, pero no se usó porque estaba en un estado inutilizable, puede volver a formatear el disco por completo.
-
Reinicie Torre para guardar los cambios y volver a intentar el proceso de creación de OSD.
$ kubectl rollout restart deploy -n rook-ceph rook-ceph-operator
Solucionar problemas de falla de Ceph OSD
Problema
El OSD Ceph falla.
Solución
Debe identificar el OSD con errores y eliminarlo. A continuación, puede volver a formatear o reemplazar el disco parcial o completamente.
Para solucionar un error de disco:
-
Ejecute el siguiente comando para comprobar el estado de los pods Rook y Ceph instalados en el
rook-ceph
espacio de nombres.# kubectl get po -n rook-ceph
-
Si un
rook-ceph-osd-*
pod está en el estado oCrashLoopBackoff
, debe reparar elError
disco.Siga estos pasos para reparar el disco:
-
Detener
rook-ceph-operator
.# kubectl scale deploy -n rook-ceph rook-ceph-operator --replicas=0
-
Elimine los procesos de OSD que fallan.
# kubectl delete deploy -n rook-ceph rook-ceph-osd-number
-
Conéctese a la caja de herramientas.
$ kubectl exec -ti -n rook-ceph $(kubectl get po -n rook-ceph -l app=rook-ceph-tools -o jsonpath={..metadata.name}) -- bash
-
Identifique la OSD que falla.
# ceph osd status
-
Marque el OSD fallido.
[root@rook-ceph-tools-/]# ceph osd out 5 marked out osd.5. [root@rook-ceph-tools-/]# ceph osd status ID HOST USED AVAIL WR OPS WR DATA RD OPS RD DATA STATE 0 10.xx.xx.210 4856M 75.2G 0 0 0 0 exists,up 1 10.xx.xx.215 2986M 77.0G 0 0 1 89 exists,up 2 10.xx.xx.98 3243M 76.8G 0 0 1 15 exists,up 3 10.xx.xx.195 4945M 75.1G 0 0 0 0 exists,up 4 10.xx.xx.170 5053M 75.0G 0 0 0 0 exists,up 5 10.xx.xx.197 0 0 0 0 0 0 exists
-
Elimine el OSD fallido.
# ceph osd purge number --yes-i-really-mean-it
- Conéctese al nodo que alojó el OSD con errores y realice una de las siguientes acciones:
- Reemplace el disco duro en caso de que se produzca un error de hardware.
- Vuelva a formatear el disco completamente.
$ sgdisk -zap /dev/disk $ dd if=/dev/zero of=/dev/disk bs=1M count=100
- Vuelva a formatear la partición completamente.
$ wipefs -a -f /dev/partition $ dd if=/dev/zero of=/dev/partition bs=1M count=100
-
Reinicie
rook-ceph-operator
.# kubectl scale deploy -n rook-ceph rook-ceph-operator --replicas=1
-
Supervise los pods OSD.
# kubectl get po -n rook-ceph
Si la OSD no se recupera, utilice el mismo procedimiento para quitar la OSD y, a continuación, quite el disco o elimine la partición antes de reiniciar
rook-ceph-operator
.
-
Ver también
Problemas de depuración con Rook y Ceph Pods
Problema
La instalación puede fallar cuando los pods Rook y Ceph están en el error
estado,
Solución
Un hardware con poca potencia puede causar un error de pods de torre y Ceph. Un error de pods de torre y ceph también puede hacer que la instalación falle. Para resolver la mayoría de los problemas con los pods Rook y Ceph, asegúrese de que los pods instalados estén en el running
estado. Para confirmarlo, debe:
-
Ejecute el siguiente comando para comprobar el estado de los pods Rook y Ceph instalados en el
rook-ceph
espacio de nombres.# kubectl get po -n rook-ceph
-
Asegúrese de que los siguientes pods estén en el
running
estado:rook-ceph-mon-*
—Normalmente, tres cápsulas de monitor-
rook-ceph-mgr-*
—Un pod de administrador -
rook-ceph-osd-*
—Tres o más pods OSD -
rook-ceph-mds-cephfs-*
—Servidores de metadatos -
rook-ceph-rgw-object-store-*
—Puerta de enlace de ObjectStore -
rook-ceph-tools*
—Para opciones de depuración adicionalesPara conectarse a la caja de herramientas, use este comando:
$ kubectl exec -ti -n rook-ceph $(kubectl get po -n rook-ceph -l app=rook-ceph-tools \ -o jsonpath={..metadata.name}) -- bash
Para obtener más información sobre comandos comunes adicionales en el cuadro de herramientas, consulte la tabla 1.
Tabla 1: Comandos adicionales Descripción del comando # ceph status
Ver el estado del clúster. # ceph osd status
Ver resumen del mapa OSD. # ceph osd df
Ver detalles del uso del disco (global y por grupo). # ceph osd utilization
Ver la utilización de OSD. # ceph osd pool stats
Ver el uso del pool de discos. # ceph osd tree
Ver árbol OSD. # ceph pg stat
Ver el estado y el rendimiento de pg.