精华内容
下载资源
问答
  • 云存储

    千次阅读 2017-06-05 14:21:31
    云存储是在云计算概念上衍生、发展出来的一个概念,它除’厂可以节省整体的硬件成本(包括电力成本)外,还具备良好的可扩展性、对用户的透明性、按需分配的灵活性和负载的均衡性等特点。 云存储产品:Amazon S3、...

    云存储是在云计算概念上衍生、发展出来的一个概念,它除’厂可以节省整体的硬件成本(包括电力成本)外,还具备良好的可扩展性、对用户的透明性、按需分配的灵活性和负载的均衡性等特点。


    云存储产品:Amazon S3、Microsoft Azure、Google Datasheet、Google Cloud Storage

     

    云存储是通过网络将大量普通存储设备构成的存储资源池中的存储和数据服务以统一的接口按需提供给授权用户。

     

    云存储属于云计算的底层支撑,它通过多种云存储技术的融合,将大量普通PC服务器构成的存储集群虚拟化为易扩展、弹性、透明、具有伸缩性的存储资源池,并将存储资源池按需分配给授权用户,授权用户即可以通过网络对存储资源池进行任意的访问和管理,并按使用付费。云存储将存储资源集中起来,并通过专门的软件进行自动管理,无须人为参与。用户可以动态使用存储资源,无须考虑数据分布,扩展性,自动容错等复杂的大规模存储系统技术细节,从而更加专注于白己的业务,有利于提高效率、降低成本和技术创新。

     

    云存储特点:

    超大规模:万亿级

    高可扩展性:动态伸缩

    高可靠性和可用性:多副本复制以及节点故障白动容错

    安全:;用户鉴权,访问权限控制,安全通信

    按需服务:

    透明服务:统一的接口

    自动容错:自动处理节点故障

    低成本:云存储的重要目标。

     

    云存储是一种弹性、低成本、高利用率、透明的并能满足用户需求的服务,它采用友好的Web界面与用户进行交互,提供数据存储、数据保护、数据管理等功能,并使用用户身份认证机制来验证用户身份的真实性与唯一性。

     

    云存储相关的概念还包括云存储系统、云存储技术、云存储服务等

     

    云存储系统由大量的廉价的存储设备(一般为普通PC服务器)组成,融合了分布式存储、多租户共享、数据安全、数据去重等多种云存储技术,为用户提供灵活的、方便的、按需分配的云存储服务。

     

    云存储技术的核心在于分布式存储。

     

    云存储具有如下优势:

    可扩展性


    利用率

    成本

    服务能力

    便携性

     

    云存储的产品形态

     

    云存储技术

    云存储包含两个部分:云端+终端。云端指统一的云存储服务端,终端指多样化的PC机、手机、移动多媒体设备等终端设备。

    摩尔定律、宽带网络、web技术、移动设备、分布式存储、CDN、P2P技术、数据加密、云安全、

     

    云存储的核心优势

    云存储的核心优势与云计算相同。主要包括两个方面:最大程度地节省成木以及加快创新速度;

    PUE(Power Usage Effectiveness,能源使用效率)用来衡量数据中心的能源效率=数据中心所有设备能耗(包括IT电源,冷却等设备)/IT设备能耗。

    基准是2,越接近1表明能效水平越好。

     

    云存储的另外一个核心优势就是加快创新速度。

     

    云平台整体架构

    IaaS、Paas、SaaS

     

    Amazon云平台

     

    Google云平台

     

    Microsoft云平台

     

    云平台架构

     

    云存储技术体系


    展开全文
  • 一、云存储简介 二、云存储的优点 三、云存储的应用 四、云存储的隐形成本 五、中国的云存储 六、云存储的未来发展趋势
  • 云存储云存储市场
  • 并应用这两种测试工具对比测试了基于API接口的开放云存储系统金山快盘和基于RESTFul接口的本地私有云存储系统OpenStack Swift的性能,分析了影响云存储系统性能的因素,为云存储厂商改进云存储服务提供了参考依据,...
  • 云存储技术手册 云存储技术 云存储技术 云存储技术
  • 前段时间,闲置了个1核1G1M的服务器,就搞了个树莓派玩玩,随手搭建了个私有云存储,也看了一些教程,发现坑比较多,自己就重写个 准备工作 申请域名,如 domain.cn 可远程访问的服务器一台(linux64),并且备案...

    前段时间,闲置了个1核1G1M的服务器,就搞了个树莓派玩玩,随手搭建了个私有云存储,也看了一些教程,发现坑比较多,自己就重写个

    前言

    首先解释下,ngrok,主要是实现内网穿透,让你在外网的情况下访问自己的电脑服务,工作原理如下

    1. ngrok实现了一个tcp之上的端到端的tunnel,两端的程序在ngrok实现的Tunnel内透明的进行数据交互。
    2. ngrok分为client客户端(ngrok)和服务端(ngrokd),实际使用中的部署如下:
    准备工作
    1. 申请域名,如 domain.cn
    2. 可远程访问的服务器一台(linux64),并且备案(未备案域名只能用大陆外服务器)
    3. 设置域名解析,如 ngrok.domain.cn
    4. 申请域名所需SSL证书(非必须,除非你要开启https访问)
    服务端安装
    1. 服务器安装unzip解压命令
      yum install -y unzip
      
    2. 下载服务端文件
      server.zip
    3. 解压后启动,启动命令以及参数如下
      ./ngrokd -domain="ngrok.domain.cn" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4433" &
      # 追加 & 表示后台启动
      # 需要https访问,先下载域名解析证书
      # 启动命令增加 -tlsKey=server.key -tlsCrt=server.crt 开启https访问,文件路径为绝对路径 (如果后缀是pem的,直接把后缀改成crt即可)
      
    4. 注意服务器上端口是否有占用,以及服务器所在安全组端口是否放行
    客户端安装
    1. 选择自己所需客户端下载
      linux32.zip
      linux64.zip
      linuxarm.zip
      mac.zip
      win32.zip
      win64.zip
    2. 解压后,修改配置文件,如下(如果没有.yml配置文件,新建一个config.yml即可)
      # ngrok服务地址、端口,用于和服务端通信
      server_addr: "ngrok.domain.cn:4433"
      # 是否开启https访问(前提服务器端必须配置证书)
      #trust_host_root_certs: false
      # 隧道列表
      tunnels:
        	# 隧道名称
        	ssh:
          	# ssh远程端口暴露
          	remote_port: 8822
          	# 链接类型以及本地端口
          	proto:
           	 # tcp链接,端口22(22端口建议不要修改,默认ssh端口)
            	tcp: ":22"
       	web1:
          # 重新定义域名前缀(如服务端是ngrok.domain.cn , 则定义后访问域名为 twebt.ngrok.domain.cn ,如果不定义的话,则以隧道名称前缀web1.ngrok.domain.cn)
          # subdomain: twebt
          # 指向本地的静态web路径
          	root: "/Users/xxx/xxx/web1/"
          # 链接类型以及本地端口
          	proto:
            	# http链接,本地端口8181
            	http: ":8181"
        	web2:
          	proto:
            		http: ":8182"
          # 如果开启了https访问,则需按照如下格式写
        	# web3:
          	# proto:
            		# https: ":8183"
      # 如上,如果全部隧道启动,则启动命令如下
      # ./ngrok start ssh web1 web2 web3 &
      # 追加 & 表示后台启动
      # 默认加载同级目录下的config.yml文件,如果是自定义config,则需指定config文件,启动命令增加 -config=xxx.yml即可,如下
      # ./ngrok -config=xxx.yml start ssh web1 web2 web3 &
      
    3. 配置完成,启动本地服务后,在浏览器中,访问web1.ngrok.domain.cn web2.ngrok.domain.cn (这里的端口是启动服务器端指定的-httpAddr=":80",https一样的道理)
    4. 通过ssh工具访问 ngrok.domain.cn:8822
    后记

    其实,要想使用https访问,如上ngrok是可以配置的
    但是建议使用nginx做代理,毕竟一台外网服务器不可能只部署一个ngrok服务端程序。

    nginx部署教程详见如下教程链接
    https://blog.csdn.net/qq_23501739/article/details/110919332

    特别

    有想试试的小童鞋,私信我,给你们个免费的ngrok使用哟

    展开全文
  • 一种关于云存储方法,云存储系统级安全云存储系统 介绍
  • 云存储云安全.pdf

    2019-10-31 11:21:23
    云存储云安全pdf,云存储云安全
  • 云存储技术

    2018-04-13 13:24:57
    存储结构 存储设备 存储接口(含FCoE) NoSQL数据库 云存储主流产品比较 存储虚拟化
  • 阿里云OSS云存储方案.docx阿里云OSS云存储方案.docx阿里云OSS云存储方案.docx阿里云OSS云存储方案.docx阿里云OSS云存储方案.docx阿里云OSS云存储方案.docx
  • 云存储的技术 包括云存储的架构 云存储的体系 云存储的主流厂家技术 云存储的发展现状等
  • 云存储基础架构剖析

    2021-02-26 23:38:57
    简介:云存储(或数据存储即服务)是对接口后的存储的抽象,可在该接口内按需管理存储。此外,接口抽象化存储的位置,这样一来,不管存储是在本地还是远程(或混合)都无关紧要。云存储基础架构引入新的架构,能够...
  • 云存储_云安全.ppt

    2020-01-10 21:31:50
    计算机网络工程 * 云存储 一云存储简介 二云存储的优点 三云存储的应用 四云存储的隐形成本 五中国的云存储云存储的未来发展趋势 计算机网络工程 * 一云存储简介 1什么是云存储 2云存储结构模型 3云存储的系统...
  • 本课程是云存储的初级课程,从云存储的起源、基本特性和存储系统分类三个方面进行讲述,帮助大家快速理解云存储
  • 云存储技术手册 云存储技术手册云存储技术手册云存储技术手册
  • 上一节为大家介绍了下云开发的搭建,接下来为大家介绍下怎么使用云存储,顾名思义,云存储当然就是我们平常所说的百度网盘用来存储自己的资源,当然我们这里的云存储不仅可以存储自己的素材还可以在云数据库调用自己...
  • 云存储源码

    热门讨论 2013-01-13 12:24:44
    云存储客户端源码
  • 教程名称: 云存储技术实践手册汇总【】HDS云存储【】IBM云存储整体解决方案【】《开放云存储服务及应用案例》课件【】云存储技术及其应用【】云存储技术手册【】云存储数据管理接口规范【】云存储架构下的数据安全...
  • 对象存储(云存储)概述

    万次阅读 多人点赞 2019-03-08 17:54:09
    文章目录三种存储形态1、块存储2、文件存储3、对象存储对象存储对象存储需求对象存储含义对象存储与传统网络存储的区别扩展知识:NAS与SAN概述1、NAS(Network Attached Storage)优点局限2、SAN(Storage Area ...

    三种存储形态

    在这里插入图片描述

    三种存储形态和存储架构示意图

    1、块存储

      块存储我们简单的理解就是一块一块的硬盘,直接挂载在主机上,在主机上我们能够看到的就是一块块的硬盘以及硬盘分区。从存储架构的角度而言,块存储又分为DAS存储(Direct-Attached Storage,直连式存储)和SAN存储(Storage Area Network,存储区域网络)。

    2、文件存储

      文件存储,我们指的是在文件系统上的存储,也就是主机操作系统中的文件系统。我们知道,文件系统中有分区,有文件夹,子文件夹,形成一个自上而下的文件结构;文件系统下的文件,用户可以通过操作系统中的应用程序进行打开、修改等操作,如打开word、编辑word。从架构上来说,文件存储提供一种NAS(Network Attached Storage,网络附属存储)架构,使得主机的文件系统不仅限于本地的文件系统,还可以连接基于局域网的共享文件系统。

    3、对象存储

      对象存储是面向对象/文件的、海量的互联网存储,它也可以直接被称为“云存储”。对象尽管是文件,它是已被封装的文件(编程中的对象就有封装性的特点),也就是说,在对象存储系统里,你不能直接打开/修改文件,但可以像ftp一样上传文件,下载文件等。另外对象存储没有像文件系统那样有一个很多层级的文件结构,而是只有一个“桶”(bucket)的概念(也就是存储空间),“桶”里面全部都是对象,是一种非常扁平化的存储方式。其最大的特点就是它的对象名称就是一个域名地址,一旦对象被设置为“公开”,所有网民都可以访问到它;它的拥有者还可以通过REST API的方式访问其中的对象。因此,对象存储最主流的使用场景,就是存储网站、移动app等互联网/移动互联网应用的静态内容(视频、图片、文件、软件安装包等等)。

    对象存储

    对象存储需求

      随着互联网,Web应用创建出数百亿的小文件;人们上传海量的照片、视频、音乐,Facebook每天都新增数十亿条内容,人们每天发送数千亿封电子邮件。据IDC统计未来在10年间数据将增长44倍,到2020年全球数据将增加到35ZB,其中80%是非结构化数据,且大部分是非活跃数据。

      面对如此庞大的数据量,仅具备PB级扩展能力的块存储(SAN)和文件存储(NAS)显得有些无能为力:通常块存储(SAN)的一个LUN容量仅数TB。单个文件系统最优性能情况下支持的文件数量通常只在百万级别。人们需要一种全新的架构的存储系统,这种存储系统需要具备极高的可扩展性,能够满足人们对存储容量TB到EB规模的扩展的需求。

      2006年Amazon发布AWS, S3 服务及其使用的REST、SOAP访问接口成为对象存储的事实标准。Amazon S3成功为对象存储注入云服务基因。

    对象存储含义

      存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。总体上来讲,对象存储(Object-Based Storage, OBS)综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。
      对象存储核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。

      对象存储是一种基于对象的存储设备,具备智能、自我管理能力,通过web服务协议(如:REST、SOAP)实现对象的读写和存储资源的访问。

      对象存储系统包含两种数据描述:容器(Bucket)、对象(Object)。容器和对象都有一个全局唯一的ID。对象存储采用扁平化结构管理所有数据,用户/应用通过接入码(AccessKey)认证后,只需要根据ID就可以访问容器/对象及相关的数据(Data)、元数据(metadata)和对象属性(Attribute)。

    对象存储与传统网络存储的区别

      对象存储在很多重要方面与SAN和NAS迥然不同,对存储管理员而言最显著的区别在于对象存储没有LUNs,卷以及RAID等要素。对象数据不是存储在固定的块,而是在大小可变的“容器”里。鉴于元数据(metadata)和数据本身可通过传统数据访问方法进行访问,对象存储允许数据被直接访问。此外,支持对象级和命令级的安全策略设置。


    扩展知识:NAS与SAN概述

    1、NAS(Network Attached Storage)

      NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。
      它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。

    优点

      NAS产品是真正即插即用的产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows NT局域网内。   
      NAS设备的物理位置同样是灵活的。它们可放置在工作组内,靠近数据中心的应用服务器,或者也可放在其他地点,通过物理链路与网络连接起来。无需应用服务器的干预,NAS设备允许用户在网络上存取数据,这样既可减小CPU的开销,也能显著改善网络的性能。

    局限

      NAS没有解决与文件服务器相关的一个关键性问题,即备份过程中的带宽消耗。与将备份数据流从LAN中转移出去的存储区域网(SAN)不同,NAS仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行SCSI连接转移到了网络上。这就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。
      由于存储数据通过普通数据网络传输,因此易受网络上其它流量的影响。当网络上有其它大数据流量时会严重影响系统性能;由于存储数据通过普通数据网络传输,因此容易产生数据泄漏等安全问题;
      存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块,因此会在某些情况下严重影响系统效率,比如大型数据库就不能使用NAS。

    2、SAN(Storage Area Network and SAN Protocols)

      存储区域网络(Storage Area Network and SAN Protocols,简写SAN,即存储区域网络及其协议)是一种高速网络或子网络,提供在计算机与存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列。存储区域网络能够使用多种技术,这就使得系统间的数据备份、操作、文件转移和数据复制很容易实现重定向。

    优点

      SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。SAN不受现今主流的、基于SCSI存储结构的布局限制。特别重要的是,随着存储容量的爆炸性增长,SAN允许企业独立地增加它们的存储容量。 SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。 因为SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。最后一点,光纤接口提供了10公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。

    局限

      成本和复杂性,特别是在光纤信道中这些缺陷尤其明显。使用光纤信道的情况下,合理的成本大约是1千兆或者两千兆大概需要五万到六万美金。从另一个角度来看,虽然新推出的基于iSCSI的SAN解决方案大约只需要两万到三万美金,但是其性能却无法和光纤信道相比较。在价格上的差别主要是由于iSCSI技术使用的是现在已经大量生产的吉比特以太网硬件,而光纤通道技术要求特定的价格昂贵的设备。

    对象存储的特性

      对象存储是一种基于对象的存储设备,具备智能、自我管理能力,通过web服务协议(如:REST、SOAP)实现对象的读写和存储资源的访问。

      对象存储系统包含两种数据描述:容器(Bucket)、对象(Object)。容器和对象都有一个全局唯一的ID。对象存储采用扁平化结构管理所有数据,用户/应用通过接入码(AccessKey)认证后,只需要根据ID就可以访问容器/对象及相关的数据(Data)、元数据(metadata)和对象属性(Attribute)。

    在这里插入图片描述

    对象存储数据组织示意图

      对象存储对外提供更抽象的对象接口,而不是SCSI或文件接口。与SAN存储以逻辑扇区为单位的较细粒度的固定IO(512B~4KB)不同,对象存储IO粒度更有弹性,支持几个字节(B)到数万亿字节(TB)范围内的任意对象大小,使得业务可根据需要灵活的分割数据。

      对象存储以对象ID为基础,扁平化的管理所有对象和桶,根据对象ID便可直接访问数据,解决了NAS复杂的目录树结构在海量数据情况下的数据查找耗时长的问题,这使得对象存储具备极强的扩展性,能够轻松实现单一名字空间内支持百亿级文件的存储。

      在重复数据删除,绿色节能等特性基础上,为了更好的满足海量数据存储和公众云服务需求,对象存储系统还包括如下一些关键特性:

    1、优秀的扩展性

      扁平化的数据结构允许对象存储容量从TB级扩展到EB级,管理数十个到百亿个存储对象,支持从数字节(Byte)到数万亿字节(TB)范围内的任意大小对象,解决了文件系统复杂的iNode的机制带来的扩展性瓶颈,并使得对象存储无需像SAN存储那样管理数量庞大的逻辑单元号(LUN)。对象存储系统通常在一个横向扩展(或网格硬件)架构上构建一个全局的命名空间,这使得对象存储非常适用在云计算环境中使用。某些对象存储系统还可支持升级、扩容过程中业务零中断。

    2、基于策略的自动化管理

      由于云环境中的数据往往是动态、快速增长的,所以基于策略的自动化将变得非常重要。对象存储支持从应用角度基于业务需求设置对象/容器的属性(元数据)策略,如数据保护级别,保留期限,合规状况,远程复制的份数等。这使得对象存储具备云的自服务特征同时,有效的降低运维管理的成本,使得客户在存储容量从TB增长到ZB时,运维管理成本不会随之飙升。

    3、多租户技术

      多租户特性可以使用同一种架构,同一套系统为不同用户和应用提供存储服务,并分别为这些用户和应用设置数据保护、数据存储策略,并确保这些数据之间相互隔离。

    扩展知识:多租户技术介绍

    多租户架构浅析

      多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

      云计算可以划分为以下几个层次的服务——IaaS、PaaS和SaaS,而今天我们今天讲的多租户架构就是一种常见的 SaaS 软件架构模式。多租户技术是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。 简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多租户的重点就是同一套程序下实现多用户数据的隔离。

    对象存储结构

    Alt

    对象存储结构

      对象存储结构由 对象、对象存储设备、元数据服务器、对象存储系统的客户端 四部分组成。

    1、对象(Object)

      对象(Object)是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息(Meta Data)的组合,每个对象是数据和数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。在传统的存储系统中用文件或块作为基本的存储单位,块设备要记录每个存储数据块在设备上的位置。对象维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性。对象的大小可以不同,可以包含整个数据结构,如文件、数据库表项等。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。

    在这里插入图片描述

    传统块存储和对象存储示意图

    在这里插入图片描述

    对象存储中对象(Object)的组成

    2、对象存储设备

      每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:

    1. 数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。
    2. 智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。
    3. 每个对象元数据的管理。OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。

    在这里插入图片描述

    传统模型与OSD模型示意

    3、元数据服务器(Metadata Server,MDS)

      MDS控制Client与OSD对象的交互,为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的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不一致引发的问题。

    4、对象存储系统的客户端(Client)

      为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的POSIX文件访问接口。接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。文件系统读访问流程:

    • 1)客户端应用发出读请求;
    • 2)文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;
    • 3)然后直接向每个OSD发送数据读取请求;
    • 4)OSD得到请求以后,判断要读取的Object,并根据此Object要求的认证方式,对客户端进行认证,如果此客户端得到授权,则将Object的数据返回给客户端;
    • 5)文件系统收到OSD返回的数据以后,读操作完成。

    对象存储应用场景

      通常,无论是虚拟主机还是独立云主机,作为个人网站都会把所有的图片都存储在空间里,这样有一下几个问题:

    1. 随着网站的运行,图片越来越多,会导致主机的空间使用越来越多;
    2. 图片的增多会导致网站页面打开速度越来越慢,因为越来越多的图片需要从服务器上下载到本地浏览器的缓存目录,这样需要越来越多的宽带,而虚拟主机或云主机通常的宽带都是限定的;
    3. 网站迁移的成本越来越大。

      如果使用了云存储,这样可以把图片存储在第三方,所有的图片都不会再消耗虚拟主机的宽带资源和磁盘资源,保证网站访问速度不受影响,迁移网站只需要迁移数据库和基本程序文件即可,基本上几十M就可以打包所有的文件,所以云存储的好处显而易见。

    • 应用场景一:

      如果您的网站有大量的图片,如果都存储在本地,需要大量的磁盘空间,虽然现在磁盘空间的价格已经很低,但是用户访问却需要大量的宽带,超过10G的图片,主机宽带10M是不够的,而10M的云主机每年的价格8000左右,随着年限的增长,云主机需要的硬件和宽带需求会越来越多,那么网站基本成本支出也会越来越搞,如果把所有的图片都存储在云存储里,每年主机成本可以降低2/3,甚至更多。

    • 应用场景二:

      视频存储的问题,可以选择把视频存储在专门的视频网站,比如优酷,腾讯视频,爱奇艺等,但是这样的问题是,所有的视频都会被视频网站加上播放前的贴片广告,这样其实非常不友好,给客户看的视频,还要先看几十秒甚至2分钟广告,这有点尴尬了,但是如果放网站上,会出现磁盘和宽带不足的情况,如果上传到云存储上,设置好伪静态和防止BT软件下载,这样就非常好了。

    • 应用场景三:
        电商、互联网金融、在线教育等行业的Web和移动应用,架构里有数据库、应用服务器、负载均衡的应用,另外还需要存储比如商品图片,互联网金融行业的用户证件照,在线交易视频等文件等,需要存储,此前的做法是搭建文件服务器,文件服务器的扩展性、并发性都有问题,这时候就需要用到对象存储。

    • 应用场景四:
        企业网盘,其后端就是对象存储。企业遍布各地的各个部门文档都在用企业网盘,分享和管理文件,企业网盘可以非常容易地分享给特定的个人,群组或部门。企业网盘是单独的市场,与个人网盘有很大区别,企业对访问权限认证的管理更细致,数据管理要求更高。

    还有很多的应用场景,此处不一一列举。

    • 文章是个人知识点整理总结,如有错误和不足之处欢迎指正。
    • 如有疑问、或希望与笔者探讨技术问题(包括但不限于本章内容),欢迎添加笔者微信(o815441)。请备注“探讨技术问题”。欢迎交流、一起进步。

    http://www.chinastor.com/a/jishu/OSD.html
    https://blog.csdn.net/liuaigui/article/details/17973039
    https://www.wopus.org/tools/4868.html
    http://storage.chinabyte.com/145/12496645.shtml

    展开全文
  • 云原生存储和云存储有什么区别?

    千次阅读 2019-11-06 16:14:37
    作者 |李鹏(壮怀) 阿里云智能事业群高级技术专家 导读:新的企业负载/智能工作负载...本文将介绍一下问题场景,探讨可行的解决方案,最终得出云原生存储以及云存储目前可以做什么和未来还需要做什么。 引言 ...

    file

    作者 | 李鹏(壮怀) 阿里云智能事业群高级技术专家

    导读:新的企业负载/智能工作负载容器化、迁云、存储方面遇到的性能、弹性、高可用、加密、隔离、可观测性以及生命周期等方面的问题,不但需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进。本文将介绍一下问题场景,探讨可行的解决方案,最终得出云原生存储以及云存储目前可以做什么和未来还需要做什么。

    引言

    最近有幸参加了由 Infra Meetup 联合 Kubernetes & Cloud Native Meetup 共同组织的面向云原生持久化应用的 Meetup,结合最近对云存储、开源存储、云原生存储的思考,对云原生存储到底是什么,需要做些什么,云原生存储未来挑战是什么,做了更多的反思和梳理,一家之言,分享了几个初步观点。

    随着云原生应用对可迁移性、扩展性和动态特性的需求,相应的,对云原生存储也带来了密度、速度、混合度的要求,所以对云存储基本能力又提出了在效率、弹性、自治、稳定、应用低耦合、GuestOS 优化、安全等方面的诉求。

    云原生现状

    容器和云原生计算被企业快速接纳

    file

    Forrester 预测:到 2022 年, 全球组织/公司在生成环境运行容器化应用,从今天不足 30% 的比例将大幅度提升到超过 75%,企业应用容器化的趋势势不可挡。

    file

    另一方面,根据 IDC 对未来企业级存储市场的增长趋势预测:云存储的需求相比于 2015 年,到 2020 将会有 3 倍以上的增长,企业存储市场中,数据管理类企业核心数据消耗的存储所占的比例将从 15% 提升到 23%,结构化数据和 DBMS 数据在企业存储市场中将进一步加强。

    对云原生来说,核心企业应用/智能应用,使用云原生存储来部署生产可用的有状态应用,呈现加速上升趋势。海外存储巨头 EMC、NetApp 拥抱云原生,积极布局 REX-Ray flexrex、Trident 等云原生存储编排方案。

    Kubernetes 逐渐成为云原生时代的基础设施

    过去的一年(2018-2019)中,Kubernetes 逐渐成为云原生时代的基础设施,越来越多的互联网、数据库、消息队列等有状态企业核心应用,逐步迁移到云原生平台 Kubernetes,对不同的云上块存储的性能在时延和吞吐,以及稳定性提出了不同的要求,比如:

    1. 毫秒级 NvME SSD 级别的稳定时延,来满足高性能 KVstore 和数据库需求;
    2. 随着应用单机部署密度的提升,对块存储单机密度的挑战;
    3. 本地块存储共享,对块存储的弹性和隔离性也提出了更高需求。

    在云原生环境下,如何以声明方式来满足不同的业务场景,成为了云原生存储在实现控制面和数据面上的挑战。

    在智能应用 AI 场景下,高性能计算、流式计算也尝试通过 Kubernetes 云原生平台来部署,使用云存储方式来完成训练、计算、推理等方面的工作,这对云存储在 Kubernetes 环境的选择及使用方面提出了挑战。比如,有证据表明 Spark 生态正在逐步从 Hadoop YARN 向 Kubernetes 原生的调度器以及扩展调度器 e.g. Gang Scheuler 迁移。

    在云计算环境中:由于成本和存储计算分离的模型,HDFS 仍然会以存储协议的方式存在,但存储方式会逐步从 HDFS 的 3 副本向对象存储(OSS,S3)迁移;GPU 多机多卡 MPI 计算、Flink 流式计算的 Kubernetes 化已经逐步成为主流,存储访问方式也多以对象存储方式呈现。

    但是在使用对象存储过程中,大数据/AI 应用的计算效率仍面临着严峻的挑战:

    1. 减少同一节点对同一 Block 的反复拉起产生的网络 IO;
    2. 减少数据的 Shuffle 产生的写 IO;
    3. 实现计算对数据感知,计算向数据迁移的就近计算。

    目前的 Kubernetes 调度器以及云存储特性并未给出好的解决方案,所以这也给云原生存储在加速大数据计算、弥补 IO 吞吐不足方面提供了发挥的舞台。

    大数据离线计算比如基因计算,已经通过 Kubernetes 云原生平台来大规模的运行计算任务:对文件存储峰值吞吐 10GBps - 30GBps 的峰值刚性兑付,需要独立的高吞吐的文件存储形态和交付方式在云原生环境下的演进和变革。

    file

    容器服务成为云原生时代基础设施

    随着企业应用上云越来越多地选择使用容器化方式,容器服务在不同的云厂商中都有大幅度的业务增长,容器服务已经逐步成为云原生时代新的基础设施和最佳使用云资源的入口。云原生存储对云计算/云存储来说也有了新的内涵,有必要重新思考云存储和云原生存储的本质区别和联系。

    file

    云原生存储和云存储的思考

    Cloud Native Storage vs Cloud Storage:

    • 对立还是统一?
    • 两者之间的联系?
    • 差异和侧重点?

    1. 云原生存储 = 云存储 UI,面向应用的申明式应用层存储 效率等能力组合

    云原生存储声明的六要素:

    1. 容量 Size;
    2. 性能 IOPS,、吞吐、时延;
    3. 可访问性,共享/独享;
    4. IO 可观测性;
    5. QoS;
    6. 多租户隔离。

    2. 分层存储,重用基础设施红利,不重新发明轮子,针对新的负载类型部分存储形态上移

    3. 在控制平面实现效率、自治方面能力,最大化存储稳定和安全

    市场上的云原生存储

    为了更好的理解在云环境中如何构建云原生存储,先看几个在 Kubernetes 企业环境中部署主流的云原生存储,以及对比云存储的形态:

    1. Ceph on Kubernetes with Rook
    2. Portworx
    3. OpenEBS

    Ceph on Kubernetes with Rook

    Ceph 是圣克鲁兹加利福尼亚大学的 Sage Weil 在 2003 年开发的,也是他博士学位项目中的一部分。Ceph LTS 成熟稳定、高可用、生态强大,在云原生时代和 Kubernets 紧密集成。Ceph 基于 RADOS(Reliable Autonomic Distributed Object Store )的高可用存储,在云原生时代之前 2003 年发行起,已经广泛生产部署的高可用存储,支持最广泛的块存储 RBD、文件 POSIX Cephfs,以及对象存储访问协议。

    RedHat/SUSE 目前是 Ceph 最主要的商业化支持者,在多个容器平台落地案例中,RBD、CephFS 都被采用作为容器平台实施的主要存储,用来弥补基础云存储的缺失。

    file

    Rook 目前是在 Kubernetes 产品级可用的部署和运维 Ceph 编排工具。

    file

    Ceph 的基本架构由数据面 OSDs(RADOS) 和控制面 MON/RBD/RADOSGW/CEPHFS 组成,以 CRUSH Algorithm 作为核心算法处理数据冗余和高可用, 上层的应用存储通过 librados 同数据面 OSDs 直接完成数据的读写,能够支持快照、备份、监控可观测性等能力,可以通过 Rook 直接通过 Kubernetes 输出,RedHat/SUSE 也提供独立的集群安装能力。

    Ceph 的一些基本架构特征和能力:

    • 控制面:MON/RBD/RADOSGW/CEPHFS;
    • 数据面:OSDs(RADOS);
    • 快照、备份、支持 IO 监控等存储性能监控,支持 RBD QoS 的服务端限速能力。

    Portworx

    file

    Portworx 以容器服务的方式部署,每个节点称为 PX,向下对接各种公有云的块存储或者裸金属服务器,向上提供块或文件服务。

    不绑定硬件形态和厂商,可接入任何一家公有云或者自建服务器集群(只需支持 iSCSI 或 FC 协议),目前 Portworx 主打能力云灾备 DR、多云复制,具备完备的快照(ROW)、多云管理、同步复制(RTO,秒级)异步复制(RPO<=15min),可以通过 Kubernetes CRD 申明方式,优雅实现持久化云下应用带数据自动迁移云上能力。PX 可以独立部署,并不强依赖 Kubernetes 的容器网络。

    Portworx 的一些基本功能/性能特征:

    • 弹性扩展, PX 自动识别服务器节点的能力,可动态调度 IO

    • 控制面

      • 支持主流容器编排工具:Kubernetes、Mesos、Swarm 等
      • 支持 IO 级别的性能监控
    • IO面

      • 数据块和元数据打散到不同的节点
      • 使用了缓存和高性能RPC
      • QOS隔离:不支持
      • 根据底层存储的特性IOPS(4k) 768 - 65024
      • 时延(4k): 0.58ms - 23ms
    • 增值特性

      • 加密(三方秘钥托管,传输加密,落盘加密),支持云厂商KMS集成和Vault
      • 快照(ROW),多云管理,同步复制(RTO,秒级),异步复制(RPO<=15min)
      • 可扩展性 >1000个节点,>10000个Volume
      • 支持拓扑感知计算

    OpenEBS

    file

    OpenEBS 基于 Kubernetes 构建的开源版 EBS,软件定义 PV:将各种介质,包括本地磁盘、云等各种存储统一池化和管理。使用 iSCSI 作为存储协议。没有绑定某一个厂商的存储,可以灵活的接入各种存储的一个原因。从某种意义上也是更加灵活,轻量。但是强依赖容器网络,增加了抽象层 OpenEBS layer, 写入操作要通过抽象层,并且每个卷 PV 都有独立的 controller,增加了额外的开销,虽然可以做到更灵活,但相比于 Portworx、Ceph 来说,其在性能上有比较大的劣势。

    OpenEBS 的一些基本功能/性能特征:

    • 控制面:扩展容器编排系统,支持超融合。相比块而言,卷的数量多且卷的大小任意配置,更加灵活;
    • 高可用:每个卷可以有多副本,数据实时同步,数据同步是在不同的存储池间进行同步;
    • 快照、备份、监控存储性能功能;
    • 和 Cloud-Native Tools 有很好的集成:可以使用云原生工具(如 Prometheus,Grafana,Fluentd,Weavescope,Jaeger 等)来配置,监控和管理存储资源。

    理解云存储

    盘古 vs RADOS

    对比以上三种开源/企业存储,为了更容易的理解云存储架构,我们把盘古的分层架构和 Ceph 存储的分层做一个对比。

    可以把 CS(Chunk Server)类比 Ceph OSDs 服务进程,把盘古的 Master 进程类比于 Ceph MDSs 进程。

    把云产品块存储类比于 Ceph RBD, 文件存储类别于 CephFS, 对象存储类比于 RADOSGW,本地块存储/高性能文件存储 CPFS 产品暂没有对应。

    file

    随着盘古架构的演进,和盘古 2.0 的全面推广、用户态 TCP 网络协议栈的推广、全面的 RDMA 存储网络、全面优化的 RPC 性能,上层产品存储也享受到了底层存储变革的巨大红利,进入了亚毫秒级别时延,和百万 IOPS 的时代,云原生存储也必然是要在产品存储层次之上,能够继承这些能力。

    云原生存储在公有云和专(私)有云中的差异

    通过分析了市场上云原生存储,我们可以发现这些存储都有共同的特征就是支持声明化的 API,可以实现对性能、容量、功能等方面的度量和声明,或多或少对质量/稳定/安全都有不同支持。

    进一步来说,云原生负载可以直接通过数据平面无损耗的使用产品存储在容量、性能、可访问性的能力,在控制平面继续提升面向用户应用的 IO 可观测性、应用级的 QoS、多租户的隔离能力,通过控制平面接口实现 CSI/Flexvolume 等可声明的存储接口,并提供对部分存储生命周期的 Operator,容器编排把业务应用和存储粘合成为实际的负载声明,可能是更加正确使用云存储的姿势。

    file

    由于公有云的基础设施产品存储的完备,可以使用更加轻量化的数据平面(virtio, nfs-utils, cpfs-sdk, oss-sdk)来访问产品存储。

    专有云环境差异较大,部分虚拟化或者无虚拟化环境,SAN 和裸盘是主要存储方式,需要通过类似构建 ceph RADOS 或者盘古实现 SDS,然后通过数据平面(librados/px/pv-controller)实现存储的访问。

    针对 vSphere,OpenStack,飞天所构建的专有云,有接近于公有云的存储提供方式,但因为部署模块的差异,也存在不同的控制/数据平面支持能力的差异。

    简单来说就是:

    • 公有云
      Cloud Native Storage = Declarative API Cloud Storage
    • 专有云
      Cloud Native Storage = Declarative API Native Storage

    公有云中的云原生存储

    1. 存储分层,重用基础设施红利,不重新发明轮子。

    file

    1. 云原生存储
    • 提升数据平面的一致性(kernel/OS/net/client/sdk 优化参数和版本控制);
    • 构建统一的控制平面 CSI/Flexvolume/Operator, 提供面向客户声明 API;
    • 在调度编排层面实现拓扑感知,实现云盘的 zone awareness, 本地盘的 node awareness。

    file

    块存储

    在控制平面通过与 Aliyun Linux 2 OS 结合使用 Kernel Cgroup blkio 实现进程级别的 buffer IO 控制,提升了在应用层对本地盘、云盘的 QoS 控制的粒度。通过对本地盘的 LVM 切分可以实现对单机云盘的密度提升。通过对挂载点/设备 IO 指标测采集能力,实现 IO 的可观测性。

    云原生存储- 块存储的主要特征指标:

    • 容量: 单盘 32TB
    • 时延:0.2ms – 10ms
    • IOPS: 5K – 1M
    • 吞吐: 300Mbps - 4Gbps (本地 NvME ESSD: 2GBps)
    • 可访问性: 单可用区独占
    • QoS:单盘隔离,进程隔离
    • 多租户: 单盘隔离

    详情见:云盘性能

    file

    文件存储

    在控制平面可以通过对 Pod Security Policy 和 SecuritContext 的控制,实现应用的强制 UID/GID 控制,实现应用对文件系统的 ACL 控制。控制平面实现对文件系统生命周期的控制,通过对挂载点 IO 指标测采集能力,实现 IO 的可观测性。

    云原生存储- 文件存储的主要特征指标:

    • 容量:单文件系统 10PB
    • 时延:100 微妙 – 10ms
    • IOPS: 15K – 50K
    • 吞吐: 150Mbps - 20GBps
    • 可访问性: 多集群多可用区共享
    • QoS:IO 争抢
    • 多租户: PSP ACL (namespace)

    file

    CPFS 并行文件系统

    在控制平面实现对文件系统 ACL 控制,对 QoS 提供客户端限速的可配置性,文件系统提供生命周期的声明式管理能力 Operator,再进一步,在云原生环境内实现 CPFS 文件系统的声明式部署。

    云原生存储- 高性能文件存储的主要特征指标:

    • 容量:单文件系统 100PB
    • 时延:0.5ms – 10ms
    • IOPS: 50K – 1M
    • 吞吐: 10Gbps - 1000GBps
    • 可访问性: 多集群多可用区共享
    • QoS:支持客户端限速
    • 多租户: PSP ACL (namespace)

    file

    总结:云原生存储 v1 – 功能性

    今天的云原生存储已经实现了在控制平面/控制平面接口对阿里云产品存储的全品类支持,在数据平面也完成了大部分系统级和客户端层的优化。但随着大量的持久化企业应用和智能化应用的容器化迁移,我们依然面临着更多的问题和挑战。

    file


    在整个云原生存储 v1 的开发过程中,感谢阿里云存储团队,在文件存储、块存储和对象存储的通力合作和帮助,共同打造的云原生时代的存储。

    随着云原生应用对可迁移性,扩展性和动态特性的需求,对云原生存储也带来了相应的密度,速度,混合度的要求,所以对云存储基本能力之上又提出了在效率,弹性,自治,稳定,应用低耦合,GuestOS优化,安全等方面的诉求。新的企业负载/智能工作负载容器化,迁云,存储方面遇到的性能,弹性,高可用,加密,隔离,可观测性,生命周期等方面的问题,不但是需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进,这是对云原生存储v2的展望和规划,我们会在后续文章进一步揭示这些新的场景,需求,方案以及发展方向。

    “ 阿里巴巴云原生微信公众号(ID:Alicloudnative)关注微服务、Serverless、容器、Service Mesh等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术公众号。”

    展开全文
  • 云存储 应用.docx

    2019-11-02 04:11:24
    云存储 应用docx,提供“云存储 应用”免费资料下载,主要包括什么是云存储云存储的应用、云存储系统数据结构等内容,可供学习使用。
  • 混合云存储阵列(CSA)于2017年云栖大会发布,上市2年多,已经被基因测序,医疗PACS,影视制作,非编,广电,视频监控等行业和场景的客户广泛采用。混合云存储阵列承载了用户的业务负载的同时,以缓存模式(90%的...
  • 宇视云存储配置手册

    2018-07-21 09:54:58
    宇视云存储配置手册宇视云存储配置手册宇视云存储配置手册宇视云存储配置手册
  • 云存储综述

    2012-04-21 14:02:11
    当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。
  • MassCloud云存储系统

    2011-09-30 09:01:37
    MassCloud云存储系统 MassCloud云存储系统 MassCloud云存储系统 MassCloud云存储系统 MassCloud云存储系统
  • 云存储技术与云存储服务

    千次阅读 2011-06-17 16:09:00
    云计算体系架构之云存储技术与云存储服务和上一节介绍的云安全一样,云存储也有两个不同层面的含义。 借助于云计算理念和技术提供存储服务,如Google 的 Picass oweb在线照片存储服务和微软的Windows Live 文件和...
  • 云存储基础.pdf

    2019-10-16 09:18:16
    云存储基础pdf,本文介绍了云存储的基础知识、概念、发展现状;云存储硬件和软件部分的关键技术并展望了云存储的发展趋势和未来。
  • 云存储服务是云计算的重要组成部分。技术上,云存储属于大型分布式在线存储范畴。云存储是一大类特殊的共享存储。作为提供存储资源的服务,云存储需要保证用户存放的数据可靠,不丢失。同时,云存储必须确保实时在线...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 360,742
精华内容 144,296
关键字:

云存储