详解块存储、文件存储、对象存储区别

01 块存储

1.1 概述

    块存储是将裸磁盘空间整个映射给主机使用的,比如磁阵中有3块1T硬盘,可以选择直接将裸设备给操作系统使用(此时识别出3个1T的硬盘),也可以划分经过RAID、逻辑卷等方式划分出多个逻辑的磁盘供系统使用(比如划分为6个500G的磁盘),主机层面操作系统识别出硬盘,但是操作系统无法区分这些映射上来的磁盘到底是真正的物理磁盘还是二次划分的逻辑磁盘,操作系统接着对磁盘进行分区、格式化,与我们服务器内置的硬盘没有什么差异。

    块存储不仅仅是直接使用物理设备,间接使用物理设备的也叫块设备,比如虚机创建虚拟磁盘。VMware、VirtualBox都可以创建虚拟磁盘,虚机创建的磁盘格式包括raw、qcow2等,这与主机使用的裸设备不一样,且有不同的应用场景。

1.2 特点

    优点

    1、通过RAID与LVM等手段,对数据提供了保护(RAID可实现磁盘的备份和校验,LVM可以做快照);

    2、RAID将多块廉价的硬盘组合起来,构建大容量的逻辑盘对外提供服务,性价比高;

    3、写数据时,由于是多块磁盘组合成的逻辑盘,可以并行写入,提升了读写效率;

    4、很多时候块存储采用SAN架构组网,传输速率以及封装协议的原因,使得传输速度与读写速率得到提升。

    缺点

    1、采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要买光纤交换机,造价成本高;

    2、不利于不同操作系统主机间的数据共享,因为操作系统使用不同的文件系统,格式化完成后,不同文件系统间的数据是无法共享的。

1.3 典型设备

    磁盘,磁盘阵列

1.4 应用场景

    一般用于主机的直接存储空间和数据库应用的存储分两种形式:

    DAS:一台服务器一个存储,多机无法直接共享,需要借助操作系统的功能,如共享文件夹;

    SAN:金融电信级别,成本较高,但是可提供高性能和高可靠服务。

    云存储的块存储:具备SAN的优势,成本低,可提供弹性拓容,存储介质可选普通硬盘和SSD。

1.5 主流技术

    Microsoft:Azure Block Storage

    Google:Google Block Storage

    Amazon:Elastic Block Storag(EBS)

    OpenStack:Cinder

    其他:Ceph RBD、sheepdog

02 文件存储

2.1 概述

    为了克服块存储无法共享的问题,所以就有了文件存储。

    文件存储也有软硬一体化的设备,用一台普通服务器/笔记本,只要安装上合适的操作系统与软件,就可以对外提供FTP与NFS服务。

2.2 特点

    优点

    1、造价较低:只需要普通机器和普通网络即可满足需求,不需要专用的SAN网络;

    2、方便文件共享。

    缺点

    1、读写速率低,传输速率慢:以太网,上传下载速度较慢,另外读写操作都分布到单台服务器,与磁阵的并行写相比性能差距较大。

2.3 典型设备

    FTP、NFS服务器

2.4 应用场景

    与偏向底层的块存储不同,文件存储上升到了应用层,一般指的是NAS。

    一套网络存储设备,通过TCP/IP进行访问,协议为NFSv3/v4由于通过网络,且采用上层协议,因此开销大,延时肯定比块存储高,一般用于多个云服务器共享数据,如存放共享文件等。

2.5 主流技术

    Microsoft;Windows Azure文件共享存储

    Google:Google FileStorage(GFS)

    Amazon:Elastic File Storage(EFS)

    OpenStack:Swift

    其他:CephFS、HDFS、NFS、CIFS、Samba、FTP

03 对象存储

3.1 概述

    之所以出现对象存储,是为了克服块存储与文件存储的缺点,发扬他俩各自的优点。简单地说,块存储读写块,不利于共享,文件存储读写慢,利于共享。

    为什么对象存储兼具块存储与文件存储的好处,还要使用块存储或文件存储呢?

    1、有一类应用是需要存储直接裸盘映射的,例如数据库。因为数据库需要存储裸盘映射给自己后,再根据自己的数据库文件系统来对裸盘进行格式化,所以是不能够采用其他已经被格式化为某种文件系统的存储的。数据库更适合使用块存储。

    2、对象存储的成本比普通的文件存储高,需要购买专门的对象存储软件以及大容量硬盘。

3.2 特点

    优点

    1、结合了块存储与文件存储的优点。

    缺点

    1、数据库等追求高性能的应用更适合采用块存储。

    2、对象存储的成本比普通的文件存储还是较高。

3.3 典型设备

    内置大容量硬盘的分布式服务器

3.4 应用场景

    对象具备块存储的高速以及文件存储的共享等特性,有自己的CPU、内存、网络和磁盘,比块存储和文件存储更上层。云服务商一般提供用户文件上传下载读取的REST API,方便应用集成此类服务。

3.5 主流技术

    Microsoft:Azure Storage

    Google:Google Cloud Storage

    Amazon:Simple Storage Service(S3)

    OpenStack:Swift

    其他:Ceph OSD

04 对比

4.1 块存储 vs 文件存储

    物理块与文件系统之间的关系图:映射关系:扇区->物理块->逻辑块->文件系统

    块级备份:块级备份是指物理块复制,效率高,实时性强,备份时间短,且增量备份时,只备份修改过的物理块。

    文件级备份:文件级备份是指在指定某些文件进行备份时,首先会查找每个文件逻辑块,其次物理块,由于逻辑块是分散在物理块上,而物理块也是分散在不同扇区上。需要一层一层往下查找,最后才完成整个文件复制。文件级备份比较费时间,效率不高,实时性不强,备份时间长,且增量备份时,单文件某一小部分修改,不会只备份修改部分,而是整个文件都备份。

4.2 文件存储 vs 对象存储

   对象存储:

    1、大多数对象存储的实现本质是键值对存储系统;

    2、采用扁平化的管理方式(根据键找到值);

    3、值可以是任何东西,可以是小文件(小二进制片段),可以是大文件;

    4、对象存储一般不支持追加写和更新,面向的是一次写入,多次读取的需求场景;

    5、多采用Restful API。

    文件存储:

    1、不考虑底层到底是怎么实现的;

    2、采用目录结构管理数据;

    3、一般要尽可能兼容Posix文件系统API。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值