大家国庆快乐!我们有一套预生产环境的 k8s 集群,大概 15 个节点,master 有 3 台虚拟机,配置是 8c 16g ,内核是 3.10 的,平时内存使用率比较低,大概能用到不到 4g ,每台 etcd 数据目录也就几百 M ,但是目前这 3 个虚拟机用的虚拟化集群的存储性能非常差,导致大量 api-server 到 etcd 请求超时,iowait 也经常到 20-30 。目前没有更好的存储可以供我们使用(机械盘的共享存储),etcd 这边我在调了 ionice 后也没什么可优化的了,因此想分 2 到 3 个 g 的内存盘给 etcd 当存储盘用,然后再用 fsync+inotify 等工具实时将 etcd 写的内存盘的数据写回机械磁盘,也达到了异步双写的效果,而且只有 1 台宕机,只靠 etcd 的自己的机制只靠内存盘也能恢复回来(同时 down 2 台可能性非常低)。不知道大家觉得这个思路有啥弊端吗?谢谢!
举报· 25 次点击
登录 注册 站外分享
2 条回复  
rrfeng 小成 2024-10-1 09:49:39
如果数据丢了没问题,那当然可以。
GooMS 小成 2024-10-1 03:20:39
弊端就是简单的问题复杂化
返回顶部