我们使用的是 ceph 版本14.2.0
。我们有 4 台主机,配备 24 个 BlueStore OSD,每个 OSD 为 1.8TB(2TB 旋转磁盘)。我们只有一个池size 2
,我绝对确定我们使用的空间比ceph df
显示的要多:
[root@blackmirror ~]# ceph osd dump | grep 'replicated size'
pool 2 'one' replicated size 2 min_size 1 crush_rule 0 object_hash rjenkins pg_num 900 pgp_num 900 autoscale_mode warn last_change 37311 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd
[root@blackmirror ~]# ceph df
RAW STORAGE:
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 44 TiB 21 TiB 22 TiB 23 TiB 51.61
TOTAL 44 TiB 21 TiB 22 TiB 23 TiB 51.61
POOLS:
POOL ID STORED OBJECTS USED %USED MAX AVAIL
one 2 2.7 TiB 2.94M 5.5 TiB 28.81 6.7 TiB
不太确定MAX AVAIL
,但我认为这也是错误的。
以下是 的输出ceph osd df
:
ID CLASS WEIGHT REWEIGHT SIZE RAW USE DATA OMAP META AVAIL %USE VAR PGS STATUS
0 hdd 1.81310 1.00000 1.8 TiB 1.2 TiB 1.2 TiB 152 KiB 2.8 GiB 669 GiB 64.10 1.24 94 up
1 hdd 1.81310 1.00000 1.8 TiB 937 GiB 935 GiB 80 KiB 2.2 GiB 926 GiB 50.31 0.97 72 up
2 hdd 1.81310 1.00000 1.8 TiB 788 GiB 786 GiB 36 KiB 1.9 GiB 1.0 TiB 42.33 0.82 65 up
3 hdd 1.81310 1.00000 1.8 TiB 868 GiB 866 GiB 128 KiB 2.1 GiB 995 GiB 46.59 0.90 69 up
4 hdd 1.81310 1.00000 1.8 TiB 958 GiB 956 GiB 84 KiB 2.3 GiB 904 GiB 51.45 1.00 72 up
5 hdd 1.81879 1.00000 1.8 TiB 1015 GiB 1013 GiB 64 KiB 2.4 GiB 847 GiB 54.50 1.06 77 up
6 hdd 1.81310 1.00000 1.8 TiB 1015 GiB 1012 GiB 32 KiB 2.6 GiB 848 GiB 54.48 1.06 81 up
7 hdd 1.81310 1.00000 1.8 TiB 935 GiB 932 GiB 40 KiB 2.3 GiB 928 GiB 50.18 0.97 70 up
8 hdd 1.81310 1.00000 1.8 TiB 1.0 TiB 1.0 TiB 48 KiB 2.5 GiB 800 GiB 57.05 1.11 83 up
9 hdd 1.81310 1.00000 1.8 TiB 1002 GiB 1000 GiB 96 KiB 2.3 GiB 861 GiB 53.79 1.04 77 up
10 hdd 1.81310 1.00000 1.8 TiB 779 GiB 777 GiB 168 KiB 1.9 GiB 1.1 TiB 41.80 0.81 63 up
11 hdd 1.81310 1.00000 1.8 TiB 1.1 TiB 1.1 TiB 128 KiB 2.6 GiB 768 GiB 58.77 1.14 83 up
12 hdd 1.81310 1.00000 1.8 TiB 798 GiB 796 GiB 120 KiB 1.9 GiB 1.0 TiB 42.85 0.83 67 up
13 hdd 1.81310 1.00000 1.8 TiB 1.1 TiB 1.1 TiB 64 KiB 2.6 GiB 761 GiB 59.12 1.15 89 up
14 hdd 1.81310 1.00000 1.8 TiB 1.2 TiB 1.2 TiB 128 KiB 2.7 GiB 680 GiB 63.51 1.23 88 up
15 hdd 1.81310 1.00000 1.8 TiB 766 GiB 764 GiB 64 KiB 1.9 GiB 1.1 TiB 41.15 0.80 58 up
16 hdd 1.81310 1.00000 1.8 TiB 990 GiB 988 GiB 80 KiB 2.4 GiB 873 GiB 53.15 1.03 81 up
17 hdd 1.81310 1.00000 1.8 TiB 980 GiB 977 GiB 80 KiB 2.3 GiB 883 GiB 52.61 1.02 77 up
18 hdd 1.81310 1.00000 1.8 TiB 891 GiB 890 GiB 68 KiB 1.7 GiB 971 GiB 47.87 0.93 73 up
19 hdd 1.81310 1.00000 1.8 TiB 1.1 TiB 1.1 TiB 60 KiB 2.0 GiB 784 GiB 57.87 1.12 87 up
20 hdd 1.81310 1.00000 1.8 TiB 956 GiB 955 GiB 48 KiB 1.8 GiB 906 GiB 51.37 1.00 73 up
21 hdd 1.81310 1.00000 1.8 TiB 762 GiB 760 GiB 32 KiB 1.6 GiB 1.1 TiB 40.91 0.79 58 up
22 hdd 1.81310 1.00000 1.8 TiB 979 GiB 977 GiB 80 KiB 1.9 GiB 883 GiB 52.60 1.02 72 up
23 hdd 1.81310 1.00000 1.8 TiB 935 GiB 934 GiB 164 KiB 1.8 GiB 927 GiB 50.24 0.97 71 up
TOTAL 44 TiB 23 TiB 22 TiB 2.0 MiB 53 GiB 21 TiB 51.61
MIN/MAX VAR: 0.79/1.24 STDDEV: 6.54
下面是输出rados df
[root@blackmirror ~]# rados df
POOL_NAME USED OBJECTS CLONES COPIES MISSING_ON_PRIMARY UNFOUND DEGRADED RD_OPS RD WR_OPS WR USED COMPR UNDER COMPR
one 5.5 TiB 2943372 0 5886744 0 0 0 11291297816 114 TiB 24110141554 778 TiB 0 B 0 B
total_objects 2943372
total_used 23 TiB
total_avail 21 TiB
total_space 44 TiB
实际上,我们存储了大约 11TB 的数据,因此total_used
上面看起来正确,因为我们的复制大小是 2。
在我们更改 OSD 18-23 后,这种情况开始发生。它们最初是 1TB 磁盘,但我们将它们升级到 2TB 以平衡集群。在我们更改第一个磁盘后,USED
从MAX AVAIL
1TBceph df
降到了 1TB 左右。我认为这只是时间问题,但即使在所有恢复操作完成后,我们仍然看到上面的图片。我尝试强制对所有磁盘进行深度清理,这几乎杀死了集群中的所有应用程序 12 小时,但最后什么也没做。我不知道现在该怎么办。请帮忙。