我同时收到这两个错误.我无法减少pg计数,我无法添加更多存储空间.
这是一个新的集群,当我上传大约40GB时,我收到了这些警告.我想是因为radosgw创造了一堆游泳池.
ceph如何能够获得太多的每个pgs,但每pg的对象数量多于平均值,而pgs建议太少?
HEALTH_WARN too many PGs per OSD (352 > max 300);
pool default.rgw.buckets.data has many more objects per pg than average (too few pgs?)
osds: 4 (2 per site 500GB per osd)
size: 2 (cross site replication)
pg: 64
pgp: 64
pools: 11
Run Code Online (Sandbox Code Playgroud)
使用rbd和radosgw,没什么特别的.
我还没有看到它的实现细节,set Class但我认为这个问题的答案就在某个地方。Python 赋值基本上评估右值并使用标识符作为引用对象来指向类对象。集合也是如此,即它们是抽象数据结构或引用对象的“集合”。集合不允许重复,当我创建一个集合时,如下所示:
s1 = {False, 1.0, 1, "a"} > {False, 1.0, "a"}
Run Code Online (Sandbox Code Playgroud)
Float 类胜过 int 类,显然它们评估的是相同的东西。但是为什么float显示而init不显示呢?我似乎无法找到合适的答案或在源代码中看到它。
顺便说一句,我想提一下,我注意到,如果 True 和 False 都使用 .union() 操作出现,则 True 和 False 将以某种方式分别代替 1 和 0 。因此,浮点型胜过整数型,而整数型胜过布尔型。但,
>>> s1 = {False, 'a', 1}
>>> s2 = {True, 'a', 0}
>>> s1 | s2
{False, 1, 'a'}
Run Code Online (Sandbox Code Playgroud)
错误仍然存在..我不知道这是否是 REPL 问题,但再次测试后我{0, 1, 'a'}每次都会得到我不知道发生了什么。
>>> s1 = {True, 'a', 1}
>>> s1
{1, 'a'}
>>> s2 = {False, 'a', 0}
>>> s2 …Run Code Online (Sandbox Code Playgroud)