块存储、文件存储、对象存储三者之比较 | 资料

一、块存储、文件存储、对象存储,三者的本质差别是什么?
1、块存储
典型设备:磁盘阵列,硬盘
块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘 。(假设划分完的逻辑盘也是5个,每个也是1G,但是这5个1G的逻辑盘已经与原来的5个物理硬盘意义完全不同了 。例如第一个逻辑硬盘A里面,可能第一个200M是来自物理硬盘1,第二个200M是来自物理硬盘2,所以逻辑硬盘A是由多个物理硬盘逻辑虚构出来的硬盘 。)
接着块存储会采用映射的方式将这几个逻辑盘映射给主机,主机上面的操作系统会识别到有5块硬盘,但是操作系统是区分不出到底是逻辑还是物理的,它一概就认为只是5块裸的物理硬盘而已,跟直接拿一块物理硬盘挂载到操作系统没有区别的,至少操作系统感知上没有区别 。
此种方式下,操作系统还需要对挂载的裸硬盘进行分区、格式化后,才能使用,与平常主机内置硬盘的方式完全无异 。
优点:
1、 这种方式的好处当然是因为通过了Raid与LVM等手段,对数据提供了保护 。
2、 另外也可以将多块廉价的硬盘组合起来,成为一个大容量的逻辑盘对外提供服务,提高了容量 。
3、 写入数据的时候,由于是多块磁盘组合出来的逻辑盘,所以几块磁盘可以并行写入的,提升了读写效率 。
4、 很多时候块存储采用SAN架构组网,传输速率以及封装协议的原因,使得传输速度与读写速率得到提升 。
缺点:
1、采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要买光纤交换机,造价成本高 。
2、主机之间的数据无法共享,在服务器不做集群的情况下,块存储裸盘映射给主机,再格式化使用后,对于主机来说相当于本地盘,那么主机A的本地盘根本不能给主机B去使用,无法共享数据 。
3、不利于不同操作系统主机间的数据共享:另外一个原因是因为操作系统使用不同的文件系统,格式化完之后,不同文件系统间的数据是共享不了的 。例如一台装了WIN,文件系统是FAT32/NTFS,而Linux是EXT4,EXT4是无法识别NTFS的文件系统的 。就像一只NTFS格式的U盘,插进Linux的笔记本,根本无法识别出来 。所以不利于文件共享 。
2、文件存储
典型设备:FTP、NFS服务器
为了克服上述文件无法共享的问题,所以有了文件存储 。
文件存储也有软硬一体化的设备,但是其实普通拿一台服务器/笔记本,只要装上合适的操作系统与软件,就可以架设FTP与NFS服务了,架上该类服务之后的服务器,就是文件存储的一种了 。
主机A可以直接对文件存储进行文件的上传下载,与块存储不同,主机A是不需要再对文件存储进行格式化的,因为文件管理功能已经由文件存储自己搞定了 。
优点:
1、造价较低:随便一台机器就可以了,另外普通以太网就可以,根本不需要专用的SAN网络,所以造价低 。
2、方便文件共享:例如主机A(WIN,NTFS文件系统),主机B(Linux,EXT4文件系统),想互拷一部电影,本来不行 。加了个主机C(NFS服务器),然后可以先A拷到C,再C拷到B就OK了 。(例子比较肤浅,请见谅……)
缺点:
读写速率低,传输速率慢:以太网,上传下载速度较慢,另外所有读写都要1台服务器里面的硬盘来承担,相比起磁盘阵列动不动就几十上百块硬盘同时读写,速率慢了许多 。
3、对象存储
典型设备:内置大容量硬盘的分布式服务器

推荐阅读