
有大佬们试过在用 Kubernetes 上面直接对接上分布式的存储方案进行容器数据的存储吗?在开源方案上面个人知道 CephFs 和 GlusterFs,想请问一下,哪个分布式的存储系统可以直接部署起来使用(坑比较少的),求踩过坑的大佬们推荐一下
1 defunct9 2018-05-11 09:32:41 +08:00 ceph |
2 defunct9 2018-05-11 09:33:16 +08:00 忘记说了,gfs 是文件系统,ceph 是块设备 |
3 ray1888 OP @defunct9 Ceph 不是支持三种(块存储、对象存储、文件存储)都支持么?其实我的场景是这样的,本质上是把容器运行完之后的一些数据(主要是文件)进行统一集中的存储管理,以便给其他新的容器来使用,这样的场景 Ceph 是比较好吗? |
4 aijam 2018-05-11 09:48:27 +08:00 S3 比较好 |
5 defunct9 2018-05-11 09:48:32 +08:00 块设备池比文件系统效率高些,尤其涉及到 kvm 或者 docker 的容器转移的时候。GFS 和 Ceph 都用过,更喜欢块设备一些吧。 |
7 swulling 2018-05-11 10:00:41 +08:00 via iPhone ceph 架构比较复杂,毕竟同时支持对象 块 文件,但是使用和运维不难 glusterfs 架构比较简单,但是使用起来就不容易了 |
8 lfzyx 2018-05-11 10:03:25 +08:00 |
9 catror 2018-05-11 10:21:06 +08:00 via Android 从代码设计上面,我支持 glusterfs,但是 ceph 用的人多,遇到问题更容易从网上搜索到解决办法。 |
10 xencdn 2018-05-11 10:25:53 +08:00 最近也在折腾 kubernetes 给你一个分享 http://www.yangguanjun.com/2017/09/04/kubernetes-storage-confuse/ Ceph 分为 ceph rdb(块存储) cephFS (文件存储) ceph 块存储 很消耗网络带宽 块一般都几 G 或几十 G ceph 是最少存三份 强一至性 存储网络一般都 10GE 的网卡 成熟的开源分布式块存储 选择性不多 社区活跃 稳定 成熟度相对较高 还有给力的 Redhat 驱动 但是 ceph 维护复杂 考验团队技术驾驭能力 kubernetes 的应用场景 容器存储 大部份是文件存储 块存储 这个需求应是不明显 上手比较快的应是: 1.NFS 2.GlusterFS NFS 方便灵活 只是性能太差 如果对性能没有太多的需求 先上 NFS 吧 个人理解有限 轻拍 |
11 grzhan 2018-05-11 11:03:02 +08:00 如果是在 K8S 里使用 Ceph RBD 来进行持久化存储的话,可能需要注意下这个 issue: https://github.com/kubernetes/kubernetes/issues/38923 `kube-controller-manager` 中没有 RBD Client 导致无法正常创建 PV,issue 回复提到的解决方案是使用这个第三方的 provisioner: https://github.com/kubernetes-incubator/external-storage/tree/master/ceph/rbd/examples 以及在我们的环境中,CephFS 的性能并不理想,推荐使用 RBD 感觉 Ceph 和 K8S 集成的坑大致上是这样,Ceph 本身用起来倒是挺方便的。 |
12 natforum 2018-05-11 11:11:41 +08:00 tfs ? |
13 znood 2018-05-11 12:57:04 +08:00 via iPhone ceph 是大规模 PB 级别的分布式存储方案,当然小规模集群也能用,坑比较多,运维麻烦,没有深入研究使用不建议 |
14 f2f2f 2018-05-11 13:03:31 +08:00 我选择付费的 Netapp |
15 WinMain 2018-05-11 13:28:31 +08:00 实习的时候,旁边一个团队的是把 ceph 的代码都读了一遍才确定用 ceph 的。 |
16 wanghanlin 2018-05-11 14:23:44 +08:00 可以试试 rook,rook 底层用的也是 ceph,但是配置部署和使用都方便很多. https://rook.io/ |
17 ray1888 OP @grzhan 想请问一下,你们的环境(需求)大概是怎么样的呢?因为我这边其实数据的转移不是很多的,对性能要求一般,但是主要是可能单个文件的 size 可能几 G 到几十 G 不等,所以想参考一下你们那边的数据(我这边暂时没有机器,没办法自己测试,目前只是调研阶段) |
18 grzhan 2018-05-11 15:02:11 +08:00 @ray1888 集群只是一个 18T HDD 10 OSD + 万兆网络的小集群 之前我们有把 300G 的数据库放在 CephFS ( FUSE Client )上,因为需求关系还把一个 Windows 虚拟机丢在上面。 CephFS 使用下来感觉是 IO 的延迟严重(同事在上面跑虚拟机体验下来很卡),前两天换成 RBD 挂载( http://docs.ceph.com/docs/giant/rbd/libvirt/ )以及折腾了下 KVM 的驱动之后速度就有明显的改善,SQL 查询的效率也在可以接受的范围。 按理说 CephFS 的 Client 换成 Kernel Client 可能性能也会好一些,不过跑过 Benchmark 感觉改善不多。 把 Ceph Journal 挂到 SSD 上可以明显改善性能( http://docs.ceph.com/docs/jewel/start/hardware-recommendations/),还有就是增加 OSD 的数量,不过我们这边就是够用就成了。 所以 CephFS 的话一般放放文件没有频繁的读写需求还是可以用的,也挺方便,如果还是有些性能要求的话还是用 RBD。如果想看 fio 的 benchmark 结果的话可以回我个邮箱,有空我可以发给你 |