阿里云NAS文件存储部署方案详情和比照

  • 时间:2018-12-30 23:28 作者:云栖社区 来源:云栖社区 阅读:1430
  • 扫一扫,手机访问
摘要:更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloudNAS业务上云的背景作为国内最大的公有云厂商,阿里云为广大的个人客户、初创团队和企业提供了多种多样的公有云服务,包括弹性计算,数据库,存储和网络等。阿里云弹性伸缩,按需付费,无限容量,便捷使用等特性吸引了大量的用户

更多深度文章,请关注云计算频道:https://yq.aliyun.com/cloud

NAS业务上云的背景

作为国内最大的公有云厂商,阿里云为广大的个人客户、初创团队和企业提供了多种多样的公有云服务,包括弹性计算,数据库,存储和网络等。阿里云弹性伸缩,按需付费,无限容量,便捷使用等特性吸引了大量的用户把他们的应用以及服务部署到阿里云,其中就包括一部分部署NAS应用的用户,对于这些用户,面临的一个问题就是如何以最大的性价比来将原有的NAS应用部署到云上。本文详情了三种可能的部署方案,并比较了他们的优缺点,包括客户最关心的价格,性能以及扩展性等。

对于企业级NAS应用,大部分企业都会在IDC中部署图1(图片来源,EMC Isilon网站)所示的架构

阿里云NAS文件存储部署方案详情和比照

图1 基于本地服务器的NAS业务部署架构

图1中计算节点既可以是运行少量企业应用的服务器,也可以是简单的员工工作终端(PC,MAC等),而网络设施和存储节点则分别负责网络连通和支持NAS协议的文件存储,其中NAS存储节点,企业一般会选择专业存储厂商产品,比方EMC的Isilon, NetApp的FAS系列,华为的OceanStor系列等,这些产品提供了标准的文件访问协议NFS和CIFS/SMB,以及丰富的企业级存储服务,但价格也是不菲的,对于首次部署有比较高的门槛。

公有云提供了方便,快捷,弹性伸缩的业务部署能力,利用公有云厂商提供的产品,企业可以将图1的架构方便地迁移到云上。一般来说,业务的迁移有两种方案:1是整体搬迁,包括计算节点、存储节点和网络设施都会放到公有云上;2是计算节点不变,仅仅在云上部署并使用高可靠、高可用、弹性扩展的高性能文件存储。从中可见,不论是采用哪种方案,云上的高性能NAS存储都是业务顺利迁移的保证。对于NAS存储上云,企业一般有三种不同方案来实现:

1.公有云的NAS文件存储服务,比方阿里云的文件存储。

2.在公有云上自建文件存储服务,比方利用阿里云的ECS和云盘,利用操作系统的文件共享或者者基于少量开源的NAS软件。

3.使用软网关提供的文件存储服务,比方阿里云即将推出的软网关产品。

那么这三种云上的方案从架构、部署、运维、成本等方面分别都有什么特点呢?我们结合一个最简单的应用场景(服务器数据共享和日志共享)来进行少量分析,其中大部分分析同样也适用于其余少量NAS应用场景。

对于服务器数据共享和日志共享的应用,典型的部署方式就是把上文说的图1转换成公有云版本,如图2所示:

阿里云NAS文件存储部署方案详情和比照

图2 服务器数据和日志共享场景

对于Web服务器,或者者手机端APP的服务器,该架构中一般会部署多台ECS服务器来解决业务请求,完成客户生成数据(比方照片,音频,视频或者者少量运动类APP的特定数据)写入和读取,之所以使用多台ECS服务器是出于弹性扩容和负载均衡的考虑,这也对后台存储提出了多ECS共享数据的需求。对于后台存储的选择,该场景下用户一般都会使用文件存储,这是由于用户的软件大多是基于标准的文件访问接口(比方Posix或者者Windows API)开发的,对于这些标准的文件访问接口,文件存储天然就有这样的支持;而假如采用其余的存储方式,以最常见的对象存储或者者块存储为例的话,就会面临少量限制,比方使用对象存储的话需要对现有软件进行改造,来适配对象存储的SDK;而使用块存储的话本质上软件看到是一块硬盘,需要借助操作系统对其进行格式化(ext3, ext4,NTFS等),相对于文件存储和对象存储,这样的使用方式缺乏多ECS共享存储的能力。

NAS业务上云的三种方案

我们接下来就要分析的就是分别用前述的三种方案来实现图2中的“NAS共享文件存储”。

方案一:利用公有云的NAS文件存储服务

这是最直观也是最简单的方案,后台存储直接使用阿里云的文件存储服务,所有的ECS实例都可以同时挂载同一个文件系统来进行数据的共享,对于数据的访问,从最简单的文件读写锁的控制,文件和目录权限的控制,到整个服务的高可用,高可靠,弹性扩展,都可以完全由阿里云文件存储NAS托管。客户只要要完成如下三个简单步骤,就能完成图2中文件存储的部署:

1.创立文件系统,不需要显式指定文件系统容量,由于容量是随着客户的真实使用情况完全弹性扩展的。

2.为文件系统增加挂载点,支持VPC方式和经典网络方式。

3.在ECS上挂载文件系统,推荐的方式是在Linux服务器上使用NFS协议挂载文件系统,而在Windows服务器上使用CIFS/SMB协议挂载。

关于这三个步骤的图文示例可以参考这两个链接,从中可以看到,仅仅需要轻点几下鼠标,图2中的NAS文件存储部署就完成了!

创立文件系统和挂载点

挂载文件系统

方案二:在公有云上自建文件存储服务

这种方案下,客户需要自己搭建NAS文件存储服务,可以仅支持NFS或者者CIFS/SMB,也可以同时支持两种协议。一个典型的方式是如图3所示:

阿里云NAS文件存储部署方案详情和比照

图3: 用ECS+云盘来构建NAS存储服务

这种部署方式下,客户需要配置一台额外的ECS,以及配置一块云盘,将云盘格式化并挂载在ECS上,作为文件系统的存储,同时在ECS上客户还选择依赖于操作系统的支持,或者者自己部署支持NFS、CIFS/SMB的软件(一般是开源软件,也可以自己开发),把云盘上创立的文件系统通过NFS或者者CIFS/SMB输出给需要访问共享文件系统的其余ECS。

使用该方式有几个显著的缺陷:

1.容量的限制,云盘的单盘容量最大是32T,万一达到了这个限制,需要部署更多的云盘,而后使用相似LVM的方式管理多块盘,这需要客户对使用容量有一个明确的预期,而这却恰恰是很难的,客户把数据放在公有云上的一个重要起因就是看中公有云的弹性扩展功能,容量应该是按使用自动扩展,而且可以认为是无限扩展,而不应该是在业务部署之初就决定的!

2.为了适配自己的业务需求,客户往往需要自己部署运维开源NAS软件,并对软件进行少量修改和调优,这些都需要很大的技术积累!

3.单点故障问题,假如ECS上的NAS软件出了问题,比方程序出错重启,那么NAS服务在这段时间是中断的,并且,在一般情况下为处于性能的考虑,NAS软件会使用write-back的cache,那么当NAS软件意外重启时还有很大的几率出现数据丢失的情况发生;假如ECS本身出了故障,同样会有数据丢失的风险;更糟糕的是,假如ECS严重故障导致掉线,那么整个存储的访问都会瘫痪,对客户来说将是一场灾难!

4.性能无法线性扩展,体现在两个方面:

a)需要提前规划作为文件服务服务器的ECS的规格,假如一开始选择规格较低的ECS,当业务量增大时,文件服务器ECS的资源(CPU,内存等)都会成为性能瓶颈;而一开始就选择合适的ECS规格有将会面临诸多挑战:1. 初期部署价格过高;2. 无法精确预知未来的业务量和对ECS性能的需求。

b)不论是ECS还是云盘,都有带宽限制;在这种部署方式下,带宽的瓶颈往往发生在提供NFS和CIFS/SMB服务的ECS上,因为ECS虚拟网卡的内网带宽一般在几十至100MBps,这也意味着当多台ECS服务器访问共享文件系统是,总带宽会受限于这个值。

5.另外,采用这种方式,企业投入的成本会比如案1高很多(介绍可见后文的比照分析)

针对第3点和第4点,可以有两种处理方案:

a)部署多套ECS+云盘,以Active/Standby的方式提供NAS存储,此时需要把Active节点上的云盘内容实时同步到Standby节点的云盘上,否则在发生切换的时候会丢数据,另外客户还需要自己管理所有软件的HA功能。这样的改进可以处理单点故障问题,但仍然没法做到性能的线性扩展!

b)部署多套ECS+云盘,使用NAS软件的集群功能来以Active/Active的方式提供NAS存储,此时为了配合NAS软件的集群功能,需要在多个ECS间部署集群文件系统(比方LusterFS,GlusterFS等),来保证多ECS上NAS软件看到的一个单一命名空间的文件系统。这种方式下,对客户的技术积累有极高的要求,并且需要客户在业务的早期就对这方面进行仔细的考虑,并把系统设计成分布式文件系统+集群NAS的方式(否则未来会面临如何将本地文件系统平滑更新到分布式文件系统的困境),而假如这样做的话,对于前期的部署投入非常大,是非常不合算的!

方案三:使用软网关提供的文件存储服务

软网关的部署方式如图4所示,

阿里云NAS文件存储部署方案详情和比照

图4: 用软网关来构建NAS存储服务

该方案和方案二非常相似,主要不同之处在于:

1.用软网关产品替换ECS+NAS软件,帮客户省掉了对NAS软件运维的投入,客户仅需要购买软网关,并将其部署在ECS上就可。

2.后台存储从云盘切换到了OSS对象存储,降低了成本,并去除了存储容量不能弹性扩容限制。

可见,方案三处理了方案二中前两个痛点,但对于后面几个痛点,包括单点故障问题,横向扩展的限制等,方案三从架构上和方案二还是一样的。另外,值得一提的是,

  • 对于网络带宽,由于软网关和前台ECS服务器以及后台OSS存储都是走的同一块虚拟网卡,那么在网关Cache Miss的情况下,从前台ECS访问软网关的带宽理论上也只能达到虚拟网卡带宽的一半。

  • 因为软网管对于NAS数据的缓存功能(数据先存储在软网关,定时同步到后台),当发生时ECS宕机时,会有数据丢失的概率。因而尽管OSS能提供10个9的数据可靠度,但方案三的整体数据可靠性会大打折扣。

三种方案的价格和性能比照

以上探讨了三种方案功能上的差异,以下让我们从客户最关心的性价比,来比照一下这三个方案。

方案一的成本完全在于存储:

阿里云NAS提供了性能型(全SSD存储)和容量型(SSD和SATA混合存储)两种方案,取决于客户对于访问性能的要求,客户可以选择两者之一。

两种类型NAS形态的性能和价格比照如下表所示:

性能型容量型
最大容量1PB10PB
性能-最大IOPS10K+10K+
访问时延ms级ms级
性能-最大带宽0.04MB/s * 文件系统存储空间(GB) + 60MB/s0.02MB/s * 文件系统存储空间(GB) + 30MB/s
价格(每GB每月)1.2~2元0.3~0.55元

表1:性能型NAS和容量型NAS比照

方案二的成本由ECS和云盘两者组成:

阿里云的云盘也分为多种,容量和性能如下表所示。

块存储类型SSD 云盘高效云盘普通云盘
单盘最大容量32768GB32768GB2000GB
单盘最大IOPS200003000数百
单盘最大吞吐量256MBps80MBps20~40MBps
性能计算公式IOPS=min{30*容量,20000} 吞吐量=min{50+0.5*容量,256}MBpsIOPS=min{1000+6*容量,3000}吞吐量=min{50+0.1*容量,80}MBps不适用
访问时延0.5 - 2ms1 - 3ms5 - 10ms
价格(每GB每月)1.0元0.35元0.3元

表2:不同类型云盘比照

显然普通云盘的性能不适合我们这边探讨的场景,我们只会考虑SSD云盘和高效云盘这两种情况。

另外对于ECS的选型,阿里云提供了很多种型号供选择,由于在NAS场景下文件缓存对于性能有比较大的影响,我们选择内存型ECS中中档的ecs.e3.large(4核32GB内存)来作为文件服务器。

此外,采用这种方案,客户需要自己管理NAS的运维,在比较中我们假设对运维人员的投入是每年50000元(一个普通运维工程师的收入应该远高于这个数字)。

方案三的成本由ECS、软网关以及OSS三者组成。比照中,ECS选择了和方案二中相同的ecs.e3.large(4核32GB内存)型号;因为软网关目前还没有官方报价,我们这里假设其为50000元每年; OSS是对存储量和数据请求量同时收费的,对于数据请求,我们假设经过软网关对于NAS数据读写缓存,每TB到达OSS的请求是50次每秒(对于典型的NAS应用,因为大量小文件的存在,这个IOPS的预计还是相当保守的)。

图5和图6显示了不同方案部署方式下的成本和文件系统最大访问带宽的比照。

阿里云NAS文件存储部署方案详情和比照

图5 三种NAS部署方案一年总体拥有成本(TCO)比照

阿里云NAS文件存储部署方案详情和比照

图6 三种NAS部署方案最大带宽比照

从图5和图6中可以看出:

1.价格方面,

i.方案一整体要好于方案二(性能型比照SSD云盘,容量型比照高效云盘)。

ii.和方案三相比,在容量小于10TB容量的情况下,直接使用阿里云NAS的方案,不论是性能型还是容量型,都具备显著的优势;在容量小于100TB情况下,容量型NAS仍然具备优势,直到容量接近1PB的情况下,使用方案三才会与容量型NAS有差不多的价格。

2.最大访问带宽方面,因为方案二和方案三都会受限于ECS虚拟网卡的带宽(100MBps),而直接使用阿里云NAS的方案支持完全横向扩展,具备显著的优势,尤其是在容量增大的情况下。

总结

最后,让我们以对这三个方案的多维度比照来做一个总结,如表3。

阿里云 NASECS + 云盘 + 开源NAS软件软网关 + OSS
NAS协议支持NFS3、NFS4SMB2、SMB3取决于开源NAS软件NFS和SMB具体协议取决于网关的能力
高可用完全横向扩展,多机头Active不支持不支持
高可靠10个9可靠度数据可靠性低当ECS出现故障时,会有数据丢失的风险数据可靠性低当软网关出现故障时,会有数据丢失的风险
容量上限10PB(容量型)1PB(性能型)32TB*云盘数理论上无上限
支持容量横向扩展的能力YNY
访问延时毫秒级依赖于ECS性能,可以达到毫秒级网关cache miss:几十毫秒级;网关cache hit:毫秒级(部分依赖于ECS性能)
访问带宽最高2GBps受限于ECS网卡带宽100MBps受限于ECS网卡带宽100MBps
支持性能横向扩展的能力YNN
客户NAS运维开销
成本高在数据量达到PB级时才和容量型NAS相当

表3:NAS部署方案综合比照

从中可以看到,从多方面(功能,性能和价格)综合考虑,使用阿里云NAS文件存储是企业NAS业务上云的最好选择。

参考文献:

1.阿里云文件存储 https://www.aliyun.com/product/nas

2.初探阿里云存储网关 https://yq.aliyun.com/articles/72714?spm=5176.100239.0.0.wieqpt

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
【系统环境|】ZORRO佐罗软件安装教程及一键新机使用方法详细简介(2023-02-10 21:56)
【系统环境|】阿里云 centos 云盘扩容命令(2023-01-10 16:35)
【系统环境|】补单系统搭建补单源码搭建(2022-05-18 11:35)
【系统环境|服务器应用】高端显卡再度登上热搜,竟然是因为“断崖式”的降价(2022-04-12 19:47)
手机二维码手机访问领取大礼包
返回顶部