分布式文件服务器调研

  1. 背景
    文件系统是用来管理企业文件的
    分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。
    分布式文件系统解决的问题是数据备份,数据安全和数据访问的问题
    
    

      2. 主流分布式文件系统对比

          分布式文件系统通过主控服务器对文件进行分布式存储,将客户端的文件存储根据业务需要,存储在不同的数据服务器中。

         下表是常见的分布式文件系统及多个维度的对比:   

文件系统 FastDFS Ceph
开发语言 C C++
开源协议 GPL V3 LGPL
数据存储方式 文件/Trunk 对象/文件/块
集群节点通信协议 私有协议(TCP) 私有协议(TCP)
专用元数据存储点 占用MDS
在线扩容 支持 支持
冗余备份 支持 支持
单点故障 不存在 存在
跨集群同步 部分支持 不适用
易用性 安装简单,社区相对活跃 安装简单,官方文档专业化
适用场景 单集群的中小文件 单集群的大中小文件
配置推荐

ceph官网配置推荐

http://docs.ceph.org.cn/start/hardware-recommendations/

块存储:

   原理:将裸磁盘空间通过逻辑划分成多个逻辑盘,每个逻辑盘存储数据

  优点:将多个廉价硬盘组合起来对外提供服务,可并行读写,读速度快

  缺点:不同文件系统不能共享

文件存储:

 原理:直接存储在硬盘上

 优点:硬件廉价,能共享

 缺点:文件在同一磁盘上,读写慢

对象存储:

 原理:对象存储最常用的方案,就是多台服务器内置大容量硬盘,再装上对象存储软件,然后再额外搞几台服务作为管理节点,安装上对象存储管理软件。管理节点可以管理其他服务器对外提供读写访问功能。

 优点:很好的结合块存储和文件存储,读写快,能共享

 缺点:硬盘容量大(推荐大于1T),服务器节点多(3个OSD,3个Monitor,2个MDS(可选)),硬件需求,部署运维成本大。

    3. 目前需求

        企业图片等小文件(小于100M)存储,数据安全,备份,可动态扩容等

    4. 选型

        根据目前的需求,从中选择了Ceph和FastDFS两款文件进行详细了解,发现Ceph文件系统在搭建和运维时成本较高,且已知的大规模成功案例较少,而FastDFS已知的大规模成功案例较多,公司内部运维时间长,所以选择FastDFS

     5.  安装部署

          Centos7部署FastDFS集群

     6.关于分布式文件系统建议

建议考虑下秒传功能,文件重复时直接返回新的ID

建议考虑下垃圾文件处理机制

建议考虑下文件安全,比如文件类型校验等

建议部署时结合Supervisor使用

     7. 经讨论并结合现有实际业务,硬件需求,部署运维成本,最终选择FastDFS。 

你可能感兴趣的:(微服务)