赞
踩
现如今,数据与土地、劳动力、资本、技术并称为五大生产要素,数据成为数字经济发展的重要引擎。大数据时代,数据处理的需求急剧增长,越来越多的智能设备以及新应用如区块链、机器学习训练和AI等产生大量的数据,传统单一的存储面临着如下挑战:
1、扩展性限制:存储需求增加时,往往需要替换或升级整个存储设备,这带来了昂贵的成本和复杂的操作。
2、性能瓶颈:面对海量的数据,传统集中式存储数据流都必须通过单个存储设备进行访问和处理,容易成为性能瓶颈。
3、数据安全性:一旦存储设备受到一旦存储设备受到入侵或攻击,所有数据都可能受到威胁。此外,数据备份和灾难恢复方面的挑战也可能导致数据的不可用性和损失
4、数据孤岛:传统存储对各应用系统提供分散的存储解决方案易形成数据孤岛
5、成本和复杂性:传统集中式存储通常需要昂贵的硬件设备和专门的管理人员来维护和管理。这增加了成本和复杂性,并可能限制中小型企业的采用。
基于上述考虑,越来越多的组织认为应该将存储负载迁移到云端,以提升整个组织的效能和科技竞争力,迁移上云带来了哪些好处呢?
提升业务敏捷性
提升资源弹性
提升安全防护能力
降低成本
降低运营费用
使用传统式存储,需要购买新的存储系统、存储容量,还需要为未来的发展预留一部分容量,同时未来如果业务量规模扩大,还可能需要在数据中心托管并维护总容量,这都将大大增加成本。
使用云存储,用户可以按需使用服务以满足存储需求,由云厂商在其数据中心托管和维护底层系统,用户不必操心。
如上图所示,传统存储与阿里云云存储使用存储服务时占用容量的对比(上图数字仅为示例,实际数据可能存在差异):
实际数据容量:小浩预估需要100 TB的实际数据容量,分配了150 TB,超出的50 TB分配给快照和数据增长
分配容量:实际的数据量、为保护数据的快照空间、系统处理操作(如 写文件)的开销
格式化容量:格式化和操作系统开销、硬件故障后数据校验开销、分配容量
原始容量:实际购买了250 TB的原始存储容量
成本:需要支付250 TB的硬件费用及后期运营维护的费用
阿里云云存储支持多种计费方式,比如可以根据分配容量(如EBS)或者实际存储容量(如OSS、NAS)进行计费,支持先使用后付费的按量付费方式,也支持购买优惠资源包;但用户不必为昂贵的硬件存储设备和存储系统付费,只需要关注自己需要使用的存储空间即可。更详细的计费逻辑,我们将在后面的课程展开讲解。
小浩了解到,无论是本地存储还是在云环境中,都有三种主要的存储类型: 块存储、文件存储和对象存储。在开始使用云存储服务之前,我们先来一起学习一下主要的存储类型的技术原理,并学会区分它们。
块存储是一种将数据存储为固定大小块的数据存储方式。块存储将数据分成多个块,每个块的大小通常是固定的,比如4KB、8KB、16KB等。块存储的数据结构相对固定,无法进行自由的调整。块存储通常用于文件系统、关系型数据库等领域,常常用于存储大量的数据,以提高数据读写效率。块存储的优势在于存储效率较高,可以快速存储和检索数据。
2、文件存储(File Storage)
文件存储是一种将数据存储为文件的数据存储方式。文件存储将数据分成多个文件,每个文件可以包含多个数据块。文件存储通常用于存储大量的数据,可以通过文件系统等方式进行管理和访问。文件存储的优势在于可以灵活地管理和访问数据,并且可以支持大规模的数据存储和管理。
对象存储是一种新型的云存储服务,它将数据存储为对象的形式,可以更好地满足大量非结构化数据存储和管理的需求。对象存储将数据分为多个层次,每个层次都有自己的命名空间和属性。每个对象都有一个唯一的标识符,可以通过这个标识符访问和管理数据。
您可以使用 RESTful API、HTTP 和 HTTPS 查询对象元数据,以查找和访问对象。对象存储经济高效:您只需为已用的内容付费。它可以轻松扩展,因而是公共云存储的理想之选。它是一个非常适用于静态数据的存储系统,其灵活性和扁平性意味着它可以通过扩展来存储极大量的数据。对象具有足够的信息供应用快速查找数据,并且擅长存储非结构化数据。
了解完云存储的优势后,小浩计划选用云存储来存放公司的业务数据,准备先了解了解阿里云存储系列产品。
阿里云存储产品包含了一些核心的存储服务及其密切相关服务,存储产品大图如下所示:
块存储EBS(Elastic Block Storage)是为云服务器ECS提供的低时延、持久性、高可靠的块级随机存储。 块存储支持在可用区内自动复制您的数据,防止意外硬件故障导致的数据不可用,保护您的业务免于硬件故障的威胁。
针对自建关系型/NoSQL数据库,在面对查询的次数达到几十万~百万的规模,时延要求必须控制在ms级以内时需要性能更强的块存储;
企业核心业务系统:客户自建大数据集群, 采用本地SSD机器自建HBase做推荐业务的检索,随着流量的增加,读吞吐能力达到了本地SSD盘的最大值,影响业务查询性能,面对本地SSD集群无法扩展,新增机器性价比不高情况,可替换成ESSD云盘以支持NoSql数据库在高业务压力情况下的检索性能;
基于快照的数据保护:当企业有数千ECS实例,分散在多个阿里云区域。如何保障这些ECS实例的安全,已成为当前IT建设的重点,块存储的快照服务可以解决该痛点。
阿里云文件存储NAS (Apsara File Storage NAS) 是一个可大规模共享访问,弹性扩展的高性能云原生分布式文件系统。面向阿里云ECS实例、E-HPC、容器服务等计算节点的文件存储服务,支持智能冷热数据分层,有效降低数据存储成本。
容器共享存储:容器集群将容器镜像的配置文件或初始加载数据存储在NAS共享文件存储上,在容器批量加载时实时读取。多POD间通过NAS存储创建的弹性共享PV持久化数据,在POD故障时可以进行故障切换。
虚拟云桌面:需要将个人数据放置在NAS存储上持久化,随桌面迁移并通过SMB访问。管理员可以对NAS上的数据进行统一备份和管理
高性能网站及WEB应用:将代码文件、配置文件或图片等业务数据放置在NAS存储上共享访问,大部分都为几十KB级的小文件,对系统响应速度有较高要求,可以将多台无状态服务器共享一份NAS存储的数据,统一管理和扩展存储空间,架构简单易维护
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供 99.9999999999%(12个9)的数据持久性,99.995%的数据可用性。多种存储类型供选择,全面优化存储成本。
阿里云对象存储 OSS 打造了云原生的企业级数据湖,作为统一的存储池,不仅可对接多种数据输入方式,还可以存储任意规模的结构化、半结构化、非结构化数据,打破数据孤岛
海量存储:OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据
网页或移动应用的静态和动态资源分离:OSS提供原生的传输加速功能,支持上传加速、下载加速,提升使用体验。同时,OSS也可以结合CDN产品,提供静态内容存储、分发到边缘节点的解决方案,利用CDN边缘节点缓存的数据,提升同一个文件被同一地区客户大量重复并发下载的体验。
基于上面的调研,小浩向公司建议使用阿里云的云存储,初步了解了阿里云的几种存储类型后,他需要基于实际业务决策使用哪种云存储产品。
业务的最佳存储解决方案由需求驱动,根据业务应用的不同特征选择合适的存储服务,涉及到多种的因素:
访问类型(块存储、文件存储、对象存储)
访问模式(随机、顺序)
所需吞吐量
访问频率
更新频率(WORM、动态的)
可用性、持久性要求
于是,小浩结合实际生产情况,问了自己几个问题:
访问数据的频率和速度是怎么样的?
业务存在热数据、冷数据;有些数据会在短期内经常访问,但后续访问较少
数据存储是否需要高IOPS和吞吐量?
目前业务吞吐量适中,未来可能存在较大业务波动
数据的持久性要求是怎么样的?
归档数据需要长期存储,但部分业务数据需要定期删除
数据的敏感性要求?
希望数据是不能丢失或损坏的,也不能受到恶意更改,同时也要兼顾安全性和成本
基于此,小浩计划尝试使用阿里云对象存储OSS和文件存储NAS,并在使用过程中熟悉不同的存储类型,以便后续进行业务场景的选型,首先他需要掌握OSS和NAS的基本概念和产品功能。
小浩登陆阿里云对象存储OSS控制台后,面对众多配置选项,小浩想要了解对象存储的基本概念,才能进行合理的资源配置。
1. 存储空间(Bucket):用户用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间,提供了标准存储、低频访问存储、归档存储、冷归档存储等存储类型。个人网盘频繁的进行文件上传、下载、分享等操作;个人网盘需要频繁的进行文件上传、下载、分享等操作,小浩对比后,选择使用“标准存储”。
2. 地域(Region):OSS的数据中心所在物理位置。阿里云地域选择可以遵循就近原则,优先选择更靠近用户群的地域节点。个人网盘使用者小浩居住在杭州,地域优先选择“华东1(杭州)” 。
3. 对象(Object):对象是OSS存储数据的基本单元,也被称为OSS的文件。在个人网盘场景中,Object为存放在对象存储OSS Bucket中的照片文件、文本文件、视频文件等。
4. 读写权限:通过Bucket ACL权限列表与权限描述,小浩设置Bucket ACL权限为私有,Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。
5. 访问域名(Endpoint):OSS对外服务的访问域名,Endpoint格式为:外网Endpoint是oss-{Region}.aliyuncs.com,内网Endpoint是oss-{Region}-internal.aliyuncs.com。通过OSS内网地址访问OSS资源时,不收取流量费用。个人网盘场景中ECS实例部署的网盘软件可以调用OSS内网Endpoint。
6. 访问密钥(Accesskey):简称AK,指的是访问身份验证中用到的AccessKeyId和AccessKeySecret。OSS通过使用AccessKeyId和AccessKeySecret对称加密的方法来验证某个请求的发送者身份,可通过控制台创建AccessKey,AccessKey的来源有:
Bucket的拥有者申请的AccessKey。
被Bucket的拥有者通过RAM授权给第三方请求者的AccessKey。
被Bucket的拥有者通过STS授权给第三方请求者的AccessKey。
了解Endpoint和Accesskey的概念后,在使用SDK或工具时,需要配置访问域名(Endpoint)和访问密钥(Accesskey)。
小浩掌握上述基础概念之后,对使用OSS的流程进行了总结:
创建Bucket时,登陆OSS控制台,根据实际业务需求选择离请求源最近的地域(可参见oss开服地域)。用户在通过SDK/工具操作访问oss资源时,需配置访问域名Endpoint和用来验证请求是否合法的AccessKey进行访问,如果验证成功,才能成功操作oss资源(可参考鉴权流程)。
小浩已经熟悉对象存储的基本概念,通过对象存储OSS控制台完成了Bucket的创建。接下来小浩想要探索一下对象存储OSS的常用功能,他梳理了使用OSS的常见场景。
创建存储空间:根据实际需求,创建不同类型的存储空间来存储不同的数据;
上传文件:上传文件到OSS前,必须先在阿里云的任意一个地域创建一个存储空间。创建存储空间后,您可以上传任意文件到该存储空间。有简单上传、分片上传、追加上传等方式;
列举文件:Object上传成功后,默认按照字母序排列。可以列举出当前Bucket的所有Object、指定前缀的Object、指定个数的Object等;
搜索文件:Object上传成功之后,可以通过搜索文件或者文件夹的方式进行搜索,快速查找目标文件;
分享文件:文件上传至存储空间后,您可以将文件URL分享给第三方,供其下载或预览;
下载文件:当文件(Object)上传至存储空间(Bucket)后,您可以将文件下载至浏览器默认路径或本地指定路径;
删除文件:可以一次删除单个或者多个文件、碎片等。您可以定期删除过期文件,节省您的存储空间。
小浩思考,如果还有其他同事想要一起参与文件上传和管理的工作,除了控制台之外,是否还有其他访问方式呢?
阿里云对象存储OSS提供了多种访问及操作OSS资源的方式:阿里云控制台、OSS提供的工具、OSS提供的SDK。如下所示:
控制台是什么
控制台什么时候用
更多详情信息可参考通过控制台访问OSS |
阿里云对象存储提供了多种数据管理工具,如ossutil、ossbrowser、ossfs、ossimport等。
更多详情信息可参考常用工具 |
阿里云对象存储提供了多种语言的SDK如Java、PHP、Python、Go等可以帮助您基于SDK快速业务的二次开发。 更多SDK信息请参考SDK |
通过以上几个课时的学习,小浩对阿里云云上存储产品类型和特性有了一定的了解。小浩需要使用云上资源搭建个人网盘。在搭建个人网盘前,小浩梳理了个人网盘的架构图:
个人网盘软件部署在ECS实例上,使用ECS实例公网IP对外提供个人网盘服务。
个人网盘软件后端存储使用对象存储OSS 。
小浩决定尝试以下两种方案:
通过ossbrowser创建Bucket
对Bucket进行文件上传、下载、分享等操作
搭建方案二:云服务器ECS+OSS,通过ECS安装Cloudreve提供网盘页面服务,对象存储OSS提供网盘存储服务。当您使用个人网盘时,访问部署cloudreve ECS的公网IP地址即可完成文件上传、下载、删除、分享等服务。
ECS安装cloudreve
- #通过workbench登陆已创建的ECS实例终端
- #下载cloudreve
-
- wget https://labfileapp.oss-cn-hangzhou.aliyuncs.com/cloudreve_3.3.1_linux_amd64.tar.gz
-
- #解压安装包
- tar -xzvf cloudreve_3.3.1_linux_amd64.tar.gz
- chmod +x ./cloudreve #授予其可执行权限
- ./cloudreve #运行
-
ECS安装ossfs
- #通过workbench登陆已创建的ECS实例终端
- #下载ossfs
- wget https://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos8.0_x86_64.rpm
-
- #安装ossfs
- yum install -y ./ossfs_1.80.6_centos8.0_x86_64.rpm
挂载oss Bucket
- #通过workbench登陆已创建的ECS实例终端
- #创建要挂载的目录
- mkdir oss
-
- #将Bucket挂载到指定目录oss 执行
- ossfs {您创建的Bucket} {上一步创建的目录 oss} -o url={访问的域名endpoint}
-
- #挂载成功后验证执行
- df -h
配置网盘
运行cloudreve
打开浏览器,访问http://<ECS公网地址>:5212,依次输入管理员账号和密码,单击登录。
cloudreve主界面右上角,单击管理面板进行配置存储策略和用户组
配置完成后,可以上传文件操作
通过控制台查看所配置的bucket的相关目录下是否有上传成功的文件
通过前面的工具ossfs 可以在您创建的云服务器实例上进行查看
也可以通过ossbrowser、ossutil或者SDK对文件进行查看操作,查看文件是否存在等
详细操作请点击练习实验进入沙箱实验练习。
至此,小浩已经熟悉了OSS的基础概念,掌握了OSS的常用功能和使用流程,他想继续学习一下文件存储NAS,并对比两者在使用上的区别。
基于前面对存储产品的学习,小浩已经了解到文件存储NAS是一个可大规模共享访问、弹性扩展的分布式文件系统,那如果用来作为公司的文件存储应用,该如何访问呢?文件存储有哪些使用的注意事项呢?在开始使用前,我们先一起学习一下文件存储的基础概念与功能特性。
基础概念
地域(Region):数据中心所在的物理位置,创建文件系统时指定,创建成功后不能更换地域,可以对同地域、跨地域或线下IDC的计算节点进行挂载访问
可用区:在同一地域内,电力和网络互相独立的物理区域。创建文件系统时指定,例如,华东1杭州可用区A、B
专有网络VPC:一种虚拟私有网络,VPC之间相互隔离,可以使用云企业网连通,拥有一个网络环境是计算节点访问NAS文件系统所需的前提条件
文件系统:存储文件的地方,通过计算节点挂载访问。以传统的目录树形式管理文件的数据和元数据。支持数百个计算节点同时访问,进行数据共享和高并发读写
挂载点:NAS文件系统在网络环境中的连接点,以域名形式出现,用以实现数据的传输
挂载:将计算节点与NAS文件系统相连接的操作。完成挂载后,计算节点可以访问NAS文件系统中的数据
文件存储NAS可支持上千台弹性计算ECS、容器服务ACK等计算节点共享访问。计算节点和NAS各模块的关系如下图所示:
产品规格:NAS提供了通用型、极速型、文件存储CPFS等存储类型,请根据自身业务负载和使用场景选择合适的存储类型,如何进行选择请参考选型
通用型NAS支持数据生命周期管理,开启生命周期管理后,可以根据其配置策略(如距最近访问14天以上)超过14天未访问的数据会自动实现以文件粒度的冷数据沉降到低频介质,以降低存储成本,详情可参考低频介质文档
权限组:用于配置通过不同挂载点访问文件系统的权限信息,包括授权IP地址、读写操作权限等
一个挂载点必须绑定且只能绑定一个权限组
一个权限组可以被多个挂载点绑定
默认权限组不允许编辑修改
NFS协议:计算节点挂载访问NAS文件系统时所使用的一种软件协议,Linux计算实例推荐选择NFS协议
SMB协议:计算节点挂载访问NAS文件系统时所使用的一种软件协议,Windows计算实例推荐选择SMB协议
POSIX接口:Linux操作系统用来访问文件的一套标准接口,可在应用程序中使用编程语言调用,实现对文件的各种操作
功能特性
文件存储NAS作为一个可共享访问、弹性扩展、高可靠、高性能的分布式文件系统,支持任意类型计算节点挂载访问,具有丰富的功能特性,包括:容量弹性可扩展、共享访问、丰富的协议兼容、安全控制与合规、加密、灵活的访问模式、数据传输以及数据备份等,详情可参考NAS产品文档-功能特性
文件存储NAS使用流程
小浩学习完文件存储的基础概念和功能特性之后,为了将NAS用于实际业务中,需要继续学习文件存储NAS的使用流程。
以下是使用NAS的初始化流程步骤:
首先我们通过登陆阿里云控制台找到NAS服务,查看我们是否已开通NAS服务
开通NAS服务之后,我们即可创建文件系统,在创建文件系统时可根据自身业务负载和场景需求选择地域、可用区、产品规格、协议类型(NFS、SMB)、vpc、回收站是否开通、生命周期管理等配置信息
我们在添加挂载点前,可以先创建权限组和规则(白名单机制,对不同的ip和网段授予不同访问权限),需注意默认权限组不允许修改编辑
文件系统创建完成之后,通过添加挂载点,然后完成文件系统挂载(使用ECS挂载、容器挂载、其它挂载场景),可通过控制台一键挂载、命令行挂载等
通用型NAS最多可以配置两个挂载点,极速型NAS只能配置一个挂载点
一个网络环境中仅需要一个挂载点即可被同网络环境下的数百个计算节点同时使用
文件系统挂载完成之后,可查询其挂载状态,对文件系统进行读写操作、也可将本地文件或其它存储设备上的文件迁移至文件系统
若后续不在需要使用文件系统且文件系统中数据已废弃时,可以卸载文件系统
以上为使用NAS的初始化流程,详情可参考官方文档
小浩学习了文件存储NAS的使用流程之后,想要动手实践一下,创建属于自己的文件系统,他该如何操作呢?下面以创建通用型NAS为示例(通过控制台创建其它类型文件系统的步骤类似)
说明
当计算节点和挂载点所属同一个交换机且该交换机与文件系统在同一可用区时,NAS的性能最优
通用型NAS支持跨可用区挂载;极速型NAS推荐在同可用区挂载
挂载完成后可在ECS实例终端对文件系统进行读写操作
步骤
登录NAS控制台
在概览页面,单击创建通用型NAS
在创建通用型NAS面板,配置文件系统相关信息,如下三张图所示
单击立即购买,完成文件系统的创建
步骤
登录NAS控制台
单击文件系统-->文件系统列表,在列表中查看文件系统是否创建完成
至此,小浩已经创建了属于自己的文件系统,他需要把该文件系统挂载到他的计算实例上,于是他继续研究控制台如何实现ECS挂载文件系统:
步骤
登录NAS控制台
在左侧导航栏,选择文件系统 > 文件系统列表
在页面上方,选择地域(您创建的文件系统所属的地域)
在文件系统列表页面,单击待挂载文件系统ID前的
图标
在挂载点列表,单击添加到ECS > 挂载
在挂载到ECS的对话框,配置如下挂载选项:
步骤
更多挂载访问方式,请参考NAS产品文档-挂载访问
在前面的课程学习中,小浩已通过实战创建了自己的文件系统,同时完成了ECS实例一键挂载文件系统,那如何将NAS用于实际业务中呢?如何基于ECS和文件存储NAS完成网盘的搭建呢?
本节,我们通过ECS部署OwnCloud和httpd(Apache Web服务器),后端存储挂载阿里云文件存储NAS,完成网盘的搭建,小浩通过ECS的公网IP访问网盘服务,即可完成文件的读写操作;网盘架构图示如下:
OwnCloud是一个开源免费的云存储项目,提供了网页界面和支持多平台的客户端(Windows、linux、MacOS、IOS、Android)使用,因其是基于PHP开发的云存储软件,需要PHP运行环境
httpd是一款Apache Web服务器,非常流行的开源软件项目,基于标准的 HTTP 网络协议提供的网页浏览服务,可运行在 Linux、UNIX、Windows 等多种操作系统平台,详情可参考httpd
操作步骤
阿里云服务器ECS
创建ECS实例
通过Workbench登陆ECS实例
执行相关Linux命令
OwnCloud:基于PHP开发的云存储软件,需要PHP运行环境,
下载并安装OwnCloud
配置OwnCloud工作环境
Apache:
需掌握其安装、启停、配置等命令
NAS文件系统挂载
实验中使用命令行挂载
详细的实验内容,请前往练习实验进行学习
至此,小浩已初步掌握了阿里云对象存储OSS和文件存储NAS的基础内容,并能通过OSS和NAS完成网盘的搭建,在使用过程中小浩发现使用云存储的诸多好处(无需安装运维,开通即用、按量付费等),也激发了小浩继续探索云存储的兴趣。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。