前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >块存储,文件存储及对象存储 比较

块存储,文件存储及对象存储 比较

作者头像
Freedom123
发布2024-03-29 09:32:45
910
发布2024-03-29 09:32:45
举报
文章被收录于专栏:DevOpsDevOps

本质是一样的,底层都是块存储,只是在对外接口上表现不一致,分别应用于不同的业务场景。 通常来讲,磁盘阵列都是基于Block块的存储,而所有的NAS产品都是文件级存储。 一. 块存储:DAS,SAN 块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。

架构:

         1. DAS(Direct Attach Storage): 是直接连接于主机服务器的一种存储方式,每台服务器有独立的存储设备,每台主机服务器的存储设备无法互通,需要跨主机存取资料室,必须经过相对复杂的设定,若主机分属不同的操作系统,则更复杂。 应用:单一网络环境下且数据交换量不大,性能要求不高的环境,技术实现较早。

          2. SAN(Storage Area Network): 是一种高速(光纤)网络联接专业主机服务器的一种存储方式,此系统会位于主机群的后端,它使用高速I/O联接方式,如:SCSI,ESCON及Fibre-Channels.特点是,代价高、性能好。但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。 应用:对网速要求高、对数据可靠性和安全性要求高、对数据共享的性能要求高的应用环境中。

典型设备:磁盘阵列,硬盘,虚拟硬盘

使用角度:块级的存储如果是第一次使用,那么必须需要进行一次格式化的操作,创建出一个文件系统,然后才可以使用,新买的U盘、硬盘、或者新发现的iSCSI设备等 技术角度:

         1. 对于块级来说如果你要通过块级来访问一段数据的话,你自己需要知道这些数据具体是存在于那个存储设备上的位置上,也就是说块级的存储中要求程序自己保存元数据。          2. 块存储接口的操作对象是二进制数据,物理存储位置是硬盘 (通过逻辑目录 找到对应分区,然后找到对应存储块存储。)          3. 块存储就是在物理层这个层面对外提供服务,使用它的系统,有用自己的文件系统格式化。这样一旦被一个系统使用,就独占了。 访问协议:块存储,主要操作对象是磁盘。以 SCSI 为例,主要接口有 Read/Write/Read Capacity/Inquiry等。FC,iSCSI,也是块存储协议。和文件存储相比,没有文件和目录树的概念,一般协议也不会定义磁盘的创建和删除操作。协议更注重传输控制。

优点:

         1. 可以将多块廉价的硬盘组合起来,成为一个大容量的逻辑盘对外提供服务,提高了容量          2.  写入数据的时候,由于是多块磁盘组合出来的逻辑盘,所以几块磁盘可以并行写入的,提升了读写效率。          3. 很多时候块存储采用SAN架构组网,传输速率以及封装协议的原因,使得传输速度与读写速率得到提升。 缺点:         1. 采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要买光纤交换机,造价成本高。         2. 主机之间的数据无法共享,在服务器不做集群的情况下,块存储裸盘映射给主机,再格式化使用后,对于主机来说相当于本地盘,那么主机A的本地盘根本不能给主机B去使用,无法共享数据。         3. 不利于不同操作系统主机间的数据共享:另外一个原因是因为操作系统使用不同的文件系统,格式化完之后,不同文件系统间的数据是共享不了的。

二. 文件存储: 通常NAS产品都是文件级存储,文件存储其实普通拿一台服务器/笔记本,只要装上合适的操作系统与软件,就可以架设FTP与NFS服务了,架上该类服务之后的服务器,就是文件存储的一种了。

架构:NAS(Network Attached Storage):是一套网络存储设备,通常直接连在网络上并提供资料存取服务,一套NAS储存设备就如同一个提供数据文件服务的系统,特点是性价比高。它采用NFS或CIFS命令集访问数据,以文件为传输协议,可扩展性好、价格便宜、用户易管理。目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(OSD),构建存储系统,每个对象存储设备具备一定的职能,能够自动管理其上的数据分布。 典型设备:FTP、NFS服务器,SamBa

使用角度:块级的存储设备经过格式化以及挂载(win 会自动挂载)之后,你就将一个块级的存储变成了文件级的存储 技术角度:

         1. 如果需要自己保存元数据的话就太麻烦了,上文也说了,元数据本身也是数据,实际上元数据也是存储在硬盘上的,那么如何访问元数据这个数据呢其实,文件级的元数据是存储在固定位置的,存储的位置和方式是大家事先约定好的,这个约定就叫做文件系统,例如EXT4、FAT32、XFS、NTFS等。借助于这些约定,我们就不用自己去维护一个表去记录每一份数据的具体存储位置了。我们只需要直到我们存储的文件的路径和名字就好了          2. 操作对象是目录和文件,物理存储位置 是由 文件服务器对应的文件系统来决定的(比块存储多一个过程:判断参数文件 应该存储到哪个逻辑目录上。)         3. 文件存储,就是在文件系统一层对外提供服务,系统只用访问文件系统一级就可以,各个系统都可以根据接口取访问。 访问协议:文件存储,主要操作对象是文件和文件夹。以 NFS 为例,文件相关的接口包括:LOOKUP/ACCESS/READ/WRITE/CREATE/REMOVE/RENAME 等等,文件夹相关的接口包括:MKDIR/RMDIR/READDIR 等等。同时也会有 FSSTAT/FSINFO 等接口用于提供文件系统级别的信息。POSIX,SAMBA 等也是文件存储协议。协议更注重接口的灵活,以及访问权限控制。

优点:

         1. 造价交低:随便一台机器就可以了,另外普通以太网就可以,根本不需要专用的SAN网络,所以造价低。           2. 方便文件共享:例如主机A(WIN7,NTFS文件系统),主机B(Linux,EXT4文件系统),想互拷一部电影,本来不行。加了个主机C(NFS服务器),然后可以先A拷到C,再C拷到B就OK了 缺点:读写速率低,传输速率慢:以太网,上传下载速度较慢,另外所有读写都要1台服务器里面的硬盘来承担,相比起磁盘阵列动不动就几十上百块硬盘同时读写,速率慢了许多。

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

使用角度:平时最常见的一般就是百度网盘,其后端对接的就是对象存储。还有就网页上的图片、视频,其本身也是存储在对象存储的文件系统中的 技术角度:

           1. 对象级存储,文件级的元数据实际上是和数据放在一起的,就像一本书每本书都有一个目录,这个目录描述的是这本书上内容的索引,目录就是书内容的“元数据”,而对象存储,会有一本书只放目录(元数据),其他更多的书只有内容,并且内容都是被拆分好的一段一段的,            2. 对象存储接口的操作对象是对象,存储位置是大型分布式服务器.             3. 对象存储,也是文件系统一级提供服务,只是优化了目前的文件系统,采用扁平化方式,弃用了目录树结构,便于共享,高速访问。 访问协议:对象存储,主要操作对象是对象(Object)。以 S3 为例,主要接口有 PUT/GET/DELETE 等。和文件和对象存储相比,没有随机读写的接口。和文件存储相比,没有目录树的概念。协议更注重简洁。 典型设备:内置大容量硬盘的分布式服务器

四. 为什么块级的存储性能最好?          首先要明确一点,要明确,每次在发生数据读取访问的时候,实际上对应系统的底层是发生了多次IO的.          然后,相对于其它的存储方式,上文也提到过,块存储的元数据是有操作系统自己管理的,也就是说整个文件系统(元数据)是存在在操做系统的内存中的,这样操作系统在进行元数据管理的时候可以直和自己的内存打交道。而其它类型的文件系统如文件级存储,它的文件系统是存在于另一台服务器上的,这样在进行元数据访问时就需要从网络进行访问,这样要比从内存访问慢得多。           总结来讲,就是块级存储的元数据在系统本机中,在进行元数据访问(每次读写文件实际都会在操作系统底层发生),会更快,因为其它的级别的存储元数据都要通过网络访问。

五. 为什么还要使用块存储和文件存储:         1.有一类应用是需要存储直接裸盘映射的,比如数据库。因为数据库需要存储裸盘映射给自己后,再根据自己的数据库文件系统来对了裸盘进行格式化,因此不能采用其他已经被格式化为某种文件系统的存储。此类更适合块存储。          2.对象存储的成本比普通的文件存储还是较高,需要购买专门的对象存储软件以及大容量硬盘。如果对数据量要求不是海量,只是为了作文件共享的时候,直接用文件存储的形式就好了,性价比高。

参考:https://www.cnblogs.com/kisf/articles/6485783.html

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档