买球平台





技术人生系列——传统集中式存储与云化分布式存储解析

日期:2021-01-21

作者简介:杨学斌,现担任中亦安图资深架构师。专注于IT数据中心建设23年,15年以上全球领先IT企业工作经历,8年以上专职构架师。精于IT基础构架设计,多次参与金融、电信、大型制造业数据中心的整体规划设计与实施工作。

 

文章梗概:本文通过分析基于分布式构架的云存储与传统集中式存储在外部接口与内部构架上的区别,阐述各自的优势以及适用场景,为基础构架设计中存储搭建提供设计选择依据。

 

关键词:分(fen)布式(shi)存储;集中式(shi)存储; FC-SANIP-SAN
 

图片

作者:买球平台资深架构师  杨(yang)学斌(bin)

 

在我的(de)(de)视(shi)野里,2010后存储世界只有两个(ge)革命性(xing)的(de)(de)技术进步(bu),一个(ge)是SSD的(de)(de)广泛使用导致单盘IOPS的(de)(de)大(da)幅(fu)度提(ti)升,另一个(ge)是单盘容量越(yue)来(lai)越(yue)大(da)。

 

这两(liang)项技术的(de)广(guang)泛应用领导(dao)了最近十年(nian)存储(chu)的(de)演进与发展。于(yu)是大家看到(dao)了今天的(de)存储(chu)世界(jie)和十年(nian)前最明显的(de)两(liang)大区(qu)别:

 

●高端集中(zhong)式存储(chu)的没落(luo)。

●软件(jian)定义的分布式存储(SDS)广泛应(ying)用(yong)于客(ke)户的数(shu)据中心。

 

但是(shi),凡事两面看。基于(yu)当前主流大众性商业客户应用对(dui)于(yu)IT基础构架的需求,我们(men)并不同意很(hen)多厂家所倡(chang)导(dao)的数据中(zhong)心(xin)基础构架全面软件化(SDDC——软件定义(yi)的数据中(zhong)心(xin))。其中(zhong)一个关键的技术(shu)点就是(shi)通用分布(bu)式存储(chu)解决方案相(xiang)对(dui)于(yu)传统的FC集中(zhong)存储(chu),依然有很(hen)大的性能差距。

 

本文从存储设计(ji)构架出发,探讨(tao)集中式存储和分布式存储的(de)构架区别,以探求不(bu)同(tong)产品(pin)的(de)不(bu)同(tong)应用场景(jing)。

 

一.数据存储评估的几个关键点

 

 1>数据(ju)存(cun)储方(fang)式(shi)

     无论是(shi)文件,还是(shi)数(shu)据库(ku)里(li)使用的裸(luo)设备,我们日常使用的数(shu)据都是(shi)通(tong)过某(mou)种方式(shi)存(cun)储在(zai)磁盘里(li)的。我们最早接(jie)触的数(shu)据放在(zai)本地的硬盘里(li),也就是(shi)以文件的形式(shi)存(cun)储。

 

     在外置存储世界,常见的存储(chu)(chu)方(fang)式有(you)两种(zhong)。一(yi)种(zhong)是数据存储(chu)(chu)以FC(或者(zhe)iSCSI)协议连接到外置的块(kuai)存储(chu)(chu)设备。操作系统只是将其(qi)认(ren)作普(pu)通硬盘加以管(guan)理(li)它,并不知道(dao)这(zhei)块(kuai)硬盘是外置存储(chu)(chu)的一(yi)块(kuai)逻辑空间。另一种是数据存储以NFS(或者CIFS)网络文件访问协议连接到外置的文件存储设备。从操作系统访问看,它是一个目录,并不知道这个目录是在远程存储设备上。

 

     还有一种我(wo)们(men)常见的文件访问方式,就是(shi)文件异地(di)服(fu)务。典型的是(shi)我(wo)们(men)从上大学就在(zai)用的FTP。但是(shi)ftp并不是(shi)NAS,我(wo)们(men)处(chu)(chu)理ftp文件,需要先(xian)下载到(dao)(dao)本地(di),经(jing)过处(chu)(chu)理后(hou)再重新上传到(dao)(dao)ftp server上。而(er)NAS的文件处(chu)(chu)理是(shi)直(zhi)接可以在(zai)NAS server上完(wan)成的。

 

     随着互联网的(de)发展,最近很(hen)多商(shang)业客户开始(shi)使(shi)用对(dui)象存储(chu)协议,以(yi)满足更大(da)容量以(yi)及云应用对(dui)接的(de)业务(wu)需求。本(ben)质上对(dui)象存储(chu)的(de)方式和(he)以(yi)前(qian)的(de)FTP是(shi)比较相近的(de),但是(shi)使(shi)用的(de)协议是(shi)完全不同(tong)的(de)。

 

 

2>不同的数据存储访问需要不同的存储性能

     在当今的企(qi)业(ye)应用(yong)中,外置块(kuai)数据(ju)访(fang)问已经至少使用(yong)了20多年(nian)(nian)了。从(cong)早期的高(gao)性能(neng)(neng)OLTP数据(ju)库到近(jin)些年(nian)(nian)的虚拟机(ji)映(ying)像(xiang)和(he)实例,是我(wo)们最常用(yong)的高(gao)性能(neng)(neng)数据(ju)访(fang)问方式。

 

     网(wang)络(luo)(luo)文件访(fang)问(wen)(wen)同样常用(yong)。无论是搭建(jian)文件服务(wu)器,还是使用(yong)专业NAS产品,理论上都是在访(fang)问(wen)(wen)网(wang)络(luo)(luo)中另一个位置的(de)文件。最常见(jian)的(de)就是windows的(de)网(wang)上邻居和linux的(de)NFS了。

 

     对象存(cun)储是(shi)最近几年(nian)随着客户非结构化数据快速增(zeng)长而开始广泛(fan)使(shi)用的(de)第三(san)种方式。本质上和我们企业以前使(shi)用的(de)FTP区别不大,但是(shi)与公(gong)有云存(cun)储的(de)无缝对接(jie)和远距离大文件(jian)访问性能使(shi)得其快速推(tui)广。

 

     无论什么样的访问,对于存储的需(xu)求无非容量(liang)和性能(neng)两(liang)个维度。容量(liang)大家都懂(dong),性能(neng)我(wo)们通常考虑(lv)以下三个因素(su):

 

IOPS:在固定的数据块大小限定下,每秒读写次数

 

Throughput:吞吐量

 

Latency:每次读写平均需要的时间。要注意的是,我们不能只看一段时间内平均响应时间,更要看读写响应时间的差异以及最高读写响应时间。通常在传统集中式存储时代不被重视的指标在全SSD磁盘存储和分布式存储中都变得非常有意义

 

     针对(dui)不同存储场景的(de)性能需(xu)求,我们使用了下图总结:

 

图片

 

由上(shang)图我们可以(yi)总(zong)结出:

 

●小容量高(gao)性能存储需求场景下FC存储仍然(ran)是第一选择。

 

●大(da)容量低性(xing)能存(cun)储(chu)需求场(chang)景下对象(xiang)存(cun)储(chu)有(you)其(qi)特(te)有(you)的优势。

 

●文件(jian)访(fang)(fang)(fang)问是(shi)一个中间(jian)阶段,越(yue)(yue)是(shi)高频小文件(jian)的访(fang)(fang)(fang)问越(yue)(yue)推(tui)荐集(ji)中式NAS,越(yue)(yue)是(shi)大文件(jian)低频访(fang)(fang)(fang)问越(yue)(yue)倾向于使用分布式NAS存储。这里有一点(dian)特别要注意(yi)的是(shi)文件(jian)备份(fen)(fen)问题(ti),集(ji)中式NAS可以通过NDMP协议快速备份(fen)(fen)大量小文件(jian)。但是(shi)分布式存储由于自身构架问题(ti),似乎看不到性能(neng)相当的解决(jue)方案。

 

     我们(men)日(ri)常工作(zuo)可以参考上表并根据自己(ji)的(de)需求来选择采购使用存储。

 

 

二、集中式存储(chu)(chu)与分布式存储(chu)(chu)在(zai)块(kuai)存储(chu)(chu)环(huan)境下性能差异分析

 

     当前(qian)在(zai)对象存储(chu)上使(shi)(shi)用(yong)分(fen)布(bu)式(shi)基(ji)本(ben)上已(yi)(yi)经没有(you)争议。无(wu)论(lun)是开源还是商业(ye)软(ruan)件(jian),均已(yi)(yi)经使(shi)(shi)用(yong)分(fen)布(bu)式(shi)构架。但是在(zai)块(kuai)存储(chu)和(he)高端NAS上,存储(chu)是否应该全面软(ruan)件(jian)化,存在(zai)比较(jiao)大(da)的争议。

 

     支持分(fen)布(bu)(bu)式(shi)的(de)主要是(shi)一(yi)些云厂(chang)商。由于集中式(shi)存储的(de)封闭(bi)性,很难像分(fen)布(bu)(bu)式(shi)存储那样可以完美(mei)的(de)和私有云(超(chao)融(rong)合)配(pei)合完成(cheng)工作。每(mei)个私有云和超(chao)融(rong)合厂(chang)家几乎都有自(zi)研技术的(de)分(fen)布(bu)(bu)式(shi)存储软件,就连开源云平台(tai)openstack首选也是(shi)CEPH,可见趋势之明显。

 

     但是(shi)实(shi)际(ji)很多(duo)客户(hu)却只在外围应用(yong)集(ji)群使用(yong)分布式存储,而在核心数据(ju)层还(hai)是(shi)集(ji)中存储的天下。笔(bi)者认(ren)为这种现状是(shi)由(you)于(yu):

 

●集(ji)中式(shi)存(cun)储可提供(gong)的(de)容量完全可以满足行式(shi)数据库和中小规模虚(xu)拟化集(ji)群的(de)需(xu)求。

 

●集中式存储当前可以提供的高性能(neng)仍然(ran)是领先(xian)的。目前最好的分布(bu)式存储可提供的性能(neng)都是对(dui)集群的,而对(dui)单一数据(ju)库/虚(xu)拟机(ji)还是相(xiang)对(dui)比较有(you)限。

 

     以(yi)下通过不同存储构架的(de)特点阐述两种类型存储的(de)差异。

 

   1>存(cun)储网络连接差异

     在20多年前,服务(wu)器(qi)(qi)访问外部存(cun)储通(tong)常是通(tong)过SCSI线(xian)。后来有了专(zhuan)用的(de)存(cun)储网络,服务(wu)器(qi)(qi)和存(cun)储都是通(tong)过专(zhuan)用存(cun)储网络连接(jie)到(dao)服务(wu)器(qi)(qi)。这种(zhong)模式沿用至今。

 

     早期我(wo)们使用(yong)的(de)专用(yong)的(de)FC-SAN网(wang)络,不仅成(cheng)本高昂,而(er)且需要专用(yong)的(de)管理软(ruan)件(jian),很难融(rong)入(ru)整(zheng)体运(yun)维。而(er)且SAN网(wang)络极其关键,SAN网(wang)络崩(beng)塌造成(cheng)的(de)后(hou)果必然是(shi)客户大量生(sheng)产业务停止。成(cheng)为运(yun)维管理的(de)一个老大难。

 

     近年(nian)来(lai)分布(bu)式(shi)云(yun)存储考(kao)虑到易用性(xing)以及廉(lian)价(jia),往往使用万(wan)兆以太网作为(wei)存储网络来(lai)替代(dai)以前的FC-SAN网络。

 

     但(dan)是(shi),IP-SAN网络毕竟(jing)是(shi)基于TCP/IP运行。TCP/IP网络为了保证数(shu)据(ju)(ju)可完整的送达到世界上任何一个(ge)接入点,必然在数(shu)据(ju)(ju)传输(shu)中(zhong)增(zeng)加了大量的防错措施,导致数(shu)据(ju)(ju)传输(shu)效率下(xia)降。

 

     理论上FC-SAN是把存(cun)储(chu)SCSI协议跑在光纤上,而IP-SAN则是把数据(ju)访问通(tong)过以(yi)太网络传输完(wan)成。

 

     具体比较可(ke)参(can)考下表:

图片

 

2>数据写入性能差异

     集中(zhong)式存储(chu)组成(cheng)分为前端(duan)和后(hou)端(duan),前端(duan)由双控(kong)制器(qi)(qi)或(huo)者(zhe)多(duo)控(kong)制器(qi)(qi)组成(cheng),后(hou)端(duan)由一组一组的磁(ci)盘构(gou)成(cheng)。

 

     一个(ge)重要的(de)(de)技(ji)术(shu)点就是服务器写(xie)入存储(chu)时,写(xie)到(dao)前端控制器里的(de)(de)cache就已经(jing)认为写(xie)完(wan)成(cheng)。准(zhun)确的(de)(de)是说写(xie)在内(nei)(nei)存中(zhong)就算(suan)完(wan)成(cheng)了。所以集(ji)中(zhong)式存储(chu)可以有很高的(de)(de)写(xie)效率。写(xie)在内(nei)(nei)存是不(bu)是很危险?是的(de)(de),但是集(ji)中(zhong)式存储(chu)使用两个(ge)技(ji)术(shu)来保证写(xie)入cache的(de)(de)不(bu)会丢失。

 

     为了应对(dui)控(kong)制器(qi)失(shi)败(bai),通(tong)常集中式存储(chu)至少有(you)两个(ge)控(kong)制器(qi)。在我(wo)们写入(ru)一个(ge)控(kong)制器(qi)的(de)cache时(shi)候,控(kong)制器(qi)会自动(dong)把数据通(tong)过高速专用总线写入(ru)另一个(ge)控(kong)制器(qi)。以保证控(kong)制器(qi)失(shi)败(bai)切换的(de)时(shi)候数据不(bu)会丢失(shi)。

 

     集中式存储通常会配(pei)置(zhi)电池,就是(shi)为了在发生(sheng)意外断电的(de)时(shi)(shi)候,可以提(ti)供足够(gou)的(de)电能(neng),把(ba)cache中的(de)数据(ju)写入硬盘或者某个临时(shi)(shi)空(kong)间(jian)。

 

     分布(bu)式(shi)存储由于节(jie)(jie)点(dian)之(zhi)间没有高速通信(xin)通路(lu),在(zai)数(shu)据(ju)写入一个(ge)节(jie)(jie)点(dian)时(shi),需要(yao)通过以太网同步写入另(ling)一个(ge)节(jie)(jie)点(dian),以保证数(shu)据(ju)的安全(quan)。

 

     分布式存储通常使(shi)用(yong)标准的(de)X86服务器作为硬(ying)件,通常使(shi)用(yong)SSD内置硬(ying)盘作为缓存,服务器通过以太网(wang)将数据写入SSD硬(ying)盘即算完(wan)成写入过程。

 

     以上两种不同(tong)的(de)写(xie)入方式会导致两种存储在写(xie)入延时(shi)产生十倍以上的(de)差(cha)异。尽管分布式存储也可以在某些测试环(huan)境下(xia)给出(chu)比较高的(de)IOPS,但是在OLTP数据库环(huan)境下(xia),还是首选高效(xiao)的(de)集中式存储。

 

 

三、分布式存储构架(jia)对于性(xing)能的影响

 

     不(bu)同的分布式存储(chu)构(gou)架(jia)也会(hui)导(dao)致(zhi)不(bu)同的性能和扩展性,主要体现(xian)在元数据(ju)的存储(chu)位置。

 

     下面(mian)我们(men)以(yi)最常(chang)见的(de)两种分(fen)布(bu)式(shi)存储举例。

 

     HDFS文件系统的name node和data node 是分开(kai)的,通常需要先访问name node得到数(shu)据(ju)(ju)存储位置,再去data node读(du)写数(shu)据(ju)(ju)。如下图所(suo)示(shi):

图片

 

     另一(yi)种(zhong)(zhong)方式是(shi)元(yuan)(yuan)数(shu)据(ju)(ju)(ju)和(he)数(shu)据(ju)(ju)(ju)物理混(hun)用,这(zhei)种(zhong)(zhong)结构最大(da)的(de)优(you)势(shi)是(shi)所需要(yao)存取(qu)的(de)数(shu)据(ju)(ju)(ju)和(he)元(yuan)(yuan)数(shu)据(ju)(ju)(ju)有可(ke)能(neng)在(zai)同(tong)一(yi)台服务(wu)器上,从而减小(xiao)了(le)数(shu)据(ju)(ju)(ju)存储(chu)路径。但是(shi)随着集(ji)群数(shu)量的(de)增加,元(yuan)(yuan)数(shu)据(ju)(ju)(ju)应该设置几份呢?如果包含元(yuan)(yuan)数(shu)据(ju)(ju)(ju)的(de)服务(wu)器脱离集(ji)群,是(shi)否需要(yao)马上在(zai)其它节(jie)点(dian)上复制(zhi)一(yi)份元(yuan)(yuan)数(shu)据(ju)(ju)(ju)?每个软(ruan)件各不相同(tong),但是(shi)原理是(shi)一(yi)样的(de)。下面(mian)是(shi)IBM的(de)GPFS软(ruan)件读写过(guo)程(cheng),可(ke)做参考(kao)。

图片

 

     通过两种方式的对(dui)比,可以(yi)看出元数(shu)(shu)据单(dan)独存储(chu)(chu)通常可以(yi)提高容量,但是速度更慢,更适(shi)合文件和对(dui)象存储(chu)(chu)。元数(shu)(shu)据混放可以(yi)提高数(shu)(shu)据存储(chu)(chu)速度,更适(shi)合块存储(chu)(chu)。

 

 

四(si)、结语

 

图片

 

     构架在FC-SAN上传统的(de)(de)集(ji)(ji)中(zhong)(zhong)式存储,以高性能(neng),高稳定性的(de)(de)特点仍然(ran)是企业级用户(hu)核心业务的(de)(de)首选。但是由(you)于其封闭(bi)的(de)(de)技术,较高的(de)(de)成本(ben),扩(kuo)展性差以及SAN网络本(ben)身的(de)(de)运(yun)维成本(ben),更多的(de)(de)客户(hu)也开始在部(bu)分环境中(zhong)(zhong)使用分布式存储取代集(ji)(ji)中(zhong)(zhong)式存储。


     分(fen)布式存储通(tong)常(chang)使(shi)用开(kai)源或(huo)者商业软件(jian),硬(ying)件(jian)使(shi)用标(biao)准X86服(fu)务(wu)器(qi),理(li)论上有较高的(de)(de)(de)性(xing)价(jia)比,容量和性(xing)能(neng)可按需增长(zhang)配(pei)置,可更好的(de)(de)(de)接受(shou)云(yun)系统的(de)(de)(de)管理(li)和调(diao)度(du)。但(dan)是,除(chu)了在(zai)性(xing)能(neng)上的(de)(de)(de)差距(ju),多副本机(ji)制导致(zhi)的(de)(de)(de)磁盘(pan)利用率大幅下(xia)降,也是影(ying)响成本的(de)(de)(de)重要(yao)因素(su)。   

 

     我的(de)(de)(de)每篇文章(zhang)结论都是一样的(de)(de)(de)。世上从没有一个完美的(de)(de)(de)产品(pin),只有更加适合客户(hu)需求的(de)(de)(de)产品(pin)。我们(men)理(li)解每个产品(pin)的(de)(de)(de)优势和不足(zu),是为了更好(hao)的(de)(de)(de)选(xuan)择应用场景(jing)。

 

 


锻造凝炼IT服务 助推用户事业发展
地址:北京市西城区百万庄大街11号粮科大厦3层
电话:(010)58523737
传真:(010)58523739