【FastDFS分布式文件系统】1.大型服务器中的存储

一个网络应用,除了数据库存储业务数据以外,还需要存储一些数据文件信息,这类文件类的数据肯定要存储在一个硬件介质中,而整个的存储和传输过程,则需要一些架构层面的软件来实现。下面我们就围绕着服务器对文件的存储机制来逐步介绍文件系统。

一、存储介质
在单节点的存储机制中,使用的存储介质就是硬盘,硬盘又分为机械硬盘和SSD(固态硬盘):

机械硬盘

固态硬盘

SSD的优点是读取速度比机械硬盘快,缺点就是造价高昂,售价比较贵,且寿命方面没有机械硬盘长。而机械硬盘优点就是造价便宜,技术比较成熟稳定,相关性能也比较了解,便于管理,缺点就是读取速度没有机械硬盘快。

二、文件系统
我们要在硬盘中存储文件,首先第一步就是要格式化文件系统。每个操作系统都有自己的文件系统,例如Linux下的tmpfs、GFS、XFS等。
单一的文件系统的缺点就是不好进行拓展,分区分的小了也不能拓展,只能重新进行分区。所以就引入了LVM,LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
LVM可以把多块硬盘做成一个个的PV(Physical Volume物理卷),然后由一个VG(Volumne Group卷组)来管理PV,即GV建立在PV之上,一个GV中至少要包括一个PV,在GV建立之后可动态添加PV到GV中。而GV又从属于LV(Logical Volume逻辑卷),GV中的未分配空间可以用于建立新的LV,LV建立后可以动态地扩展和缩小空间。系统中的多个LV可以属于同一个GV,也可以属于不同的多个GV。PV、GV和LV的关系图如下:

所以使用LVM的优点就是可以动态的进行磁盘分区管理,可以动态地扩展和缩小空间。

三、文件存储方式
存储的分类分为,封闭系统的存储和开放系统的存储。其中封闭系统的存储指的是大型机的存储。而开放式存储指的是基于Windows、UNIX、Linux等操作系统的服务器,它们又被分为内置存储和外挂存储,说白了,内置存储就是内存,外挂存储就是硬盘。在外挂存储中又分为DAS(Direct-Attached Storage直连式存储)、FAS(Fabric-Attached Storage网络化存储),其中FAS又分为NAS(Network-Attached Storage网络接入存储)和SAN(Storage Area Network存储区域网络),下面是存储分类图:

DAS、FAS、NAS和SAN的对比:
●DAS
图1.5.jpg
是直连式存储(Direct-AttachedStorage) ,存储设备是通过电缆(通常是SCSI接口电缆)直接挂到服务器总线上。DAS方案中外接式存储设备目前主要是指RAID、JBOD等。
每一台主机服务器有独立的存储设备,每台主机服务器的存储设备无法互通。通常在单一网络环境下且数据交换量不大,性能要求不高的环境下,可以说是一种应用较为早的技术实现。

●NAS

是网络附属存储(Network Attached Storage) ,存储设备通过标准的网络拓扑结构(例如以太网)连接 :

NAS是在网络中放置一个单独的存储服务器,此存储服务器开启网络共享。

●SAN
是存储区域网络(Storage Area Network) ,SAN连接又分ISCSI(网口)SAS(SAS口)以及FC(光纤口)连接。 
下面是一个IBM-DS系统的SAN存储:

该SAN是由两块组成,一个是控制器(IP-SAN),一个是硬盘存储扩展柜(FC-SAN),一个控制器可以支持多个扩展柜,它们之间通过光纤进行连接。默认情况下,机器的尾纤只能接在控制器上,这里一般使用光纤交换机来进行多台机器与控制器的网络传输。
注:这种连接需要单独的存储产品。可以通过交换机连接。

四、文件存储机制
在同种文件存储方式下, 有多种文件存储机制:单机存储、共享存储、分布式存储。
1.单机存储
单机存储是比较简单的一种存储方式,只需要关注本机器的存储功能即可。单机存储技术可分为硬盘(文件系统)、LVM、文件分发(多级分发)和文件同步(rsync、HASH Tree、inotify)。

2.共享存储
共享存储,指的是多台服务器访问(写)同一个存储设备的同一个分区。通俗一点讲就是说系统允许多个用户(进程)共享同一份文件。如果不提供此功能,就意味着凡是需要该文件的用户,都须各自备有此文件的副本,显然造成空间的浪费。
共享存储的硬件方面,就是上面提到的NAS和SAN存储,而NAS中使用的文件系统就是NFS。NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

3.分布式存储
在集群情况下,还有一种“分布式文件系统”:

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

常见的分布式文件系统有FastDFS,GFS、HDFS、Ceph 、GridFS 、mogileFS、TFS等:


上述分布式文件系统各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。

转载请注明出处:https://blog.csdn.net/acmman/article/details/80782634

猜你喜欢

转载自blog.csdn.net/u013517797/article/details/80782634