前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文件服务器存储解决方案探索

文件服务器存储解决方案探索

作者头像
JavaEdge
发布2022-11-30 14:49:40
2.2K0
发布2022-11-30 14:49:40
举报
文章被收录于专栏:JavaEdgeJavaEdge

1 定义

文件服务器(file servers)是一种器件,它的功能就是向服务器提供文件。 它加强了存储器的功能,简化了网络数据的管理。 它一则改善了系统的性能,提高了数据的可用性,二则减少了管理的复杂程度,降低了运营费用。

2 简介

在C/S模式下,文件服务器(file server)是一台对中央存储和数据文件管理负责的计算机,这样在同一网络中的其他计算机就可以访问这些文件. 文件服务器允许用户在网络上共享信息,而不用通过软盘或一些其它外部存储设备来物理地移动文件; 任何计算机都能被设置为主机,并作为文件服务器(file server)运行 最简单的形式是,文件服务器可以是一台普通的个人计算机,它处理文件要求并在网络中发送它们; 在更复杂的网络中,文件服务器也可以是一台专门的网络附加存储(NAS)设备,它也可以作为其他计算机的远程硬盘驱动器来运行,并允许网络中的人像在他们自己的硬盘中一样在服务器中存储文件. 文件服务器具有分时系统文件管理的全部功能,提供网络用户访问文件、目录的并发控制和安全保密措施的局域网(LAN)服务器.

3 常见开源服务器

3.1 EasyFS

支持缩略图,支持单选、多选,下载支持中文名,不依赖其它容器,可独立部署,使用Java语言、SpringBoot框架开发.

3.2 FastDFS

是一个开源的分布式文件系统,对文件进行管理

功能

文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题. 特别适合以文件为载体的在线服务,如相册网站、视频网站等等.

主要是针对互联网中的小文件系统,没有文件索引数据库,整体性能很高

原理

3.3 HDFS

简介

优点

高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。

高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。

Hadoop带有用Java语言编写的框架,因此运行在 Linux生产平台上是非常理想的。Hadoop上的应用程序也可以使用其他语言编写,比如 C++。

Hadoop是目前最流行的的分布式文件系统之一,能找到的资料相当丰富。

从使用的角度说,Hadoop的使用和使用FTP有点类似

3.4 TFS

淘宝使用的文件系统,用于图片存储,在小文件存储上比较有优势,但随着写的增加,读文件的效率会降低.

TFS(Taobao FileSystem)是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问.

TFS为淘宝提供海量小文件存储,通常文件大小不超过1M,满足了淘宝对小文件存储的需求,被广泛地应用在淘宝各项应用中。它采用了HA架构和平滑扩容,保证了整个文件系统的可用性和扩展性。同时扁平化的数据组织结构,可将文件名映射到文件的物理地址,简化了文件的访问流程,一定程度上为TFS提供了良好的读写性能。

总体结构

一个TFS集群由两个NameServer节点(一主一备)和多个DataServer节点组成。这些服务程序都是作为一个用户级的程序运行在普通Linux机器上的。 在TFS中,将大量的小文件(实际数据文件)合并成为一个大文件,这个大文件称为块(Block), 每个Block拥有在集群内唯一的编号(Block Id), Block Id在NameServer在创建Block的时候分配, NameServer维护block与DataServer的关系。Block中的实际数据都存储在DataServer上。而一台DataServer服务器一般会有多个独立DataServer进程存在,每个进程负责管理一个挂载点,这个挂载点一般是一个独立磁盘上的文件目录,以降低单个磁盘损坏带来的影响。 NameServer主要功能是: 管理维护Block和DataServer相关信息,包括DataServer加入,退出, 心跳信息, block和DataServer的对应关系建立,解除。正常情况下,一个块会在DataServer上存在, 主NameServer负责Block的创建,删除,复制,均衡,整理,NameServer不负责实际数据的读写,实际数据的读写由DataServer完成。 DataServer主要功能是: 负责实际数据的存储和读写。 同时为了考虑容灾,NameServer采用了HA结构,即两台机器互为热备,同时运行,一台为主,一台为备,主机绑定到对外vip,提供服务;当主机器宕机后,迅速将vip绑定至备份NameServer,将其切换为主机,对外提供服务。图中的HeartAgent就完成了此功能

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 定义
  • 2 简介
  • 3 常见开源服务器
    • 3.1 EasyFS
      • 3.2 FastDFS
        • 功能
        • 主要是针对互联网中的小文件系统,没有文件索引数据库,整体性能很高
      • 原理
        • 3.3 HDFS
          • 简介
          • 优点
        • 3.4 TFS
          • 总体结构
      相关产品与服务
      文件存储
      文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档