块存储、文件存储、对象存储三者的区别
块存储、文件存储、对象存储三者的区别
- 块存储
- DAS
- SAN
- 文件存储
- NAS
- 对象存储
- 1.对象存储结构
- 2.对象
- 3.对象存储设备
- 4.元数据服务器(Metadata Server,MDS)
- 5.对象存储系统的客户端Client
- 6.对象存储的优点
- 比较
- 文件存储和块存储区别
- 三者异同比较
块存储
DAS
概念:Direct Attached Storage:直连式存储
方式:服务器使用SCSI或FC协议连接到存储阵列
协议类型:SCSI总线、FC光纤
表现形式:一块空间大小裸磁盘如/dev/sdb
优点:组网简单,成本低廉
缺点:可拓展性有限,不灵活,无法多机共享
SAN
概念:Storage Area Network:存储区域网络
方式:服务器使用FC或者一个存储区域网络IP连接到存储阵列
协议类型:FC-SAN、IP-SAN
表现形式:一块空间大小裸磁盘如/dev/sdb
优点:性能好,可扩展性强
缺点:成本高
在我看来,其实是通过FC交换机解决了机器主板只有几个卡槽的问题,利用FC交换机,就仿佛实现了这样一种机制,即我们拥有一个无限卡槽的主板,上面都是接口,你可以通过这个接口插上你的硬盘。
文件存储
NAS
概念:Network Attached Storage:网络附属存储
方式:服务器使用TCP网络协议连接至文件共享存储
协议类型:NFS、CIFS
表现形式:映射到存储中的一个目录,如/data
优点:使用简单,通过ip协议实现互访,多机同时共享同个存储
缺点:性能有限,可靠性不高
对于用户来说,NAS好比是一个共享文件夹,文件系统已经存在,用户可以直接将自己的数据存放在NAS上。NAS以文件为传输协议,开销很大,不利于在高性能集群中使用。
NAS是一种通过网络达成存储目的的设备,NAS传输数据依靠的是TCP/IP网络协议栈,这是NAS存储于上文的DAS和SAN存储最大的不同之处。
NAS是标准的文件级存储方法,采用网络技术(TCP/IP、ATM、FDDI),通过网络交换机连接存储系统和服务器主机来建立存储私网。其主要特征是把存储设备、网络接口和以太网技术集成在一起,直接通过以太网网络存取数据。能够快速实现部门级存储容量需求与文件传输需求。
对象存储
对象存储:也叫做基于对象的存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。
对象存储经常被比作在一家高级餐厅代客停车。当一个顾客需要代客停车时,他就把钥匙交给别人,换来一张收据。这个顾客不用知道他的车被停在哪,也不用知道在他用餐时服务员会把他的车移动多少次。在这个比喻中,一个存储对象的唯一标识符就代表顾客的收据。
总体上来讲,对象存储同兼具SAN高速直接访问磁盘特点及NAS的分布式共享特点。
①SAN(Storage Area Network)结构采用SCSI 块I/O的命令集,通过在磁盘或FC(Fiber
Channel)级的数据访问提供高性能的随机I/O和数据吞吐率,它具有高带宽、低延迟的优势,在高性能计算中占有一席之地,如SGI的CXFS文件系统就是基于SAN实现高性能文件存储的,但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。
②NAS(Network Attached Storage)结构它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。
1.对象存储结构
核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。
对象存储结构组成部分(对象、对象存储设备、元数据服务器、对象存储系统的客户端):
2.对象
对象是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息(Meta Data)的组合,这些属性信息可以定义基于文件的RAID参数、数据分布和服务质量等,而传统的存储系统中用文件或块作为基本的存储单位,在块存储系统中还需要始终追踪系统中每个块的属性,对象通过与存储系统通信维护自己的属性。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。
对象的层次理解:
3.对象存储设备
对象存储设备具有一定的智能,它有自己的CPU、内存、网络和磁盘系统,OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:
(1) 数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。
(2) 智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。
(3) 每个对象元数据的管理。OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。
4.元数据服务器(Metadata Server,MDS)
MDS控制Client与OSD对象的交互,主要提供以下几个功能:
(1) 对象存储访问。
MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时将先验证该能力,然后才可以访问。
(2) 文件和目录访问管理。
MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。
(3) Client Cache一致性。
为了提高Client性能,在对象存储系统设计时通常支持Client方的Cache。由于引入Client方的Cache,带来了Cache一致性问题,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cache,从而防止Cache不一致引发的问题。
5.对象存储系统的客户端Client
为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client,通常提供POSIX文件系统接口,允许应用程序像执行标准的文件系统操作一样。
对象存储文件系统的关键技术
1、分布元数据 传统的存储结构元数据服务器通常提供两个主要功能。
(1)为计算结点提供一个存储数据的逻辑视图(Virtual File System,VFS层),文件名列表及目录结构。
(2)组织物理存储介质的数据分布(inode层)。对象存储结构将存储数据的逻辑视图与物理视图分开,并将负载分布,避免元数据服务器引起的瓶颈(如NAS系统)。元数据的VFS部分通常是元数据服务器的10%的负载,剩下的90%工作(inode部分)是在存储介质块的数据物理分布上完成的。在对象存储结构,inode工作分布到每个智能化的OSD,每个OSD负责管理数据分布和检索,这样90%的元数据管理工作分布到智能的存储设备,从而提高了系统元数据管理的性能。另外,分布的元数据管理,在增加更多的OSD到系统中时,可以同时增加元数据的性能和系统存储容量。
2、并发数据访问 对象存储体系结构定义了一个新的、更加智能化的磁盘接口OSD。OSD是与网络连接的设备,它自身包含存储介质,如磁盘或磁带,并具有足够的智能可以管理本地存储的数据。计算结点直接与OSD通信,访问它存储的数据,由于OSD具有智能,因此不需要文件服务器的介入。如果将文件系统的数据分布在多个OSD上,则聚合I/O速率和数据吞吐率将线性增长,对绝大多数Linux集群应用来说,持续的I/O聚合带宽和吞吐率对较多数目的计算结点是非常重要的。对象存储结构提供的性能是目前其它存储结构难以达到的,如ActiveScale对象存储文件系统的带宽可以达到10GB/s。
6.对象存储的优点
对象存储相比块存储、文件存储的一个最本质的区别是无层次结构。
我们都知道,一般的存储(比如你自己的PC的文件系统)是有一个目录树概念的,要找到一个文件需要先找到这个文件所属的目录。
而对象存储是没有文件目录树这个概念的,所有的数据都在同一个层次中,仅仅通过数据的唯一地址标识来识别并查找数据。
鉴于对象存储的无层次结构特点,对象存储有以下优点:
①效率更高。不受复杂目录系统对性能的影响。
②可扩展性更强。分布式架构,更便于进行水平扩展,从而容纳进任意大规模的数据。
③可用性更强。数据一般都会有多个位于不同机器的复制,确保数据不丢失。
比较
文件存储和块存储区别
使用方式不同:块存储设备使用的时候,还需要进一步进行分区,将设备格式为某种文件系统才可以继续使用;而文件存储就相当于你多了一个共享文件夹,文件存储带着自己本身的文件系统。
存储系统架构 | DAS | NAS | SAN |
---|---|---|---|
安装难易程度 | 不一定 | 简单 | 困难 |
数据传输协议 | SCSI/FC/ATA | TCP/IP | FC |
导传输对象 | 数据块 | 文件 | 数据块 |
使用标准文件共享协议 | 否 | 是(NFS/CIFS) | 否 |
异种操作系统文件共享 | 否 | 是 | 需要转换设备 |
集中式管理 | 不一定 | 是 | 需要管理工具 |
管理难易程度 | 不一定 | 以网络为基础,容易 | 不一定,但通常很困难 |
提高服务器效率 | 否 | 是 | 是 |
灾难忍受度 | 低 | 高 | 高,专有方案 |
适合对象 | 中小企业服务器、捆绑磁盘(JBOD) | 中小企业、SOHU族、企业部门 | 大型企业、数据中心 |
应用环境 | 局域网、文档共享程度低、独立操作平台、服务器数量少 | 局域网、文档共享程度高、异质格式存储需求高 | 光纤通道储域网、网络环境复杂、文档共享程度高、异质操作平台、服务器数量多 |
业务模式 | 一般服务器 | web服务器、多媒体资料存储、文件资料共享 | 大型资料库数据库等 |
档案格式复杂度 | 低 | 中 | 高 |
容量扩充能力 | 低 | 中 | 高 |
三者异同比较
存储类型 | 数据传输方式 | 适应场景 | 优点 |
---|---|---|---|
块存储 | SCSI/ISCSI接口 | 小型机房 | 速度快 |
文件存储 | NFS/FTP等 | 局域网环境 | 可扩展性高 |
对象存储 | http协议 | 互联网环境,异地存储 | 速度快,且扩展性高,高可用 |
块存储: 是和主机打交道的, 如插一块硬盘
文件存储: NAS, 网络存储, 用于多主机共享数据
对象存储: 跟你自己开发的应用程序打交道, 如网盘
参考:块存储、文件存储、对象存储三者的区别是啥
块存储、文件存储、对象存储三者的区别相关推荐
- 分布式存储--理解分布式文件系统、分布式块存储、分布式对象存储、分布式数据库
1. 单机文件系统 vs 分布式文件系统 传统单机文件系统是计算机中一个非常重要的组件,为存储设备提供一致的访问和管理方式.在不同的操作系统中,文件系统会有一些差别,但也有一些共性几十年都没怎么变化: ...
- 阿里云文件存储NAS和对象存储OSS区别对比如何选择?
阿里云对象存储OSS和文件存储NAS有什么区别?文件存储NAS和对象存储OSS如何选择?NAS是传统的NFS挂载共享文件夹,OSS可以使用RESTful API,阿里云百科从技术.使用方式.容量.存储 ...
- 对象存储3:对象存储的原理、构造和详解
前两篇介绍了对象存储的基础,包括存储类型,常用存储分类和分类方法. SCSI,TCP/IP,FC等存储介质以及DAS\NAS\SAN等存储网络,请参考:对象存储1:传统存储类型和分类. 文件存储,块存 ...
- 千里眼摄像头支持对象存储吗_对象存储适用于哪些场景?
什么是对象存储? 对象存储是一种将数据作为对象进行管理的计算机数据存储体系结构,与其他存储体系结构(例如将数据作为文件层级管理的文件系统)以及将数据作为块和扇区内的块进行管理的块存储相对.每个对象通常 ...
- java s3 与ceph的关系_Ceph存储与S3对象存储性能优化.pdf
Ceph存储与S3对象存储性能优化.pdf Ceph on Storage appliance Case Study and Performance for AWS S3 based object s ...
- 天翼云对象存储android实现,对象存储基础介绍(华为云、腾讯云、天翼云都提供对象存储服务)...
什么是对象存储 面向对象存储(Object-Oriented Storage,OOS)是云服务提供商为客户提供的一种海量.弹性.高可用.高性价比的存储服务.您只需花极少的钱就可以获得一个几乎无限的存储 ...
- 腾讯云对象存储 COS 荣获对象存储领导力奖!!!
本文转自"亚太CDN产业联盟"公众号 亚太内容分发大会暨 CDN 峰会一直致力于推动 CDN 产业深度融合发展和市场普及,现已成为亚太地区影响力最大的内容分发网络盛会.十年来,在以 ...
- 【存储】块存储、文件存储和对象存储的区别?
目录 简单说明 详细解释 存储分类 01 块存储(提供虚拟磁盘) 02 文件存储 03 对象存储 04 三种存储的区别和对比 分布式块存储.文件存储.对象存储的区别 理解Ceph的三种存储接口:块设备 ...
- 腾讯云常见云产品中的云硬盘(块存储)、文件存储、对象存储三者的区别!
云硬盘.文件存储.对象存储,三种都是存储的,对于刚接触的同学来说,感觉好绕呀,这三种有啥子区别,什么时候应该用云硬盘?什么时候应该用文件存储?什么时候应该用对象存储? 对于使用过的老手,那肯定是可以区 ...
- 块存储、文件存储、对象存储这三者的差别
今天看学习的时候突然想到了块存储.文件存储.对象存储的区别,就去翻阅了一下资料. 块存储 块存储一般体现形式是卷或者硬盘(比如windows里面看到的c盘),数据是按字节来访问的,对于块存储而言,对里 ...
最新文章
- “我为什么反对AI论文强制开源代码”
- Windows 技术篇-设置dns提升网速,刷新dns缓存
- ITK:提取二值图像中连接区域的边界
- SAP CRM Fiori My note应用 add to -append Frontend implementation
- 免费节假日API 更新新功能了 新增农历信息返回
- c语言初始化字符数组为空,怎么把已经初始化的字符数组设置为空?
- HTTP之长连接与短连接(C++ Qt框架实现)
- 第六章节 多态 (密封类)
- css 背景色半透明 子元素不透明
- Cube IDE 的下载安装
- STM32-串口通信详解
- python制作个人名片_python做名片系统
- CSGO中最新骗术!新老玩家须知-CSGO防骗指南
- lan上网和adsl上网
- css动画效果-animation
- 知识图谱 语义网络,语义网,链接数据和知识图谱 (二)--基础篇
- 微信公众号实现“一键关注”功能
- 5.1 频率响应概述
- android低电量提示,Android P系统低电量提醒功能 根据使用情况判断充电时间
- 团队的英文翻译缩写_团队英语怎么写
热门文章
- Markdown语句总结
- 微波射频学习笔记9--------品质因数Q值的意义
- 倾向值匹配法的概述和应用+倾向值分析:统计方法与应用
- 16福师计算机应用基础在线作业,[16春季福师计算机应用基础在线作业一.doc
- 侯捷c++1114新标准
- JavaScript 网页特效
- linux什么时候挂载根文件系统,什么时候要重新制作Linux的根文件系统?谢谢
- gis 数据框裁剪_【计算摄影】计算机如何学会自动裁剪图片(自动构图)?
- win7系统用笔记本做wifi热点
- SpringBoot实现异步任务以及定时任务