请教大家一个关于 etcd 使用内存盘可行性的问题

1次阅读

共计 367 个字符,预计需要花费 1 分钟才能阅读完成。

大家国庆快乐!我们有一套预生产环境的 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 台可能性非常低)。不知道大家觉得这个思路有啥弊端吗?谢谢!
正文完
 0