设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 手机 数据 公司
当前位置: 首页 > 服务器 > 安全 > 正文

关于分布式存储,这是你应该知道的(2)

发布时间:2021-01-08 15:16 所属栏目:53 来源:网络整理
导读:图3 计算和存储分离了,存储只是接受命令不再做复杂的计算,只干读取或者写入文件2件事情,叫SAN,如图3. 因为不带文件系统,所以也叫“裸存储”,有些应用就需要裸设备,如数据库.存储只接受简单明了的命令,其他复杂的事

图3

计算和存储分离了,存储只是接受命令不再做复杂的计算,只干读取或者写入文件2件事情,叫SAN,如图3.

因为不带文件系统,所以也叫“裸存储”,有些应用就需要裸设备,如数据库.存储只接受简单明了的命令,其他复杂的事情,有服务器端干了.再配合FC网络,这种存储数据读取/写入的速度很高.

但是每个服务器都有自己的文件系统进行管理,对于存储来说是不挑食的只要来数据我就存,不需要知道来的是什么,不管是英语还是法语,都忠实记录下来的.

但是只有懂英语的才能看懂英语的数据,懂法语的看懂法语的数据.所以,一般服务器和SAN存储区域是一夫一妻制的,SAN的共享性不好.当然,有些装了集群文件系统的主机是可以共享同一个存储区域的.

从上面分析,我们知道,决定存储的快慢是由网络和命令的复杂程度决定的.

内存通信速度>总线通信>网络通信

网络通信中还有FC网络和以太网络.FC网络目前可以实现8Gb/s,但以太网络通过光纤介质已经普及10Gb/s,40Gb/s的网卡也在使用了.也就是说传统以太网络已经不是存储的瓶颈了.除了FCSAN,IPSAN也是SAN存储的重要成员.

对存储的操作,除了熟悉的读/写以外,其实还有创建、打开、获取属性、设置属性、查找等等.

对于有大脑的SAN存储来说,除了读/写以外的命令,都可以在本地内存中完成,速度极快.

而NAS存储缺乏大脑,每次向存储传递命令,都需要IP封装并通过以太网络传递到NAS服务器上,这个速度就远远低于内存通信了.

  • DAS特点是速度最快,但只能自己用;
  • NAS的特点速度慢点但共享性好;
  • SAN的特点是速度快,但共享性差.

总体上来讲,对象存储同兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点.

NAS存储的基本单位是文件,SAN存储的基本单位是数据块,而对象存储的基本单位是对象,对象可以认为是文件的数据+一组属性信息的组合,这些属性信息可以定义基于文件的RAID参数、数据分布和服务质量等.

采取的是“控制信息”和“数据存储”分离的模式,客户端用对象ID+偏移量作为读写的依据,客户端先从“控制信息”获取数据存储的真实地址,再直接从“数据存储”中访问.

对象存储大量使用在互联网上,大家使用的网盘就是典型的对象存储.对象存储有很好的扩展性,可以线性扩容.并可以通过接口封装,还可以提供NAS存储服务和SAN存储服务.

VMware的vSAN本质就是一个对象存储.分布式对象存储就是SRVSAN的一种,也存在安全隐患.因为这个隐患是X86服务器带来的.

二、文件系统

计算机的文件系统是管理文件的“账房先生”.

  • 首先他要管理仓库,要知道各种货物都放在哪里;
  • 然后要控制货物的进出,并要确保货物的安全.

如果没有这个“账房先生”,让每个“伙计”自由的出入仓库,就会导致仓库杂乱无章、货物遗失.

就像那年轻纺城机房刚启用的时候,大家的货物都堆在机房里,没有人统一管理,设备需要上架的时候,到一大堆货物中自行寻找,安装后的垃圾也没有人打扫,最后连堆积的地方都找不到,有时自己的货物找不到了,找到别人的就使用了…….

大家都怨声载道,后来建立了一个仓库,请来了仓库管理员,用一本本子记录了货物的归宿和存储的位置,建立货物的出入库制度,问题都解决了,这就是文件系统要做的事情.

文件系统管理存取文件的接口、文件的存储组织和分配、文件属性的管理(比如文件的归属、权限、创建事件等).

每个操作系统都有自己的文件系统.比如windows就有常用的FAT、FAT32、NTFS等,Linux用ext1-4的等.

存储文件的仓库有很多中形式,现在主要用的是(机械)磁盘、SSD、光盘、磁带等等.

拿到这些介质后,首先需要的是“格式化”,格式化就是建立文件存储组织架构和“账本”的过程.比如将U盘用FAT32格式化,我们可以看到是这样架构和账本(如图4):

图4

主引导区:记录了这个存储设备的总体信息和基本信息.比如扇区的大小,每簇的大小、磁头数、磁盘扇区总数、FAT表份数、分区引导代码等等信息.

分区表:,即此存储的账本,如果分区表丢失了,就意味着数据的丢失,所以一般就保留2份,即FAT1和FAT2.分区表主要记录每簇使用情况,当这位置的簇是空的,就代表还没有使用,有特殊标记的代表是坏簇,位置上有数据的,是指示文件块的下一个位置.

目录区:目录和记录文件所在的位置信息.

数据区:记录文件具体信息的区域.

通过以下的例子来帮助理解什么是FAT文件系统.

假设每簇8个扇区组成一个簇,大小是512*8=4K.根目录下的readme.txt文件大小是10K,如图5:

图5

  • 1、在目录区找到根目录下文件readme.txt在FAT表中的位置是0004
  • 2、在0004位置对应簇的8个扇区读取相应文件块readme(1)保存在内存,并获取下一个数据块的位置0005.
  • 3、在0005位置对应簇的8个扇区读取相应文件块readme(2)保存在内存,并获取下一个数据块的位置0008.
  • 4、在0005位置对应簇的4个扇区读取相应文件块readme(3)保存在内存,并获得结束标志.
  • 5、将readme(1)、readme(2)、readme(3)组合成为readme文件.

在这个例子中,我们看到在FAT文件系统,是通过查询FAT表和目录项来确定文件的存储位置,文件分布是以簇为单位的数据块,通过“链条”的方式来指示文件数据保存的文字.

当要读取文件时,必须从文件头开始读取.这样的方式,读取的效率不高.

不同的Linux文件系统大同小异,一般都采取ext文件系统,如图6.

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读