大家好,我是社区技术顾问“SANGFOR_45083”,深信服基础架构解决方案专家,擅长虚拟化、存储,受管理员所邀参与社区【技术圆桌】话题发起人活动,与大家一起探讨分布式存储及应用相关知识,欢迎对分布式存储感兴趣的朋友关注我,进行回帖交流,一起分享经验和传播新知!
技术圆桌讨论分三个模块,大致流程如下: 第1模块: 新手扫盲---由我简单讲解下储存基础知识; 第2模块:话题讨论---大家可以就相关话题或结合深信服产品实际应用开展话题讨论; 第3模块:提问解答---如你想了解更多有关存储方面的技术问题,欢迎回帖提问,我会尽我所知一一回复大家。
上两期【技术圆桌】,大家就路由协议相关知识进行了交流探讨,讨论热烈收到非常多有参考价值的优秀提问与回复,本期讨论主题我们就存储话题进行圆桌讨论,希望大家积极回帖补充,畅所欲言! 我们只聊技术,优秀提问和回帖讨论者,社区管理员说可以获得丰厚的奖励哦~哈哈!下面我们就一起进入主题吧!
进入正题:
从传统存储开始吧。
我们印象中,或者说市场流传着的是把存储分为三类: 1、DAS(Direct-Attached Storage):直连式存储 2、NAS(Network-Attached Storage):网络接入存储,也有人叫网络附加存储 3、SAN(Storage Area Network):存储区域网
但其实最开始不是这么分类的,而且这种分类方法也有问题,也适应不了现如今存储技术的发展,单纯按照原始定义来看,其实NAS也应该包括SAN,但这就涉及到很多问题了,我们就按照市面上的认知先来解释下:
1、DAS强调一个词叫“本地”,服务器本地的磁盘、阵列,本子上的硬盘 2、SAN存储本质上也是块设备,是裸盘,通过存储网络挂载给主机,只不过存储端没有文件系统,所以服务器挂载后,需要将其初始化成服务器的文件系统(或其他文件系统)才可以被服务器使用 3、SAN和NAS本质上强调的是文件系统的位置,NAS的文件系统是在存储本身上的,SAN的文件系统还是在挂载SAN存储的服务器上的,所以计算资源的位置是不同的,可以简单参考下面的图: SAN(块存储)
NAS(文件存储)
SAN和NAS的产生就是为了解决传统DAS的痛点,SAN和NAS严格来说都算是“存储网络”,存储网络的特点就是: 1、统一性强,具备统一管理的能力 2、扩容方便,弹性较高 3、存储共享
由于存储网络有多种传统DAS所实现不了的优势,所以现在市面上使用的大多都是这种“存储网络”的形式,只不过根据用处和使用场景的不同,又分为SAN和NAS: 由于SAN和NAS的文件系统的位置不同,所以导致它们的使用场景不同,NAS由于自带文件系统,所以非常利于文件共享(但不是说SAN就无法共享,现在很多虚拟化的集群环境如超融合和桌面云,都可以使用集群本事的一致性机制,来共享使用SAN存储的);目前SAN通常用于大型集群环境和数据库环境(强调裸盘接入,接入后需要初始化化成服务器的文件系统才可使用)
很多人认为SAN的速度较快,但撇开价格不谈,只从技术角度来说,现阶段的SAN和NAS其实在速度上已经没有特别明显的差异了,以前的NAS可能还局限于网络带宽,但如今以太网高速发展,带宽已经远远不是问题了。
SAN又可以细分为FC-SAN和IP-SAN,在以太网发展缓慢的年代,FC-SAN是主流,是指以FC交换机来构建存储网络;到后面以太网接口和传输规格不断提升,人们使用scsi协议承载在TCP/IP网络中,也就是“iscsi协议”。
NAS的话比较杂,很多存储都可以称为NAS,典型的就是共享文件夹;在windows上是用的CIFS协议访问的共享文件夹,在Linux/Unix平台使用的是NFS协议;当然也可以在windows上使用NFS协议来访问NAS,但是需要在windows上安装个NFS模块,起个转换的作用,但这种方式使用起来不太稳定,不保证使用效果。
上面说了很多,但感觉还是有很多内容值得一说,不过还是要回到主题:分布式存储。
分布式存储和我们日常用的分布式集群的区别又在哪里呢?其实区别不大,网络发展的趋势如此,避免单点性,硬件逻辑逐渐转换为软件逻辑。
就像我们最初从hub开始,后面有二层交换机,然后三层,再到后来网络中设备的要求越来越高,对处理数据的能力要求也随之提高,于是有了更高层次的交换机,像各个厂商的负载均衡和防火墙设备,那其实本质上就是个7层交换机,因为需要处理7层的数据;对数据处理的能力达到一定程度后,就有了新的想法:冗余,所以开始慢慢有了堆叠技术,像cisco又从堆叠技术开始衍生出了更加高端的私有冗余协议......所以当性能差不多的时候,可靠性就成了需要重点关注的地方。
当分布式存储刚出来时,有一个很严重的问题需要面对,就是客户要测试分布式存储和传统DAS存储的性能来做对比,我在PC或者服务器本地的磁盘上做复制拷贝操作,复制拷贝大文件,很快;但是当我在分布式存储上复制拷贝大文件的时候,速度就不如传统存储;问题就是分布式存储的复制拷贝操作有时需要经过外置的网络,因为你是几台主机组成的分布式集群,数据的同步肯定是需要网络的参与的,这种情况下网络的传输速度肯定是不如传统DAS的直连式传输......所以当可靠性满足的差不多的时候,性能又成为了需要重点关注的地方。
所以性能和可靠性,相互纠缠,不断伴随着存储行业的发展,我们可以不断提升产品的性能,也可以提升可靠性(无论是冷备、热备、主备还是双活)。
严格来看传统存储和分布式存储单从存储类型上没有变化,都是块存储(SAN)、文件存储(NAS)和对象存储(一种新型的存储架构,有兴趣的小伙伴可以评论区留言讨论);只是存储内部的同步交互方式、冗余策略、可靠性策略、可扩展性有了不同(涉及多台服务器之间的存储同步交互),和传统存储不同的是这里面就还涉及到数据一致性的问题,以及对外提供存储服务的不同协议对接、性能组件优化、底层落盘的优化。这些都是需要分布式存储的厂商重点关注的。
想想可以分享交流的内容不是很多......因为分布式存储的关键其实是在交互协议和内部对接组件的设计,以及数据一致性协议的设计和优化,但这都属于内部的私有协议,市面上的也只推荐重点看下gfs,但是也不需要理解的很深。我们可以简单来说下冗余策略,目前深信服的分布式存储产品支持的冗余策略有:二副本、三副本和EC。
副本大家应该比较清楚,在虚拟化的环境中很多厂商都会有副本的存储策略。重点说下EC。
EC是指Erasure Code,纠删码,是一种软件层面的冗余协议,比较常用的是EC4+2,可以简单理解成:一共6块盘,其中任意两块盘故障,都可以保证数据不丢失。
这和RAID5很像,但是区别非常大: 1、首先RAID是需要借助底层硬件的,需要RAID卡,EC不需要 2、RAID的冗余方式不能跨主机,只能做到单台主机内的磁盘冗余,而EC可以针对整个集群做冗余策略算法 3、RAID的方式需要准备热备盘,否则无法在故障发生后进行数据校验恢复,但EC是只要存储还有空间就可以做数据恢复,且不需要指定单独的盘作为热备盘,全局热备 4、EC方式的数据恢复效率较高(同上,全局热备,全局都参与数据恢复) 5、......
也有很多东西没有提到,大家有任何问题的话欢迎大家在评论区留言,我们交流一波~
【讨论话题】 1、你认为传统的SAN NAS存储的局限性在哪里? 2、分布式存储的优势在哪里? 如您有其他疑问或想了解更多存储知识,欢迎回帖提问补充! 如果你是存储方面的行家里手,亦或是你对存储很感兴趣,欢迎大家从技术的层面上对以上问题进行探讨。 【讨论时间】 2020年1月14日---2020年1月25日 23:59
【奖品设置】 1、基础回帖奖:凡有效回帖者可获得20S豆奖励;(凡有效提问并获得话题发起人回复者可额外获20S豆奖励) 2、参与幸运奖:本帖设置1000S豆回帖奖励,每次回复有机会获得20S豆; 3、最佳回复奖:参与本话题讨论,由话题发起人根据回复准确性评选出1位最佳回复者,赠送《大话储存》热门学习书籍一本;
本期优秀回复用户:清风慕竹 ,恭喜获得以上实物奖励!
【回帖规则】 1、回帖需主题相关且为个人原创,如回复无实质性或非原创内容,管理员将判定为灌水,进行删除处理。 2、如恶意抄袭,以不良手段获取礼品行为,一经发现取消获奖资格,并对账号进行1月以上禁言警示。 3、以上多重奖励可叠加发放,可盖楼回复但每个帖子回帖仅奖励一次,活动结束后将进行统一发放。
|