精华内容
下载资源
问答
  • 今日我们来聊一聊块存储、文件存储和对象存储区别。这个问题老生常谈了,在网上会出现许多的解释,可是大多数相对比较抽象一些,此次我选择用抽象简易两种方式给各位分享一下体会心得。 首先咱用靠谱的方式进行...

    大家好,学习时间又到啦。今日我们来聊一聊块存储、文件存储和对象存储的区别。这个问题老生常谈了,在网上会出现许多的解释,可是大多数相对比较抽象一些,此次我选择用抽象和简易两种方式给各位分享一下体会心得。

    首先咱用靠谱的方式进行解释:

    1、块存储

    可以看作为是裸盘,最明显的特点是不可以被操作系统直接浏览。可以凭借划分逻辑卷、做RAID、LVM等方式将它格式化,可以格式化为你所指定的文件系统(Ext3,Ext4,NTFS,FAT32等),随后才可以被操作系统浏览。比较常见的DAS、FC-SAN、IP-SAN基本都是块存储。它的优势是:读写速度快(带宽和IOPS);可是缺点也一样明显:太过于底层,不利扩展,不可以被共享。

    2、文件存储

    文件存储可以分成本地文件存储和网络文件存储。文件存储最明显的特点是支持POSIX的文件浏览接口:open、read、write、seek、close等;优势是:有利于扩展&共享;缺点是:读写速度比较慢。

    3、对象存储

    有种表述是对象存储一定是分布式存储,其实不是。这是因为分布式文件存储可能是分布式存储,而不一定是对象存储。比较常见的对象存储有摩杜云的MOS,而实际对象存储是什么,可以去看摩杜云的帮助文档。

    接下来便是简言易赅的解释了,从三者的数据“使用者”来进行区别:

    1.块存储的“使用者”是可以读写块设备的软件系统,比如EXT3、EXT4等传统文件系统,或是数据库。

    2.文件存储的“使用者”是我们操作人员,真真正正的自然人。

    3.对象存储的“使用者”则是其它的计算机软件,比如OpenStack里调用镜像文件的glance模块。

    本篇文章就分享到这里,相信大家看完之后有一定的收获,如果想了解更多相关内容,可以关注摩杜云行业资讯频道,更多精彩内容等着你来看!感谢各位的阅读!

    展开全文
  • 1、块存储 - 典型设备:磁盘阵列,硬盘 - 主要是将裸磁盘空间映射给主机使用的。 - 使用场景: - docker容器、虚拟机远程挂载磁盘存储分配。 - 日志存储。 - 文件存储。 - ... 2、文件存储 ...

    2020-03-24 19:11:40

    1、块存储

    - 典型设备: 磁盘阵列,硬盘

    - 主要是将裸磁盘空间映射给主机使用的。

    - 使用场景:

    • - docker容器、虚拟机远程挂载磁盘存储分配。

    • - 日志存储。

    • - 文件存储。

    • - ...

    2、文件存储

    - 典型设备: FTP、NFS服务器为了克服块存储文件无法共享的问题,所以有了文件存储。在服务器上架 设FTP与NFS服务,就是文件存储。

    - 使用场景:

    • - 日志存储。

    • - 多个用户有目录结构的文件存储共享。

    • - ...

    文件存储通常需要一个app 的服务器将文件存储挂载到本地。

    3、对象存储

    - 典型设备: 内置大容量硬盘的分布式服务器(swift, s3),多台服务器内置大容量硬盘,安装上对象存储管理软件,对外提供读写访问功能。

    - 使用场景: (适合更新变动较少的数据,没有目录结构, 不能直接打开/修改文件)

    • - 图片存储。

    • - 视频存储。

    • - 文件

    • - 软件安装包

    • - ...

    对象存储实际上更贴近http的应用。

    区别说明:

        通常我们说存储分为块、文件和对象,从应用场景来看:

        对象存储近年来在国内市场逐渐火热起来,主要是特定行业的海量非结构化数据的应用场景。由于对象存储采用扁平的文件组织方式,所以在文件量上升至千万、亿级别,容量在PB级别的时候,这种文件组织方式下的性能优势就显现出来了,文件不在有目录树深度的问题,历史和近线数据有同样的访问效率。另外,对象存储多采用分布式架构,可以在商用x86服务器上轻松构建对象存储,磁盘介质也大多采用低速的SATA盘,所以在成本上也具优势。

        块存储主要用于结构化数据类应用,在相对小的容量空间上可以提供更高的IO性能,所以从后端存储产品形态上来看,一般是多控多活的紧耦合集中式SAN架构,存储介质大多采用高速的SAS和近年来已成主流的固态硬盘,前端多采用FC光纤协议组网。另外,存储双活、存储虚拟化、存储复制等技术也支撑着这块的生态。

        文件存储主要是集中式或分布式的NAS类应用,以灵活的共享文件系统为特色,承载百万文件量和TB级别的文件类应用。

        我的总结:说白了,块存储,是最底层的存储,它关注的是磁盘的基本存储单元——块(Block),块存储可以没有软件服务器。而文件存储(像NAS)和对象存储(S3、七牛云),是软件层面的存储,底层也是基于块存储的。而文件存储和对象存储的区别在于,他们组织文件的方式,文件存储是有目录树的、有标准属性的(权限、用户、读写),而对象存储是扁平的、没有目录的、附加属性是灵活的,他们的接口协议也不一样。对象存储接口主要以S3与Swift为代表,其接口就是简单的GET、PUT、DEL和其他扩展,文件存储的话是以POSIX接口为主,以libcephfs为代表。有些分布式存储,比如Ceph,是同时支持块存储、对象存储和文件存储的,只是对应的接口不同,强烈建议看下这篇文章:一篇文章让你理解Ceph的三种存储接口(块/文件/对象)

        这三种存储,分别对应了不同的访问协议,这也就决定了他们的本质差别。

    • 先说一下文件存储,主要操作对象是文件和文件夹。以 NFS 为例,文件相关的接口包括:LOOKUP/ACCESS/READ/WRITE/CREATE/REMOVE/RENAME 等等,文件夹相关的接口包括:MKDIR/RMDIR/READDIR 等等。同时也会有 FS_STAT/FS_INFO 等接口用于提供文件系统级别的信息。POSIX,SAMBA 等也是文件存储协议。协议更注重接口的灵活,以及访问权限控制。

    • 块存储,主要操作对象是磁盘。以 SCSI 为例,主要接口有 Read/Write/Read Capacity/Inquiry 等等。FC,iSCSI,也是块存储协议。和文件存储相比,没有文件和目录树的概念,一般协议也不会定义磁盘的创建和删除操作。协议更注重传输控制。

    • 对象存储,主要操作对象是对象(Object)。以 S3 为例,主要接口有 PUT/GET/DELETE 等。和块存储相比,没有随机读写的接口。和文件存储相比,没有目录树的概念。协议更注重简洁。

    问两个问题:

        0、文件存储,底层是块存储。那么对象存储,底层也是文件存储吗?这个问题有点难解释,后面单独说明。

        1、FastDFS、HDFS属于文件存储还是对象存储?答案:对象存储。或者说“基于文件存储的对象存储”。

        2、作为容器的持久化卷,应该用那种存储?答案:要使用块存储,或支持POSIX接口的文件存储,比如NAS、GlusterFS、CephFS等。

    解释:

        对象存储,底层不一定是文件存储,也可能是跳过文件,直接到块存储。我们通常眼睛看见的文件,只不过是操作系统给我们形象化的数据标志(一个图标、一个名字),对文件的操作是基于操作系统的文件系统函数。但是文件系统不止一种,有一些虚拟的文件系统,它甚至可以不直接使用操作系统的文件系统,而是直接调用更底层的命令,甚至直接操作物理存储的块数据。这个地址:http://www.dbseeker.com/blog/?post=7,是说Oracle的底层数据存储,可以看到Oracle自己做了一个逻辑卷管理,这个逻辑卷管理,它的逻辑块可以直接映射物理块数据。这里再做个答疑:Oracle能部署在NAS卷上面吗?答案是:可以,但是性能下降很大(有人说下降100倍),理论上可以,那是因为NAS磁盘,应该是兼容操作系统内核的绝大部分API,Oracle的逻辑卷管理,也是用的操作系统的底层API(非上层的文件系统API),所以没问题。但是NAS和本地磁盘还是有所区别,比如阿里云的官方文档上写着NAS 上使用 inotifywait (Linux文件系统函数)存在的问题,另外NAS的应用场景里面没有提到数据库:NAS的应用场景

        当然,并不是所有对象存储,都跳过了文件系统,像Kafka、HDFS的数据,都是直接写文件,只是会将原文件拆分,而FastDFS更省事,直接将原文件完整保存下来,本质上这些都是基于文件存储来实现的(但是HDFS、FastDFS的归类还是对象存储)。

    关于POSIX标准、文件系统类型、VFS及FUFS,参见这篇文章:《文件系统、POSIX标准及VFS》

    展开全文
  • 很多人说到块存储都会想到fcsan,其实块存储有很多只要使用数据块为存储方式的都可以称为块存储,像本地存储中的硬盘,共享存储中的fcsan,ipsan都是块存储,以lun为虚拟设备映射给主机使用,注意这个fc表示fc协议...

    首先我们来了解一下这三种存储(个人理解):

    1.块存储

    很多人说到块存储都会想到fcsan,其实块存储有很多只要使用数据块为存储方式的都可以称为块存储,像本地存储中的硬盘,共享存储中的fcsan,ipsan都是块存储,以lun为虚拟设备映射给主机使用,注意这个fc表示fc协议不是光纤,所以不是所有光纤传输的都是fcsan,不是所有fscan都一定要用光纤。fcsan由于需要特定的一些设备所以价格昂贵,使用SCSI协议,一般使用raid卡进行磁盘阵列化,raid0...6,以及后面出现的raid10,01和华为比较自信的raid2.0+,也不乏一些厂商会使用vsan这种分布式存储的方式。相对于ipsan使用局域网就可以传输显得越来越被遗弃,ipsan使用iSCSI协议从SCSI协议上进化而来,一般采用分布式存储,像主流的浪潮,华为,华三等大部分都采用的ceph作为底层协议并封装。ceph作为去中心的分布式存储协议越来越被重视,与中心化的分布式存储像hdfs这种存储来说拥有先天的优越性,它不需要受限于中心节点。

    2.文件存储

    文件存储的产生是由于块存储的共享性太差,我们没办法把一块硬盘给两台主机使用,所以在块的基础上我们可以建立文件系统,以文件的方式共享给其他主机,比较常见的传输协议集nfs,cifs。和块存储相比由于文件系统的树状结构需要找到对应的数据块会比块存储直接找块编号会慢的多所以一般高性能的数据库我们会采用块存储,文件存储会作为备份后端以及大文件存储来使用。

    问题:我们从块存储映射来的lun进行挂载后,将其文件系统化并新建一个文件夹test挂载此文件系统,然后在文件存储后端新建test1并挂载到我们的主机上,同时往test和test1文件夹中写入数据数据都是以文件进行存储读写速度会有差别吗?

    3.对象存储

    对象存储采用s3协议进行传输,比较出名的对象存储客户端像亚马逊的s3brower就是以此命名,它采用块存储一样的扁平结构但是拥有文件存储的共享性并拥有高扩展性,现在越来越风靡。它采用http的端口通过api进行调用,将数据进行封装然后传输。对象存储的核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。就像就是当一个数据流进行存储时,先到元数据服务器进行请求,并获取所存储的osd编号,将请求发到对应的osd,osd指定特定的object进行存储(object不同于数据块,object时数据块以及属性的集合)。

     

     

     

    展开全文
  • 介绍灵活可扩展的数据存储是使用现代技术工具开发的大多数应用程序服务的基准要求。... 云提供商已经开发出了满足现代应用程序部署的存储需求的服务,它们主要分为两类:对象存储和块存储。我...

    介绍

    灵活和可扩展的数据存储是使用现代技术和工具开发的大多数应用程序和服务的基准要求。 无论存储大量或少量的图像,视频或文本块,应用程序开发人员都需要一个用于存储和检索用户生成的内容,日志,备份等的解决方案。

    随着今天复杂的部署,容器和短暂的基础设施,在单个服务器上简单地将文件保存到磁盘的日子已经过去了。 云提供商已经开发出了满足现代应用程序部署的存储需求的服务,它们主要分为两类:对象存储和块存储。

    我们来看看这两个,并讨论一般的优点,缺点和用例。

    什么是块存储

    块存储服务比较简单和熟悉。 它们通过网络提供传统的块存储设备(如硬盘驱动器)。 云提供商通常具有可以提供任何大小的块存储设备并将其附加到虚拟机的产品。

    从那里,你会像普通磁盘那样对待它。 您可以使用文件系统进行格式化,并将文件存储在其上,将多个设备组合到RAID阵列中,或者将数据库配置为直接写入块设备,从而完全避免文件系统开销。 另外,网络连接的块存储设备通常比一般的硬盘驱动器有一些独特的优势:您可以轻松地将整个设备的实时快照用于备份

    块存储设备可以调整大小以适应日益增长的需求

    您可以轻松地在机器之间拆卸和移动块存储设备

    这是一个非常灵活的设置,可用于大多数任何应用程序。 我们来总结一下这个技术的一些优点和缺点。

    块存储的一些优点是:块存储是一个熟悉的范例。 人们和软件几乎普遍地理解和支持文件和文件系统

    块设备得到很好的支持。 每种编程语言都可以轻松地读取和写入文件

    文件系统权限和访问控制是熟悉和理解的

    块存储设备提供低延迟IO,因此它们适合数据库使用。

    块存储的缺点是:存储一次绑定到一个服务器

    块和文件系统具有有关它们存储的信息块(创建日期,所有者,大小)的有限元数据。 有关您正在存储的任何其他信息都必须在应用程序和数据库级别处理,这对开发人员来说是一个额外的复杂性

    即使没有使用它,您需要为所有分配的块存储空间付费

    您只能通过正在运行的服务器访问块存储

    块存储需要更多的实际工作和设置vs对象存储(文件系统选择,权限,版本控制,备份等)

    由于其快速的IO特性,块存储服务非常适合在传统数据库中存储数据。 另外,许多需要正常文件系统存储的旧应用程序将需要使用块存储设备。

    如果您的云提供商不提供块存储服务,您可以使用OpenStack Cinder , Ceph或许多NAS设备上可用的内置iSCSI服务运行自己的存储服务。

    什么是对象存储

    在云计算的现代世界中,对象存储是使用HTTP API存储和检索非结构化的数据和元数据。 使用文件系统将文件分解成块以将其存储在磁盘上,而不是通过网络处理存储的整个对象。 这些对象可以是图像文件,日志,HTML文件或任何自包含的字节。 它们是非结构化的,因为它们没有必要遵循的特定模式或格式。

    对象存储起飞,因为它大大简化了开发人员的体验。 由于API由标准HTTP请求组成,因此大多数编程语言都快速开发了库。 保存一个数据块变得像对象存储的HTTP PUT请求一样简单。 检索文件和元数据是一个正常的GET请求。 此外,大多数对象存储服务还可以向用户公开提供文件,从而无需维护Web服务器来托管静态资源。

    此外,对象存储服务仅对您使用的存储空间收费(有些还根据HTTP请求和传输带宽收费)。 这对于小型开发人员来说是一个福音,谁可以获得世界级的存储和托管资产的成本与使用规模。

    对象存储不是所有情况的正确解决方案。 我们来看一下利弊的总结。

    对象存储的一些优点是:一个简单的HTTP API,客户端可用于所有主要操作系统和编程语言

    一个成本结构,意味着你只需要支付你所使用的费用

    内置公共服务的静态资产意味着少一点服务器让您自己跑步

    一些对象商店提供内置的CDN集成,可以缓存您的全球资产,为用户提供更快的下载和页面加载

    可选版本控制意味着您可以检索旧版本的对象,以从意外覆盖数据中恢复

    对象存储服务可以轻松地从适度的需求扩展到真正强烈的用例,而开发人员不必启动更多资源或重新构建来处理负载

    使用对象存储服务意味着您不必维护由服务提供商处理的硬盘驱动器和RAID阵列

    能够将元数据块存储在数据库中可以进一步简化应用程序体系结构

    对象存储的一些缺点是:由于这些服务的高延迟,您无法使用对象存储服务来备份传统的数据库

    对象存储不允许您仅修改一个数据块,您必须一次读取和写入整个对象。 这有一些性能影响。 例如,在文件系统上,您可以轻松地将一行添加到日志文件的末尾。 在对象存储系统上,您需要检索对象,添加新行,并将整个对象写回。 这使得对象存储对于经常变化的数据来说不那么理想

    操作系统不能容易地像普通磁盘一样安装对象存储。 有一些客户端和适配器可以帮助这个,但是一般来说,使用和浏览对象存储并不像在文件浏览器中翻转目录一样简单

    由于这些属性,对象存储对于托管静态资产非常有用,例如保存用户生成的内容,如图像和动画,存储备份文件和存储日志。

    有一些自托管对象存储解决方案,尽管您将放弃托管解决方案的一些优点(例如不必担心硬盘驱动器和扩展问题)。 您可以尝试使用Go语言编写的流行的对象存储服务器Minio ,或Ceph或OpenStack Swift 。

    结论

    选择存储解决方案可能是开发人员的复杂决策。 在本文中,我们讨论了块和对象存储服务的优缺点。 任何足够复杂的应用程序很可能需要两种类型的存储以满足其所有需求。

    展开全文
  • 分布式存储的对象存储块存储、文件存储的各自优缺点、使用场景以及与传统存储架构DAS、SAN、NAS之间的关系介绍
  • 如今,由于各种原因,对象存储块存储的争论引起了人们的浓厚兴趣。由于云计算的惊人发展以及供应商基于对象的存储解决方案的出现,对象存储越来越受到人们的关注。与此同时,块存储仍然是企业继续保持良好状态的...
  • 块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的...
  • 这三者的本质差别是使用数据的“用户”不同:块存储的用户是可以读写块设备的软件系统,例如传统的文件系统、数据库;文件存储的用户是自然人;对象存储的用户则是其它计算机软件。首先要说明一下的是,这三个概念都...
  • 一、块存储、文件存储、对象存储,三者的本质差别是什么? 1、块存储 典型设备:磁盘阵列,硬盘 块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G)...
  • 前日知识补充 如何删除某个OSD ceph osd tree ceph osd out osd.4 ceph osd tree ceph -s ceph osd crush remove osd.4 ...ceph 块存储使用案例 前置准备 昨天的环境 配置好ceph集群 案例 #node1 ceph o
  • 关于块存储、文件存储和对象存储,大家一定都不陌生,只是对于三者的本质区别和应用场景可能还不是很了解,今天阿里云湖北授权服务中心捷讯技术的小编就给大家简单单的聊聊吧。 一、块存储 典型设备:磁盘阵列,硬盘...
  • 参考资料:块存储、文件存储、对象存储这三者的本质差别是什么? 块存储、文件存储、对象存储三者的具体差别是什么? 使用数据的“用户”不同: 块存储的用户是可以读写块设备的软件系统,例如传统的文件系统、...
  • 关注「开源Linux」,选择“设为星标”回复「学习」,有我为您特别筛选的学习资料~文件、对象块存储是什么?什么是文件存储?文件存储带有文件系统,主要是以文件的形式存放数据,能将所有的目录...
  • 提到"存储",大家都不陌生。 尤其是电子产品快速普及的这几年,随处可见各种存储。 有这个? ...哈哈,没错,我们处于信息时代,已经完全离不开视频、音乐、图片、文本、...▉ 块存储、文件存储、对象存储,傻傻...
  • 块存储,文件存储,对象存储之间的区别(最详细清晰的分析) 1.【块存储】 典型设备:磁盘阵列,硬盘 块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G...
  • 对象存储、文件存储、块存储直观的区别介绍
  • 对象存储和传统存储的区别

    千次阅读 热门讨论 2021-05-24 14:30:39
    下面的文章就将为您分析对象存储和传统存储的区别。 传统存储 传统存储一般指直连式存储、网络附属存储存储区域网络三种存储技术。 1.直连式存储: 直接连接某一台计算机的存储方式,称为直连式存储。使用直...
  • 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。...犹记得以前讨论过结构化数据,非结构化数据,半结构化数据的区别[3],那么我们这篇文章讨论的块存储、文件存储、对象存储和
  • 答案毫无疑问是:块存储、文件存储还有对象存储!作为伴随着云计算兴起的存储类型,这三种存储绝对是这个时代的存储明星,用C位出道来形容再合适不过。那么,在云上的日子,究竟该用块存储、文件存储还是对象存储?不...
  • 存储在文件中的数据会根据数量有限的元数据来进行整理检索,这些元数据会告诉计算机文件所在的确切位置。它就像是数据文件的库卡目录。 请试想一下塞满文件柜的储藏室。每个文档都会按照某种类型的逻辑层次结构...
  • 块储存、对象存储、文件存储的区别和联系 存储类型: 块存储对象存储,文件存储 这三种存储,分别对应了不同的访问协议,这也就决定了他们的本质差别。 【块存储】 典型设备:磁盘阵列,硬盘 【文件存储...
  • 文件存储NAS与对象存储OSS

    千次阅读 2021-02-04 15:44:47
    文件存储与对象存储 摘要:本文主要介绍文件存储NAS与对象存储OSS这2种目前主要的存储技术,以及差异,并介绍了各自的主要使用场景。 一、技术介绍 1.1、文件存储NAS 1.1.1概念 NAS(Network Attached ...
  • 目录 存储分类: 什么是Ceph?...MinIOceph 存储分类: https://www.bilibili.com/video/BV1WE41177Kp?from=search&seid=1887114199876544924 存储发展史 (https://zhuanlan.zhi...
  • 块存储中的磁盘存储确实好,各个硬盘分区后又快有方便,不过随着互联网的发展咱不能什么东西都储存在磁盘之中。我们得需要分享呀!就是因为分享的原因,所以出现了文件存储。典型的就是FTP,文件存储其实也简单就是...
  • 我这里用4台vm虚拟机需要上外网,三台做存储,一台做客户端,全部IP静态固定 (除client外每台最少加1个磁盘,最小5G,不用分区); 四台全部做主机名解析 [root@node1 ~]# vim/etc/hosts 添加以下段: (ip与主机名自己...
  • 在做虚拟机的跨存储的热迁移,中间看到了块存储,记录一下。 1.文件存储 就是我们最常用的目录结构的存储。 优点:易于分享。 缺点:在需要扩展的情况下,只能通过添加更多系统来进行横向扩展,而不能通过添加更...
  • 对象存储,是用来描述解决处理离散单元的方法的通用术语,这些离散单元被称作为对象。 单纯从对象存储的定义来看,有点太抽象了。我们不妨先与传统的存储技术做个比较,看看对象存储到底有何不同。 传统存储...
  • 南加州大学的科研人员经过研究得出一个结论,全球数据存储总量已达295EB! 298EB是什么概念? 拿常见的存储单位TB换算,1EB等于一百万TB,等于11...DAS、SAN被称之为块存储,NAS则称之为文件存储。随着数据量爆炸式增
  • 与C++不同,Java自动管理栈堆,其对象存储位置由系统自然分配,程序员不能直接地设置栈或堆。2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 591,099
精华内容 236,439
关键字:

对象存储和块存储区别