Cuando un OSD se corrompe por ruptura del disco
1. Usar los siguientes comandos para saber como esta configurado el arbol de OSD y los pool que hay en cada uno.
ceph osd tree ej: ceph pg dump
Es importante ver que no este comprometido el ratio de replicacion porque de estarlo se debe incrementar la capacidad lo antes posible.
1a. Luego dedetectar el que se desea eliminar se debe quitarle el peso que tiene de almacenaje.
ceph osd crush reweight osd.7 0
2. Sacarlo de la lista de OSD activos.
osd out {osd-num} ej: ceph osd out 7
3. Esperar que el proceso de reorganizacion del cluster termine. Se puede monitorear con el comando 'ceph pg stat'. El proceso acaba cuando todo está 'active+clean'
4. Detener los OSD y desmontarlo del sistema de archivos.
stop ceph-osd id={osd-num} ej: stop ceph-osd id={osd-num} ceph-osd stop 7 umount /var/lib/ceph/osd/ceph-7
5. Eliminar el OSD del mapa CRSUH.
ceph osd crush remove {name} ej: ceph osd crush remove osd.7
6. Eliminar las llaves de autentificacion.
ceph auth del osd.{osd-num} ej ceph auth del osd.7
7. Eliminar el OSD del mapa de OSD's
ceph osd rm {osd-num} ej: ceph osd rm 7
8. En este punto ya todo está como si el OSD no hubiera existido. Se puede proceder a crear el nuevo.
Addicionando un nuevo espacio
1 Crear el OSD logicamente
ceph osd create
2 Crear el punto donde se va a montar el OSD
mkdir /var/lib/ceph/osd/ceph-7
3 Formatear el OSD (Se asume que ya esta la particion creada. De no estarlo se recomienda hacerlo con el parted)
mkfs -t xfs /dev/sdd1
4 Montar la particion en el lugar asignado
mount -o rw,relatime,inode64,logbsize=256k,delaylog,allocsize=4M /dev/sdd1 /var/lib/ceph/osd/ceph-7
5 Crear las llames de autentificacion
ceph-osd -i 7 --mkfs --mkkey
6 Adicionar las llaves y las reglas de acceso del OSD creado
ceph auth add osd.7 osd 'allow *' mon 'allow rwx' -i /var/lib/ceph/osd/ceph-7/keyring
7 Adicionar el OSD al mapa del CRUSH
ceph osd crush add {id-or-name} {weight} [{bucket-type}={bucket-name} ...] ej: ceph osd crush add osd.7 1.45 host=compute1
8 Iniciar el proceso del OSD
start ceph-osd id=7
9 Comprobar que se halla integrado al esquema de replicacion y que se este replicando todo.
ceph -w
ref: https://blueprints.launchpad.net/fuel/+spec/ceph-osd-remove http://docs.ceph.com/docs/master/rados/operations/add-or-rm-osds/
Exportar el mapa CRUSH
ceph osd getcrushmap -o salida crushtool -d salida -o salida.decompile