块存储、文件存储、对象存储的区别

一、块存储

典型设备:磁盘阵列、硬盘
块存储主要是将裸磁盘空间整个映射给主机使用。
举例说明:磁盘阵列里有5块硬盘,然后可以通过划逻辑盘、做Raid(Redundant Arrays of Independent Disks,RAID,有“独立磁盘构成的具有冗余能力的阵列”之意)、LVM(Logical Volume Manager,逻辑卷管理)等方式逻辑划分出N个逻辑的硬盘。

逻辑盘和物理盘是不同的概念,假设每个硬盘100G,共5个硬盘,划分为逻辑盘也有5个,每个100G,但这5个逻辑盘和原来的5个物理盘是完全不同的:例如第一个逻辑盘的前20G来自第一个物理盘,第二个20G来自第二个物理盘:所以,逻辑盘是多个物理盘逻辑虚构出来的硬盘。

块存储会采用映射的方式,将这几个逻辑盘映射给主机,主机上的操作系统会识别到有5块硬盘,但操作系统是无法区分到底是物理盘还是逻辑盘,它一概任务只是5块裸的物理磁盘而已,跟直接拿一块物理硬盘怪哉到操作系统没区别,至少操作系统感知上没有区别。

在此方式下,操作系统还需要对挂载的裸硬盘进行分区、格式化后,才能使用。

块存储的优点:
1)通过了Raid与LVM等手段,对数据提供了保护
2)快意将多块廉价的硬盘组合起来,成为一个大容量的逻辑盘对外提供服务,提高了容量。
3)写入数据时,由于是多块磁盘组合出来的逻辑盘,所以几块硬盘可以并行写入的,提升了读写效率。
4)很多时候,块存储采用SAN架构(SAN(Storage Area Network,存储区域网络))组网,传输速度及封装协议的原因,使得传输速度和毒枭效率得到了提升。

缺点:
1)采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要购买光纤交换机,造价成本高
2)主机之间数据无法共享,在服务器不做集群情况下,块存储裸盘映射给主机,在格式化使用后,对于主机来说相当于本地盘,那么主机A的盘不能给主机B去使用,无法共享数据。
3)不利于不同操作系统主机间的数据共享:因为操作系统使用不同的文件系统,格式化后,不同的文件系统间的数据是不能共享的。例如一台win7,文件系统是FAT32/NTFS, 而Linux是EXT4。

二、文件存储

典型设备:FTP、NFS服务器
为了克服文件无法共享的问题,有了文件存储。
文件存储也是软硬一体化的设备,但其实一台普通的PC机,只要装上操作系统,就可以架设FTP和NFS服务了,这就是文件存储的一种了。
主机A可以直接对文件存储进行文件的上传和下载,与块存储不同,主机A是不需要对文件存储进行格式化的,因为文件管理功能已经又文件存储自己搞定了。

优点:
1)造价低:随便一台机器就可以,普通的以太网就可以,不需要专用的SAN网络。
2)方便文件共享

缺点:
1)读写速率低,传输速率慢:以太网,上传下载速度慢,另外所有的读写都要1台服务器的硬盘来承受,相依磁盘阵列动不动就上百块硬盘同时读写,速度慢很多。

三、对象存储

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

对象存储是为了解决块存储和文件存储的弊端:块存储读写快但不利于共享;文件存储读写慢,利用共享。

首先,一个文件包含了metadata(如文件的大小、修改时间、存储路径等)及内容。
像FAT32这种文件系统,是直接将一份文件与metadata一起存储的,存储过程先将文件安装文件系统的最小块大小来打散(例如4M的文件,假设文件系统要求一个块4K,那么久将文件打散成1000个小块),再写进硬盘里,过程中是没有区分数据和metadata的。而每个块最后告知你下一个要读取的块地址,然后一直这样顺序的按图索骥,最后完成整个文件所有块的读取。
所以这种情况读写速度慢,就因为就算你有100个机械臂在读写,但是由于你只有读取到第一个块,才知道下一个块在哪。

而对象存储将metadata独立出来了,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的metadata(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。
当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪个OSD,假设反馈文件A存储在B、C、D三个OSD,那么用户就会再次直接访问3个OSD服务器去读取数据。由于3个OSD同时对外传输数据,所以速度快,当OSD服务器数量越多,这种读写速度的提升越大,所以对象存储读写速度快。

另一方面,对象存储软件是有专门的文件系统的,所以OSD对外又相当于文件服务器,那么就不存在共享方面的问题了。

那么,既然对象存储这么多好处,为什么还需要块存储和文件存储呢?
1)有一类应用时需要存储直接裸盘映射的,例如数据库。运维数据需要存储裸盘映射给自己后,再跟进自己的数据库文件系统来对裸盘进行格式化,所以不能采用已经被格式化的某种文件系统的存储了,所以数据库类的适合用块存储。
2)对象存储成本比普通的文件存储搞,需要购买专门的对象存储软件及大容量硬盘。如果对数据要求不是海量,只是为了文件共享的时候,直接用文件存储就好了。

三者比较:
在这里插入图片描述
对象存储文件系统的关键技术是什么?
1)分布式元数据
2)并发数据访问,对象存储体系结构定义了一个新的、更智能化的磁盘接口OSD。

什么叫OSD?
存储局域网(SAN)和网络附加存储(NAS)是我们比较熟悉的主流网络存储架构,而对象存储是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备,简称OSD(Object Storage Device)

在存储对象中,通过什么对象方式访问对象?
在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问对象。

OSD的主要功能是什么?
1)数据存储:OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,CLient请求数据时,用对象ID、offset进行数据读写
2)智能分布:OSD用自身的CPU和内存优化数据分布,并支持数据的欲取,从而优化磁盘性能。
3)每个对象元数据的管理:OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据类似,通常包括数据块和对象的长度。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值