
Versión de Ceph: 16.2.13 (pacific) (Sé que pacific está en desuso, pero todo el entorno es heredado (como centos 7.3). No estoy autorizado a actualizar también). El clúster tiene 6 servidores (22 osds, 97 pgs) . Existe un CephFS que se exporta a través de NFS. Los clientes acceden al clúster a través de NFSv4.1 (NFS-Ganesha). El siguiente comando se utiliza en el cliente para montar:
# mount -t nfs -o nfsvers=4.1,noauto,soft,sync,proto=tcp 172.20.0.31:/exports /cephmnt
Copié una carpeta (alrededor de 5,2 GB) en /cephmnt.
# cp sysdir /cephmnt
Entonces el espacio se expandió como se esperaba (después de verificar la salida de df -Th
y ceph df detail
).
# df -Th | grep -i ceph
172.20.0.31:/exports nfs4 26T 5.2G 26T 1% /cephmnt
# ceph df | grep -i cephfs
cephfs.new_storage.meta 8 32 26 MiB 28 79 MiB 0 25 TiB
cephfs.new_storage.data 9 32 5.2 GiB 1.42k 15 GiB 0.02 25 TiB
Sin embargo, cuando eliminé la carpeta, el espacio no disminuyó.
# rm -rf sysdir
# df -Th | grep -i ceph
172.20.0.31:/exports nfs4 26T 5.2G 26T 1% /cephmnt
# ceph df | grep -i cephfs
cephfs.new_storage.meta 8 32 26 MiB 28 79 MiB 0 25 TiB
cephfs.new_storage.data 9 32 5.2 GiB 1.42k 15 GiB 0.02 25 TiB
Puedo ver la lista de objetos en el grupo de datos con:
# rados -p cephfs.new_storage.data ls
Soy bastante nuevo en ceph, así que no sé si este es un comportamiento normal en ceph o no, aunque sospecho que es lo último, así que intenté investigar un poco.
Las instantáneas están deshabilitadas y no existen instantáneas para ambos grupos:
# ceph fs set new_storage allow_new_snaps false
# rados -p cephfs.new_storage.meta lssnap
0 snaps
# rados -p cephfs.new_storage.data lssnap
0 snaps
Había leído en alguna parte que bluestore en los OSD eliminará automáticamente los datos inutilizables si bdev_async_discard
están bdev_enable_discard
configurados en verdadero, así que los configuré
# ceph config get osd bdev_async_discard
true
# ceph config get osd bdev_enable_discard
true
Pero esto no tiene ningún efecto. He desmontado y montado el recurso compartido nfs varias veces (una vez incluso lo dejé desmontado durante la noche), pero cada vez que lo vuelvo a montar df -Th
sigo ceph df
mostrando el mismo espacio para ser ocupado. Entré cd
al directorio /cephmnt y di el comando de sincronización. Aún no hay efecto.
¿Cómo puedo liberar espacio de los archivos que se eliminan?
Yo leíaquíque cephfs tiene eliminación diferida pero no sé si esto es lo que está sucediendo en mi caso o hay otro problema. Si se trata de una eliminación diferida, ¿cómo puedo confirmarlo y cómo puedo activar la eliminación real? Si no se trata de una eliminación diferida, ¿cuál es el problema real?
Pregunte si se requieren otros datos para solucionar problemas. Estoy trabajando en esto durante casi 3 días y estoy totalmente sin ideas, por lo que cualquier ayuda es muy apreciada.
Edición 1: se agregaron más detalles
[root@cephserver1 ~]# ceph osd df
ID CLASS WEIGHT REWEIGHT SIZE RAW USE DATA OMAP META AVAIL %USE VAR PGS STATUS
0 hdd 3.63869 1.00000 3.6 TiB 1.6 GiB 593 MiB 2 KiB 1.0 GiB 3.6 TiB 0.04 1.07 10 up
1 hdd 3.63869 1.00000 3.6 TiB 1.1 GiB 544 MiB 19 KiB 559 MiB 3.6 TiB 0.03 0.71 9 up
2 hdd 3.63869 1.00000 3.6 TiB 1.7 GiB 669 MiB 6 KiB 1.0 GiB 3.6 TiB 0.05 1.12 13 up
4 hdd 3.63869 1.00000 3.6 TiB 1.6 GiB 742 MiB 26 KiB 918 MiB 3.6 TiB 0.04 1.07 13 up
13 hdd 3.63869 1.00000 3.6 TiB 1.7 GiB 596 MiB 4 KiB 1.2 GiB 3.6 TiB 0.05 1.15 8 up
5 hdd 3.63869 1.00000 3.6 TiB 1.9 GiB 1.2 GiB 56 MiB 713 MiB 3.6 TiB 0.05 1.26 16 up
6 hdd 3.63869 1.00000 3.6 TiB 1.6 GiB 407 MiB 124 MiB 1.1 GiB 3.6 TiB 0.04 1.04 9 up
7 hdd 3.63869 1.00000 3.6 TiB 1.3 GiB 418 MiB 67 MiB 887 MiB 3.6 TiB 0.04 0.89 12 up
8 hdd 3.63869 1.00000 3.6 TiB 1.1 GiB 667 MiB 73 MiB 372 MiB 3.6 TiB 0.03 0.72 15 up
9 hdd 3.63869 1.00000 3.6 TiB 1.7 GiB 1.2 GiB 7 KiB 526 MiB 3.6 TiB 0.05 1.13 18 up
10 hdd 3.63869 1.00000 3.6 TiB 1.5 GiB 906 MiB 8 KiB 579 MiB 3.6 TiB 0.04 0.96 11 up
11 hdd 3.63869 1.00000 3.6 TiB 1.7 GiB 1.1 GiB 6 KiB 628 MiB 3.6 TiB 0.05 1.15 11 up
12 hdd 3.63869 1.00000 3.6 TiB 1.8 GiB 600 MiB 16 MiB 1.2 GiB 3.6 TiB 0.05 1.17 15 up
3 hdd 3.63869 1.00000 3.6 TiB 2.8 GiB 1.6 GiB 37 MiB 1.2 GiB 3.6 TiB 0.08 1.86 17 up
14 hdd 3.63869 1.00000 3.6 TiB 1.6 GiB 857 MiB 37 KiB 781 MiB 3.6 TiB 0.04 1.06 12 up
15 hdd 3.63869 1.00000 3.6 TiB 1.9 GiB 1.4 GiB 2 KiB 499 MiB 3.6 TiB 0.05 1.26 12 up
16 hdd 3.63869 1.00000 3.6 TiB 2.2 GiB 972 MiB 1 KiB 1.2 GiB 3.6 TiB 0.06 1.44 15 up
17 hdd 3.63869 1.00000 3.6 TiB 1002 MiB 981 MiB 8 KiB 20 MiB 3.6 TiB 0.03 0.65 17 up
18 hdd 3.63869 1.00000 3.6 TiB 935 MiB 915 MiB 3 KiB 20 MiB 3.6 TiB 0.02 0.60 17 up
19 hdd 3.63869 1.00000 3.6 TiB 1.0 GiB 1006 MiB 0 B 28 MiB 3.6 TiB 0.03 0.67 10 up
20 hdd 3.63869 1.00000 3.6 TiB 866 MiB 835 MiB 0 B 31 MiB 3.6 TiB 0.02 0.56 20 up
21 hdd 3.63869 1.00000 3.6 TiB 731 MiB 709 MiB 0 B 22 MiB 3.6 TiB 0.02 0.47 11 up
TOTAL 80 TiB 33 GiB 19 GiB 374 MiB 14 GiB 80 TiB 0.04
MIN/MAX VAR: 0.47/1.86 STDDEV: 0.01
[root@cephserver1 ~]# ceph fs status
new_storage - 4 clients
======================
RANK STATE MDS ACTIVITY DNS INOS DIRS CAPS
0 active new_storage.cephserver2.gvflgv Reqs: 0 /s 161 163 52 154
POOL TYPE USED AVAIL
cephfs.new_storage.meta metadata 79.4M 25.3T
cephfs.new_storage.data data 18.2G 25.3T
STANDBY MDS
new_storage.cephserver3.wxrhxm
new_storage.cephserver4.xwpidi
new_storage.cephserver1.fwjpoi
MDS version: ceph version 16.2.13 (5378749ba6be3a0868b51803968ee9cde4833a3e) pacific (stable)
[root@cephserver1 ~]# ceph -s
cluster:
id: dcad37bc-1185-11ee-88c0-7cc2556f5050
health: HEALTH_WARN
1 failed cephadm daemon(s)
services:
mon: 5 daemons, quorum cephserver1,cephserver2,cephserver3,cephserver4,cephserver5 (age 8d)
mgr: cephserver2.sztiyq(active, since 2w), standbys: cephserver1.emjcaa
mds: 1/1 daemons up, 3 standby
osd: 22 osds: 22 up (since 3h), 22 in (since 8d)
data:
volumes: 1/1 healthy
pools: 4 pools, 97 pgs
objects: 1.81k objects, 6.2 GiB
usage: 33 GiB used, 80 TiB / 80 TiB avail
pgs: 97 active+clean
io:
client: 462 B/s rd, 0 op/s rd, 0 op/s wr
[root@cephserver1 ~]# ceph health detail
HEALTH_WARN 1 failed cephadm daemon(s)
[WRN] CEPHADM_FAILED_DAEMON: 1 failed cephadm daemon(s)
daemon grafana.cephserver1 on cephserver1 is in error state
Edición 2:Olvidé mencionar un punto importante. Todo el clúster de almacenamiento se encuentra en un entorno con espacios abiertos de aire.
Edición 3:Intenté compactar los OSD en línea según una sugerencia en los comentarios de eblock y funcionó parcialmente. Esto es lo que ceph df
se veía antes de compactar:
[root@cephserver1 ~]# ceph df
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 80 TiB 80 TiB **33 GiB** **33 GiB** 0.04
TOTAL 80 TiB 80 TiB **33 GiB** **33 GiB** 0.04
--- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
device_health_metrics 1 1 17 MiB 29 50 MiB 0 25 TiB
cephfs.new_storage.meta 8 32 26 MiB 28 79 MiB 0 25 TiB
cephfs.new_storage.data 9 32 5.2GiB 1.42k 15 GiB 0.02 25 TiB
.nfs 10 32 1.7 KiB 7 40 KiB 0 25 TiB
Después de la compactación, los 33 GiB se redujeron a 23 GiB como se muestra a continuación.
[root@cephserver1 ~]# ceph df
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 80 TiB 80 TiB **23 GiB** **23 GiB** 0.03
TOTAL 80 TiB 80 TiB **23 GiB** **23 GiB** 0.03
--- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
device_health_metrics 1 1 18 MiB 29 54 MiB 0 25 TiB
cephfs.new_storage.meta 8 32 26 MiB 28 79 MiB 0 25 TiB
cephfs.new_storage.data 9 32 5.2GiB 1.42k 15 GiB 0.02 25 TiB
.nfs 10 32 32 KiB 7 131 KiB 0 25 TiB
Sin embargo, los datos en las quinielas no bajaron. Así que se agradecen de todo corazón más sugerencias.
Edición 4:Monté CephFS de forma nativa (es decir, sin NFS de por medio con el comando del kernel) usando el siguiente comando:
# mount -t ceph 172.30.0.31:6789,172.30.0.32:6789,172.30.0.33:6789:/ /cephmnt -o name=user1
Después del montaje lo hago ls -a /cephmnt
pero no veo los datos antiguos. Sin embargo, cuando lo hago df -Th
en el cliente donde está montado CephFS, todavía veo el espacio ocupado por los datos antiguos (5,2 GB). Entonces mi sospecha es que el problema no está en NFS.