有个很奇怪的需求想问问大佬们有啥方案不?

【 使用环境 】 测试环境
【 OB or 其他组件 】ObServer
【 使用版本 】4.2.1 和 4.3
【问题描述】
问题需求:
有没有什么办法可以让租户的数据保留在OB 里面,租户不使用的时候则不占用集群CPU内存的可分配资源,租户类似进入休眠状态,释放出其CPU和内存的占用?

想过的方案:
刚开始想过使用回收站功能,但是回收站功能只是将租户放入回收站,回收站内的租户CPU内存等资源会因为和资源池绑定占用而无法分配给其他租户

想到的OB功能:
回收站功能是否可以做成和虚拟机平台或者云RDS一样?比如回收站开启的时候,租户删除进入回收站,数据使用空间不释放,但是CPU和内存使用资源释放出来给其他租户使用?

以上是我想到的方法,不知道OB除了回收站以外还有其他可以实现类似租户停用后可释放计算资源的功能不?

1 个赞

随着数据量增多租户恢复耗时也是不可控的而且对于企业的业务租户不可能存在一整天无业务联入,目前暂时没有停用后可释放计算资源功能,不过现在ocp有个租户超卖功能可以去了解一下

1 个赞

嗯嗯,感谢大佬解答,我在想一个把不需要的租户规格调小,然后再丢到回收站之类的操作

1 个赞

对了,我有个疑问点,就是租户删除进入回收站后,计算资源应该是不用了,但是实际还占用着,这个设置好像有点不大合理,按理说回收站里面的租户应该是没有任何业务的,只是保留着万一需要恢复,这个只要有数据空间占用就行了,计算资源理论上不应该占用

1 个赞

这个问题我需要去咨询一下相关内核同学,个人观点的话认为回收站租户保留资源应该是为了方便租户恢复还原使用的,避免资源被占用导致无法恢复

1 个赞

另外考虑一个场景,如果 OB 集群重新启动了,这个租户还要占用资源吗。重启以后回收站里面的租户不应该再占用资源了吧。

1 个赞

另外有没有启动集群的时候不启动某些租户的配置,我集群启动的时候有时候不想把所有的租户都启动起来,有什么办法能做到吗?

1 个赞

回收站的租户不想要了,可以考虑清空
或者如果某些租户不常用或不用了担心后续可能需要使用的,可以考虑把该租户迁移至其他集群

1 个赞

需求已收到,已反馈产品同学

1 个赞

可以考虑

  • 租户规格缩容到 1C2G 。放那就行了,不使用的话,它没有多大消耗。
  • 对租户做一个物理备份和逻辑备份,然后把租户删除了。哪天想用了,再恢复回来。
1 个赞

是的,我们目前先用这种方案试下,把不用的租户资源改小放一边

就是感觉回收站这个功能有点不大符合常规,
正常进回收站的租户都是用不了,应该是没有业务连接了,计算资源这块应该要释放出来,有需要的话恢复的时候再根据之前的规格恢复出计算资源来使用

如果删除进回收站还占着计算资源的话,这个回收站的作用好像只是为了防止误删除租户一样,作用不是很大的感觉

回收站主要是为误删除租户而留的,给一次“反悔”的机会 :smile:

哈哈哈,对啊,但是感觉这个还是有点不够完美,功能太单一了,

如果能设计成回收站开启状态,删除租户进入回收站,计算资源还是占用,再弄个什么操作,把计算资源释放掉,但是存储资源还是占用着,跟云厂商上的RDS回收站功能一样,有需要的时候再申请计算资源恢复回去,恢复如果底层机器资源充足的话,就恢复成功,资源不足的话,就提示恢复失败,让用户自己再去协调资源,比如增加机器节点之类的再进行恢复

这种判断逻辑还挺多的,也不知道OB这块会不会考虑增加类似的功能