有大佬们试过在用 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 1
最近也在折腾 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 1
如果是在 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 结果的话可以回我个邮箱,有空我可以发给你 |