【编者按】
今天看到一篇很棒的文章,来源于张君迟发布在 VMware 中文博客https://blogs.vmware.com/china/ 上的文章。
另外,我还做了一些补充,争取使得这一话题的讨论更为全面。总结一下,在云计算的趋势下,许多场景中,数据流动性其实比数据本地性更重要。
---开始---
“数据本地性到底对超融合系统的性能有多大影响?” —— 这是客户经常会提出疑问。这篇文章为此做一些分析探讨。
什么是数据本地性(Data Locality)
VM所需要的数据(存储)的拷贝总是存放在VM所在的主机。基本的出发点是:通过只访问本地主机,避免跨网络访问其他主机获取数据,从而能够提升应用本身的性能。然而,我们提出的结论是,在快速发展的更加敏捷的IT基础架构之下,基于更高性能的存储设备,高速网络,所谓的数据本地性的需求其实是成为了一个新的局限。
数据本地性的适用和非适用场景
总体而言,数据本地性是一个有用的特性,特别是在广域网或在互联网的环境中。比如,在一个跨数据中心站点的双活延伸集群架构下,数据本地性可以保证本地站点的应用不用跨广域网访问远程的站点,这时候,数据本地性的特性是很有必要的。
然而,不是所有场景都需要数据本地性:
数据本地性仅适用于读取的操作。写操作通常不具备这个特性,因为一份数据通常需要存放到不同的主机,从而支撑高可用。
即使是读,数据本地性对于读取操作性能的提升,也只是在第二次以后的读才有帮助。因为彼时尚未将数据复制到虚机所在的物理主机。我们还需要注意的是,数据本地性的代价也不小,因为需要额外的CPU、内存和网络开销去完成数据的复制,有时这些开销会影响到正在运行的业务负载。
基于RAID的系统需要网络访问。如果超融合系统使用纠删码去条带化数据到不同的主机(又称RAID),那么网络访问去重新读取这些条带化后的数据是必须的。这使数据本地性也没有必要。
网络延迟正在持续降低。如今的交换网络比2年前都更快,资源消耗更小。万兆网络已经普通采用,从10G过渡到25G,甚至40G网络,这也意味着跨网络的IO读取操作所带来的额外延迟可以几乎忽略不计。
通过下表,你会发现网络延迟远比你想象的小。而且无论是SAS SSD,还是NVMe SSD,其读延迟是万兆网络交换机的几十倍甚至上百倍。这意味着在当前主流使用的SSD中,跨网络读取不会成为瓶颈,产生的延迟几乎可以忽略不计。
DeepStorage作为第三方机构对Data Locality的适用性做了具体的测试工作,结论是类似的。原文请考:
http://www.deepstorage.net/NEW/wp-content/uploads/2017/07/Locality-paper-b.pdf
未来如何管理数据
应用和负载在扩展性和运行环境方面都变得更具流动性,不是单一和静态的。数据不会,也不应该跟某些物理资源做简单的绑定,否则的话会使得IT在走向分布式,超融合、边缘计算或混合云场景下变得更加艰难。企业IT正走向混合云部署,拥抱云原生应用或基于容器的应用。vMotion,DRS,IaaS和云端扩容成为更加主流的技术。
数据和应用的流动性的本质意味着,存储系统将应用和特定主机绑定的做法是相违背的。当VM或数据需要移动的时候,数据本地性所带来的性能的好处不复存在,相反,应用性能在迁移的过程中,会反而被本地性特性影响,性能变得不稳定和不可预料。这有点像数据一直在追着应用跑,很难想象这是一个更合适的环境。
以下是一个订单系统的VM部署在vSAN上进行的vMotion性能测试,测试此VM在没有数据本地性的情况下,对于性能的影响。可以看到,vSAN在不考虑数据本地性的时候,不管VM在被动或主动迁移到不同物理主机的时候,都能够提供非常一致的性能表现。从业务角度看,这意味着稳定的订单接受能力,不受IT基础架构变化的影响。
图1 - vSAN 在vMotion时性能表现平稳
对应于数据本地性(Data Locality),我们将vSAN的这个设计思路总结成“数据无处不在”(Data Ubiquity),它充分反映了当前数据和应用本身的流动性趋势,保证数据访问的一致性体验,独立于物理情况的限制。客户需要数据具备更高的可用性,更方便的稳定地运行系统。IT管理人员从而能够更自由、灵活和敏捷地运维IT生产系统,不用为了某些数据的物理限制导致在运维中降低应用的稳定性和性能。
上图是vSAN的所做vMotion的表现。下面我们可以看到另外一家HCI产品,在启用了数据本地性后,vMotion后反而导致了业务负载的性能下降了30%。继而,在虚机迁回原来的主机后,业务负载又下降了15%以上。
图2 - 另一HCI在开启数据本地性后,vMotion时业务负载性能下降
下图不仅可以看出vMotion前后,不同HCI产品的性能稳定性,也能看出同等硬件配置下性能的差异。
图3 - vSAN与另一HCI在同等硬件配置下订单系统测试中的性能对比
数据安全
安全是客户的重要诉求。数据本地性有时候被用来解释成保护数据的某种手段和方法,所谓“你能够知道数据在哪儿”的直白说法。再仔细一想,其实应用本身会移动,数据也经常被备份或用来灾备,真实情况是,用户其实很难保障那份数据真的存放在哪儿。所以就安全的角度去看,使用数据加密才是真正保障数据安全的解决方案,而并不是用数据本地性去套用。
【补充和延伸阅读】
vSAN 6.6的发布使得vSAN成为全球首个支持原生加密技术的HCI产品。可以保护关键数据免遭不利访问。vSAN 加密具有硬件独立性并简化了密钥管理,因而可降低成本并提高灵活性。不再要求部署特定的自加密驱动器 (SED)。vSAN 加密还支持双因素身份验证(SecurID 和 CAC),因而能够很好地保证合规性;另外,它还是首个采用 DISA 批准的 STIG 的 HCI 解决方案。
关于vSAN 6.6的详情(含原生加密HCI的介绍)可以参考:vSAN 6.6十大特性的文档和视频
HCI交付数据无处不在
随着业务变化越来越快,IT解决方案需要以一致甚至更敏捷的方式去响应业务的需求,去创新。IT需要寻求更一致统一的基础架构平台去满足性能、扩展和运维各方面的需要,来避免IT孤岛、整合应用负载。VMware vSAN提供了非常适合混合工作负载的Data Ubiquity,跨云(边缘到核心到公共云),跨应用程序(传统到云本机应用程序)和跨故障域(群集到延伸群集到可用区)。
英文原文链接:https://blogs.vmware.com/virtualblocks/2017/11/21/new-architectures-challenge-traditional-views-data-locality/
---转载结束---
微信公众号平台"乐生活与爱IT"在目前阶段,主要是分享软件定义存储(SDS),及VMware VSAN相关的文章,偶尔也会分享虚拟化、云计算、大数据,甚至生活类的好文章。欢迎投稿,特别是原创文章,我的QQ号:9269216。
投稿一经采用并发布,获得的赞赏收入,作者可获得60%。投稿可微信私信我,或者通过QQ号 9269216联系我。
欢迎对SDS感兴趣的朋友,加入软件定义存储讨论 QQ群:122295009,可下载原创的一些文章,及其他有参考价值的文档。可直接搜索群号,或者扫描如下二维码:
同时,欢迎您加入 "开放讨论群-SDS&虚拟化" 微信群,并邀请其他对SDS和虚拟化感兴趣的朋友加入此微信群。可以通过添加如下管理员之一的微信号,建议添加管理员时,告知你的公司名和姓名,方便备注保存。
sdg8848
libo9538
yangzhuan
dts0103
欢迎您通过扫描关注微信公众号:“乐生活与爱IT”。
关注后,可以通过点击左下角的“文章目录”,通过输入三位数(记住!是三位数,目前第一位是0或者1)详细了解如何查看历史文章。
点击左下角“阅读原文”,可以看到《超融合:到底是Data Locality还是Data Ubiquity》的英文原文。