No puedo entender el uso de espacio bruto ceph.
Tengo 14 HDD (14 OSD) en 7 servidores, 3 TB cada HDD ~ 42 TB de espacio bruto en total.
ceph -s
osdmap e4055: 14 osds: 14 up, 14 in
pgmap v8073416: 1920 pgs, 6 pools, 16777 GB data, 4196 kobjects
33702 GB used, 5371 GB / 39074 GB avail
Creé 4 dispositivos de bloque, 5 TB cada uno:
df -h
/dev/rbd1 5.0T 2.7T 2.4T 54% /mnt/part1
/dev/rbd2 5.0T 2.7T 2.4T 53% /mnt/part2
/dev/rbd3 5.0T 2.6T 2.5T 52% /mnt/part3
/dev/rbd4 5.0T 2.9T 2.2T 57% /mnt/part4
df muestra que se usan 10,9 TB en total, ceph muestra que se usan 33702 GB. Si tengo 2 copias, debe ser ~ 22 TB, pero ahora tengo 33,7 TB usados - 11 TB perdidos.
ceph osd pool get archyvas size
size: 2
ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
39074G 5326G 33747G 86.37
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
data 0 0 0 1840G 0
metadata 1 0 0 1840G 0
archyvas 3 4158G 10.64 1840G 1065104
archyvas2 4 4205G 10.76 1840G 1077119
archyvas3 5 3931G 10.06 1840G 1006920
archyvas4 6 4483G 11.47 1840G 1148291
Bloquear dispositivos y OSD FS - XFS
sudo apt-get install --install-recommends linux-generic-lts-vivid
), reinicié , volví a mapear y monté mis volúmenes rbd, ejecuté unofstrim
en cada uno de ellos y colectivamente recuperé 450 GB en un pequeño clúster de 25 TB. Una vez que actualice, asegúrese de comenzar a montar sus volúmenes rbd con ladiscard
opción.No soy un experto en ceph pero déjame adivinar un poco.
Los dispositivos de bloque no se montan sin
discard
opción. Por lo tanto, cualquier dato que escriba y elimine no aparece en el sistema de archivos (/mnt/part1
), pero como se escribió una vez y no se recortó, permanece en el sistema de archivos subyacente.Si observa
USED
sus piscinas y las suma, obtendrá 16777 GB, lo que equivale a lo que seceph -s
muestra. Y si multiplica eso por dos (dos copias), obtiene 33554GB, que es más o menos el espacio utilizado.fuente
discard
y "recortar" son básicamente palabras diferentes para el mismo mecanismo que se puede utilizar para devolver bloques no utilizados a un dispositivo de bloque. El montaje con ladiscard
opción debe tener el efecto deseado. Algunas personas prefieren ejecutar periódicamentefstrim
para evitar la sobrecarga de descartes continuos por parte del sistema de archivos. Tenga en cuenta que para que todo esto funcione, su controlador RBD debe ser compatible con TRIM / descarte. Como dije, el controlador de kernel RBD hace esto desde Linux 3.18; consulte tracker.ceph.com/issues/190 .