精华内容
下载资源
问答
  • 重新定义软件定义安全

    千次阅读 2018-06-06 16:14:28
    软件定义一切!就在5月25日,华为在以“‘依’网打尽,防患未然”为主题的2018华为网络安全中国行系列活动中,带来了全新定义的SDSec(软件定义安全)。之所以冠以“全新定义”,是因为华为定义的SDSec,与通常意义...

    软件定义一切!

    就在5月25日,华为在以“‘依’网打尽,防患未然”为主题的2018华为网络安全中国行系列活动中,带来了全新定义的SDSec(软件定义安全)。

    之所以冠以“全新定义”,是因为华为定义的SDSec,与通常意义理解上的SDSec有很大不同,华为的SDSec不仅仅是局限在云环境下的资源调度和策略管理,而是在所有的场景下,用软件定义的方式把网络及安全的网元、安全功能模块系统地的协同起来,并通过定义接口与执行,让所有的安全能力形成真正的联动。华为SDSec安全解决方案依托于该SDSec软件定义安全架构,将智能化的分析器、控制器与执行器三层网元协同起来,形成闭环的主动网络防御体系。首次引入动态行为机器学习和Hypervisor动态行为检测技术的第三代沙箱,做到以99.5%的准确率识别恶意文件;对全网可疑数据进行按需采集,精准定位威胁并自动处置;通过网络与安全深度协同、全局策略自动化管理,实现基于业务的智能安全策略的仿真与调优。

    四大本领重新定义SDSec

    华为SDSec拥有四大本领,这也保证了华为SDSec能够在所有场景下用软件定义的方式管理企业网络安全。

    火眼金睛

    火眼金睛,大家肯定不陌生,孙悟空通过这项本领可以轻松的看出化成人形的各种妖魔鬼怪。而华为SDSec火眼金睛的本领同样可以轻松识别出伪装成正常文件的恶意攻击文件,而且识别准确率可高达99.5%。

    如此高的恶意文件识别率依赖于华为的第三代沙箱。华为的第三代沙箱具有两个特征,首先,这是一个是基于动态行为的机器学习技术的沙箱,其次,它是基于虚拟化层的监控技术的沙箱。

    所谓基于动态行为的机器学习沙箱,是指这个沙箱是通过机器学习、人工智能等技术创建。至于基于虚拟化层的行为监控是指,第三代沙箱的监控是在操作系统之下的虚拟层,之所以这样做,是因为传统的沙箱是基于操作系统层,在操作系统层做监控,虽然攻击被发现的几率很低,但还是有可能被发现。但是在虚拟化层,操作系统之下,攻击者将很难感知被监控。这样,它就无法轻易掩饰自己的攻击本质,因此,基于华为的第三代沙箱技术以及华为安全团队快速的迭代的能力,是高效识别恶意攻击文件的关键。

    全民皆兵

    华为SDSec可以把网络设备发展成保障网络安全的摄像头和民兵。通过分析网络设备根据需要上传的流量和数据,华为SDSec可以分析出相关的攻击流量。另一方面,华为SDSec可以根据分析器的决策,通过安全控制器与SDN控制器的配合,迅速对相关网络设备进行控制,防止攻击在整个网络蔓延。这实际上就不仅仅是把安全的功能网元,还把网络设备也变成了系统的“民兵”。

    而实现这些需要依赖一些技术。首先是SDN的技术,因为需要在网络设备上定义相关行为,要定义设备给系统提供什么样的数据,华为在这方面很擅长。其次,需要网络设备是可编程的。而华为路由器、交换机等网络设备,由于使用了华为自研的ENP芯片,因此具备这种可编程能力。

    天罗地网

    天罗地网为华为首创,它来自于最近几年特别流行的一个技术——Deception,即“欺骗防御”或者“诱捕陷阱”、“诱捕网络”,它是指在网络里布一个陷阱,黑客进来或者蠕虫扩散的时候就会落到该陷阱中。华为结合网络的优势,特别是网络编程方面的优势,在交换机产品上把诱捕的陷阱内嵌了进去,这就使得整个网络都变成了陷阱,陷阱无处不在,变成了天罗地网。这样就可以很容易的准确识别攻击行为,并结合相关的分析,最终能够捕获攻击。

    运筹帷幄

    最后一个技能是运筹帷幄。所谓运筹帷幄,是指对全局的策略进行管理和优化,因为系统的每一个动作都不仅仅只是要指挥防火墙,终端的安全,还要指挥网络的网元做相应的联动。因此,随着管理规模的增大,管理难度就会越来越大。而通过华为SecoManager安全控制器,将会有效的指挥网络中各网元之间的联动,大大降低大规模网络的安全管理复杂度。另一方面依托于华为在安全标准上的地位,华为联合众多合作伙伴加入安全联盟,共同加入SDSec大框架,并形成相互之间的联动。

    携手用户 共建美好安全未来

    华为SDSec正式对外实际上是在去年的华为全联接大会,但当时只是一个雏形。但经过半年多的时间,华为SDSec通过和众多客户的沟通和交流,已经有了非常具体的解决方案架构和众多丰富的应用场景。

    华为SDSec安全解决方案是一个三层的架构,上面是分析器,中间是控制器,最下面是执行器。分析器可以理解成是一个大脑,控制器是中枢神经,执行器可以理解成五官和四肢。分析器负责做分析和决策。这三层架构是一个智能化、自动化的闭环体系,能够通过不同的三层网元之间的协同,真正帮助客户构建一个主动防御的体系。
    

    华为网络安全领域总经理宋端智表示,“华为在网络安全上的持续投入会给国内安全行业带来新的变化。华为SDSec安全解决方案在智能化、自动化方面的优势,可以改变当前行业很多人只重视合规却轻视实效,重视事后应急、轻视事前预防和事中处置的这类不合理现状。”

    面向未来,华为将继续积极主动构建网络安全能力,并用网络安全为客户和社会创造价值,帮助企业构建智能的主动防御体系,共建美好安全未来!
    展开全文
  • 软件定义安全的一点点理解

    千次阅读 2019-01-15 10:39:17
    文章内容部分来源绿盟的《软件定义下的新型安全架构和实践》、《软件定义安全》以及《软件定义安全:SDN/NFV新型网络的安全揭秘》这本书。 1.SDN/NFV 软件定义网络(SDN),是网络一种新型网络创新架构,是网络...

    万事开头难,中间也难,最后也难。第一次写博客,内容、排版都不太好,请见谅。文章内容部分来源绿盟的《软件定义下的新型安全架构和实践》、《软件定义安全》以及《软件定义安全:SDN/NFV新型网络的安全揭秘》这本书。

    1.SDN/NFV

    软件定义网络(SDN),是网络一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。

    SDN侧重于将设备层面的控制模块分离出来,简化底层设备,进行集中控制,底层设备仅仅只负责数据的转发。目的在于降低网络管理的复杂度、协议部署的成本以及网络创新

    SDN架构具有以下特点:

      1.控制平面与数据平面相互分离;

      2.智能和状态在逻辑上集中;

      3.开放接口;

    网络功能虚拟化(NFV),通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。

    SDN关注的是网络流量调度,NFV关注的是网络资源管理。SDNNFV是可以相互独立存在的,据相关研究表明,二者结合起来的效果更优。

    2.SDN/NFV环境中的安全问题

    NFVSDN、开源、网络转型,无疑是这两年电信业的热词。不少运营商正进入兴奋的验证阶段。

    然而,传统网络设备虽然是“黑匣子”解决方案,但这样的好处是安全。SDN/NFV虽灵活、敏捷、低成本,但这种基于开源软件和白盒硬件的网络构架,伴随而来的还有敞开的漏洞和不可忽视的安全问题。

    一旦网络开放,如果安全问题处理不好,我们固若金汤的通信网络可能就会像这次感染勒索病毒一样,漏洞被攻击,且不断传播、感染。

    SDN 虽然带来了很多好处,但在安全方面, 也带来了新的特有的安全威胁。

    架构安全:

    控制层面的安全威胁:管理集中性使得网络配置、网络服务访问控制、网络安全服务部署等都集中在SDN控制器上。攻击者一旦实现对控制器的控制,将造成网络服务的大面积瘫痪,影响控制器覆盖的整个范围。由于SDN网络的可编程性、开放性,SDN控制器安全防护的重要性远大于传统网络中网管系统的安全。所以围绕控制器的攻防是SDN自身体系安全中最关键的节点。

    例如,在OpenFlow交换机流表中不存在的初始流信息将通过集中的控制器进行处理,虽然控制器可能并不是某次分布式拒绝服务攻击的直接目标,但大量的初始流量将使控制器的负载急剧上升;攻击者向控制器发送多个服务请求并且所有请求的返回地址都是伪造的直到控制器因过载而拒绝提供服务。

    应用层面的安全威胁:可编程性使控制器向应用层提供大量的可编程接口,这个层面上可能会带来很多安全威胁。例如,向应用层的应用中植入蠕虫木马程序等达到窃取网络信息更改网络配置占用网络资源等目的,从而干扰控制面的正常工作进程影响网络的可靠性和可用性;利用某些接口实现拒绝服务攻击、进行网络窃听等。

    数据平面的安全威胁:攻击者通过直接侵入交换机,用虚假信息填满流表,导致交换机产生“流表满”错误,增大流结束超时时间,增加恶性攻击成功的几率。这种攻击方法对交换机的输入缓存也是有效的,当前OpenFlow协议对交换机输入缓存设置了最小数率控制,当包到达速率超过控制门限时,也表现出丢包。

    开放性也给SDN带来很多安全隐患:安全和网络的应用插件都具备一定的规则写入权限, 随着应用的复杂化,多个应用之间会出现安全规则冲突,从而造成网络管理混乱、安全规则被绕过、服务中断等现象; 第三方应用或插件可能带有恶意功能、未声明功能、安全漏洞等多种风险。

    OpenFlow协议安全

    §1.信息泄露:嗅探出控制器与交换机的信息,特别是流表信息。

    §2.非法接入与协议传输安全问题

    §3.连接建立的安全问题

    §4.action动作处理的安全问题

    针对 SDN 引入的新安全威胁,相应的防护建议策略包括但不限于以下几个方面:

    §1.在控制器层面,在控制器入口处部署流量清洗设备,防止大规模流量攻击造成拒绝服务;使用分布式多控制器方案,当某一台控制器受到攻击或者发生故障,马上自动选择其他控制器代替其功能,使得网络不会因为控制器故障而产生大面积瘫痪; 部署安全代理,由于控制策略都是应用程序实现的,对应用程序进行漏洞检测和安全加固,可以在一定程度上缓解控制器安全问题;制定一系列严密的授权、访问控制、安全管理等规则赋予使用者一定的管理权限。

    §2.在应用层层面,制定一系列安全准入规则,对应用提供的服务以及需要控制器提供的接口等进行鉴定,负责任的应用才允许成为SDN中合法的应用;利用可编程接口针对目前存在的安全威胁,利用已有的技术对安全威胁进行监控和排除;应用软件认证机制,例如自信任管理方法确保交换机的 安全。

    §3.其他层面的,设计实现安全服务和网络服务之间、安全服务之间等接口的安全标准;慎重开放 API接口,开放之前做好安全分析;设计精巧的算法及优先级政策,以避免安全策略冲突或被绕过。

    同样的,NFV也带来了新的特有的安全威胁:

    §1.OpenStack的安全隐患:OpenStackNFV的标准构建模块,它应用于创建开源的云或数据中心平台。它假定OpenStack控制器和计算节点位于同一网络,且距离甚近可一旦应用到庞大的电信NFV网络中,计算节点在核心网之外,运营商不得不妥协折中,放宽控制器和计算节点间的安全规则,这就带来了安全风险。

    所有的OpenStack控制器需运行专用协议,且必须在防火墙配置规则来管理流。在某些情况下,必须在防火墙打开多个pinholes(针孔),OpenStack才能工作。英国BT对企业网虚拟化的测试显示,为了使计算节点工作,其不得不在防火墙为控制器打开500多个pinholes。显然,在这种构架下,安全是一个问题。OpenStack目前表面上看起来还安全,不排除有规模化的因素,一旦电信网络大量采用,规模庞大,难保喜欢搞事的攻击者们不认真研究一番。

    §2.软件在攻击面前不堪一击:尽管传统电信设备功能单一,但采用专用ASIC,可实现高性能处理且运行稳定,尤其在网络高峰期能经受考验,坚挺而可靠。NFV现在要把传统电信设备的一些物理功能软件化,并将这些软件运行于通用的CPU之上。问题来了。一些物理功能被软件代替,这些软件在网络负载增加时,相对更加脆弱,尤其在受到DoSDDoS攻击时,网络负荷狂增,难说不会不堪一击。

    §3.控制面开放且可远程操作很危险:NFV将控制面从设备分离,并抽取出来,整个主机都可以通过外部控制器来进行编程,这为那些黑客提供了机会。另外,我们说网络转型要以用户为中心,要实现终端用户的自助服务,这一切需用户通过一个公共的外部网站或平台来实现。当用户自助修改功能时,需求通过外部网络传送到NFV编排器,这就意味着,在外网和运营商内网之间为终端用户打开了一条控制网络的通道。可怕的是,这个“用户”也可能是个不怀好意的黑客,他可以通过漏洞或pinhole发起攻击

    §4.恶意软件可以在虚拟机和主机间快速传播:NFV讲的是虚拟化,计算要虚拟化,存储要虚拟化,网络要虚拟化。它利用虚拟化软件Hypervisor将物理服务器和软件功能分开,运行不同操作系统的各种虚拟机运行于物理服务器上。通俗的讲,传统的电信设备的物理功能变成了通用服务器,这些服务器运行于虚拟化环境。每一个主机上运行一个虚拟化网络,并与整个网络连接。这种运行于虚拟环境下的主机遍布网络,从数据中心到基站,到客户驻地。这样,由于虚拟机是经常被实例化的软件(打开和关闭),一旦受到攻击,病毒就可能从一个虚拟机传播到另一个,或从一个主机上的虚拟机传播到其它主机上,最终蔓延整个网络。为此,每个主机运行的虚拟化网络,都必须被单独监视和保护。以前高高的防护围墙,现在要细化到一个个封闭的格子间。

    3.传统安全面临巨大的挑战

    传统安全面临巨大的挑战:IT系统变革及安全威胁的挑战。

    IT环境变化:虚拟化、自动化、软件化、互联网化。

    安全威胁的挑战:

    网络环境变化所带来的新的安全威胁

    安全机制是否适应软件化、虚拟化环境

    安全策略是否能够及时、正确地跟随环境迁移

    互联网上的安全事件不减反增

    Mirai,乌克兰电力门,RansomewareSwift系统$8100w盗窃,OpenSSLStruct 2……

    4.百家论

    (1)自适应安全

    不再假设防护能实现万无一失的安全

    更强调检测和响应的能力

    更重要的是将这四个步骤有机的进行编排,实现针对不同攻击的动态防御

    (2)应用编排

    PhantomRSAC 2016创新沙盒Winner从应用层入手,构建自动化、可编排的安全应用体系支持多种数据源和主流的SIEM平台;同时,可以让安全管理团队编写脚本Playbook,调用相应的安全服务,实现安全运维自动化

    Resilient System:被IBM收购,推出弹性的灾难恢复服务

    编排引擎可以软件定义安全为支撑体系,利用北向应用编排机制进行安全资源和策略的灵活调配,实现多种防护手段的协同运作

    (3)零信任/微分段

    Google BeyondCorp

    §彻底打破内外网之别,通过统一的访问控制引擎,管理不同用户对不同资源的访问,而不将用户和资源的位置作为决策依据

    Skyport Systems

    §基于TPM的虚拟化零信任访问控制体系

    CSA SDP

    §面向企业关键基础设施的集中访问控制体系

    VMWare Micro-Segmentation

    §虚拟化环境中的东西向内部网络访问控制

    5.软件定义安全

    软件定义安全理念:

    连接协同有机结合多种安全机制,实现协同防护、检测和响应;

    敏捷处置在出现异常时进行智能化的判断和决策,自动化地产生安全策略,并通过安全平台快速分发到具有安全能力的防护主体;

    随需而变当安全事件爆出后,攻击者的攻击方法更新很快,那么就要求防护者能紧跟甚至超过攻击者,以快制快,在数据泄露的窗口期内阻止攻击者。

    软件定义安全是从软件定义网络引申而来,原理是将物理及虚拟的网络安全设备与其接入模式、部署方式、实现功能进行了解耦,底层抽象为安全资源池里的资源,顶层统一通过软件编程的方式进行智能化、自动化的业务编排和管理,以完成相应的安全功能,从而实现一种灵活的安全防护。

    安全机制软件化

    接口开放、易扩展

    架构功能分离

    软件定义安全的特点是:开放生态环境、数据平面和控制平面分离、可编程的安全能力、与网络环境解耦。

    软件定义架构:

     安全资源层:由各种物理形态或虚拟形态的网络安全设备组成,兼容各厂商的产品。这些安全设备接受统一部署、管理、调度,以实现相应的安全功能。

     转发层:即SDN网络中的网络设施层是一类仅需根据控制器指令进行数据包转发,而无需自主的理解和处理各种网络协议的网络交换设备。将网络安全设备接入转发层,通过将流量导入或绕过安全设备,即可实现安全设备的部署和撤销。

     控制层:能够根据不同业务的安全策略,从全局的视野对转发层、安全资源进行集中管理并下发调度命令。

     管理编排层:由侧重于安全方面的应用组成,将用户配置的或运行中实时产生的安全功能需求转化为具体的安全资源调度策略,并通过控制层予以下发,实现安全防护的智能化、自动化、服务化。

    6.软件定义安全应用在云环境的落地困境

    实现价值:

    §1.纵深防御的安全体系:基于安全域部署相应的防护措施,实现纵深防御,满足云计算平台的安全保障要求。

    §2.模块化架构可灵活扩展:根据应用场景和需求的不同,选择和部署相应的安全资源、系统功能模块、安全应用。

    §3.横向(东西)流量的防护:通过部署虚拟化的安全资源池和流量引导技术,可以实现牵引东西向流量到安全资源池内做检测和防护。

    §4.满足等保合规要求通过构建安全监测、识别、防护、审计和响应的综合安全能力,保障云计算资源和服务的安全,确保符合等级保护的要求。

    难点:

    §1.安全产品的虚拟化及适配云平台Hypervisor较为困难

    §2.安全设备的证书体系在云平台中不能直接适用

    §3.安全方案无法控制云平台的内部流量

    资源池:打通最后一环

    1种逻辑结构=n种物理形态资源池化

     多种形态的安全设备通过池化形成一个个安全资源池

     资源池按需提供安全能力

     安全资源池与其他基础设施一起构建SDx

       

     

     

     

     

     

     

     

    展开全文
  • 结合当下的人工智能热潮,梅宏教授认为我们正在进入一个软件定义的时代。软件定义的技术本质是把原先一体化的硬件设施打破,将基础硬件虚拟化并提供标准化的基本功能,然后通过管控软件,控制其基本功能,提供更开放...

    结合当下的人工智能热潮,梅宏教授认为我们正在进入一个软件定义的时代。软件定义的技术本质是把原先一体化的硬件设施打破,将基础硬件虚拟化并提供标准化的基本功能,然后通过管控软件,控制其基本功能,提供更开放、灵活、智能的管控服务。

    他从软件从业者的视角,将计算机软件发展历程分为三个阶段,并分别总结概括了各个阶段的大体体征以及应用领域。

    1. 第一个阶段是1946—1975年,软硬一体化阶段;
    2. 第二个阶段是1975年以后,软件的产品化、产业化阶段;
    3. 第三个阶段是1995年以后,软件的网络化、服务化阶段。

    结合当下的人工智能热潮,梅宏教授认为我们正在进入一个软件定义的时代。软件定义的技术本质是把原先一体化的硬件设施打破,将基础硬件虚拟化并提供标准化的基本功能,然后通过管控软件,控制其基本功能,提供更开放、灵活、智能的管控服务。

    他认为软件技术是新一轮制造业革命的核心竞争力之一。智能制造业需要实现“硬件”、知识和工艺流程的软件化,进而实现软件的平台化,本质上即“软件定义”。

    报告中除了回顾了软件技术的发展,梅宏教授还从操作系统的视角来理解软件定义的本质和内涵:硬件资源虚拟化、管理功能可编程。最后,梅宏教授也展望了软件定义的未来,他认为在人-机-物融合计算的场景下,万物皆可互联、一切均可编程、进而分析了软件定义的带来的机遇和挑战。

    软件定义一切,人-机-物互联就是软件人的机遇。软件定义的挑战是什么?梅宏教授认为是体系结构设计决策,系统安全,系统质量以及如何更轻量的虚拟化,还有怎样打造高度自适应的软件平台。

    以下是梅宏教授的会场实录。

    感谢大会给的这个机会!近几年中,我在不同的场合也做了很多不同的报告,但是这几年都是被动地被拉去讲大数据,后来想想,差点把自己的主业忘了。现在软件很重要,我们每天的生活都离不开软件,可能大多数人每天早上起床的第一件事儿就是打开某个APP。所以我今年给自己订了一个小目标,但凡有机会做报告,我就只讲软件,也是为本行业的人呼吁一下,所以我今天讲的题目很大,软件定义一切。

    无处不在的软件

    “软件定义一切”并不是我说的,我要是这么说可能把咱们今天在座的很多同行都给得罪了。我是想借这个题目讲一讲软件的三个阶段。第一个题目我想大家都认可,软件已经无处不在,第二个题目是软件定义的时代。我们正在进入一个新的时代,刚刚过去的十九大讲是中华民族复兴的时代,我是从信息技术对人类社会的改造这个角度来谈这个新时代,不同的人从不同的角度也给了这个时代不同的赋名。

    从基础设施视角来看,这是一个互联网+时代;从计算模式视角来看,这是一个云计算时代;从信息资源视角来看,这是一个大数据时代;从信息应用视角来看,这是智能化时代。我想说在这些里面有一项很重要的技术,那就是软件。某种意义上来说,我们这个时代就是一个软件定义的时代。

    软件产业呈持续增长态势。从国内来看,国家工信部公布的2012年到2016年的五年数据中,软件和信息技术服务业始终保持高增长,在电子信息行业的比重也在不断上升。2008年金融危机开始以后,很多行业都在下滑,而信息技术行业还在保持增长,而软件行业的增长又是远远高于信息技术其他的比重。

    从国际上来看,全球有19个国家软件支出占国内生产总值的比重超过0.5%,其中美国已经超过1%。这个产业规模一直在保持增长。第二个软件从业的人数,2014年全球ICT技术工人约为2900万人,其中专业软件开发人员约1100万人。国家工信部给出的近五年数据中,软件从业人数也在逐年增长,2016年达到576万人。但如果换一个视角,从开源社区来看,比如程序员经常去的一个软件问答网站stack overflow,注册3200万人,其中超过2500万人是多次访问。再比如CSDN,注册用户达2500万,活跃用户超过800万。

    它们普遍都要比工信部公布的数据高,这说明和软件相关的从业人数有很多。

    回顾过去计算机软件发展,我认为大概可以分为三个阶段。第一个是1946到1975中期,是软硬一体化阶段。第二个是1975年以后,软件产品化、产业化阶段;第三个是1995年以后,软件的网络化、服务化阶段。

    我想讲一讲这三个阶段的大体特征。在软硬一体化阶段,也就是计算机刚出现的时候,是没有软件的,都是以程序实现的,大体上展现方式的是机器语言,汇编语言。早期应用领域以破解密码,军事领域的计算为主。60年代初期,开始出现“软件”一词,融合程序和文档为一体,作为独立的形态从硬件分离出来,以IBM 360系列机为代表(尽管还是和硬件捆版一起销售),也逐渐形成了计算机学科和程序员行业。它的展性形式是高级程序语言+文档,应用领域主要是商业计算和其他科学计算领域。

    软件产品化、产业化阶段,以Microsoft和Oracle的出现,标志着软件开始成为一个独立产业。PC的广泛应用和软件产品化催生了人类历史上信息化的第一波浪潮,其主要特征即以单机应用为特征的数字化阶段。紧接着就出现了办公软件,彻底改变了人类传统的办公行为,微软office迄今依然是微软标志性产品之一。九十年代中期开始 ,软件进入网络化,服务化阶段。互联网推动了软件从单机向网络计算环境的延伸,带来了信息化的第二波浪潮 ,其基本特征是以联网应用为特征的网络化阶段。

    做软件的人总是希望把互联网作为平台,来研究软件。软件的形式也因互联网发生变化,形态从传统的拷贝行为变为软件服务,等到后期移动互联网的产生,促成APP的诞生,整个软件模式都发生了变化。应用领域已经渗透到社会经济生活中的方方面面。

    互联网环境下软件呈现新特性和新特征

    我们中国学者自己定义一个词:网构软件。指的就是面向互联网计算的软件新范型。这些新范型是什么,总结有几个性质,实体的自主性,实体对环境的情景感知,实体之间的自主协同,实体的在线演化,以及可信性需求。简单来说,软件呈现网络化体系结构,基于网络进行开发,通过网络交付分发并提供服务,这就是软件的服务化。

    软件和硬件相比,同样都作为功能性产品,但软件这种工具和互联网结合就能够实现一种真正的服务化。紧接着移动互联网的产生,又产生了一种新的模式,这就是APP。苹果商店拥有300万+个APP,累计下载量超过1500亿次。这个时候创造了一种新的模式,客户端要和服务器端合起来完成一件任务,他也是一种拷贝,不过是一种新的拷贝方式。互联网深刻改变了人类社会和生活模式,而互联网的核心价值是连接,软件是实现互联网核心价值的重要使能技术。硬件连接虽然很重要,但最终的灵活连接还要靠软件。

    最终我引用两位名人的话,NetScape创始人Marc Andreessen说:Software eats the world! 软件吞噬世界。另一位是C++语言发明人,Bjarne Stroustrup说:人类文明运行在软件之上。

    软件定义的时代

    第二部分我讲的是软件定义的时代。互联网及其延伸,正在导向我们走在一个新的模式,人-机-物的融合。信息技术的网络化、泛在化、智能化趋势蕴含了人-机-物和谐发展的愿景。当前,正在兴起信息化的第三波浪潮,即以数据的深度挖掘与融合应用为特征的智慧化阶段。这个阶段我命名为智能化阶段,在这个新的环境下,人机物融合环境下的信息基础设施是海量的资源。第二来看他的应用,人机物融合环境下的新型应用:需求形态多样。面对海量资源和应用需求形态多样的这两个特征,人机物融合需要新的平台环境,如何凝练应用共性,如何有效管理资源这是这个平台的基本要求。在这样的平台之下,由于应用需求变化频繁和应用场景动态多变,这个平台能否实现按需灵活定制?

    什么是软件定义?

    软件定义的真正落地,还是在云计算平台里面的应用。2011年前后,OpenFlow被用于云计算平台中进行网络管理,并被广泛接受。在15年的时候,Gartner战略报告首次出现SDN(软件定义),SDN重新“定义”了传统的网络架构甚至通信产业。

    软件定义网络的技术原理是通过一组API对网络设备进行任意的编程从而实现新型的网络协议、拓扑架构而不需改动网络设备本身。

    计算机的操作系统是什么,是管理硬件资源、控制程序运行、改善人机界面和为应用软件提供支持的一种系统软件,即向上提供公共服务,向下管理资源。如果从操作系统视角来看软件定义,操作系统是软件定义的“计算机”,从软件研究者的视角,操作系统体现了“软件定义”之集大成。

    在我的理解看来,软件定义的技术本质就是把过去的一体化硬件设施打破,基础硬件及其虚拟化提供标准化的基本功能,然后通过管控软件控制基本功能,提供更开放、灵活、智能的管控服务。

    软件定义的技术本质:硬件资源虚拟化,管理功能可编程。硬件资源抽象为虚拟资源,然后用系统软件对虚拟资源管理和调度。就是在硬件资源虚拟化的基础上,用户可编写应用程序,满足访问资源的多样性的需求。大家现在可以看到软件定义出现了各种各样的延伸,软件定义的存储,软件定义的计算,软件定义的环境,软件定义的数据中心等等。但所有架构都跳不出操作系统的三层架构,就是说软件平台的三层架构,这些SDX均符合“硬件资源虚拟化”与“管理任务可编程”的技术原理。

    这就是我对软件定义的理解。

    软件定义带来的机遇和挑战是什么?

    我们可以看到的机遇就是软件定义一切。定义一切,人-机-物互联是我们追求的目标。我们是不是最终能做到万物皆可互联,一切均可编程呢?这就是软件定义给未来世界达成的目标,也就是我们的机遇所在。我们看到软件定义的本身进一步泛化和延伸,我们要软件定义我们的物理世界,再进入我们的城市、我们的行业、我们的校园,从单一的资源管控到人、机、物融合环境下对各种资源全方位的互联互通。这是我们今后努力的方向。

    人工智能是当今的热潮,但我个人的观点还是认为处于数据驱动的算法智能阶段,软件平台如何提供“通用”的智能应用支撑,并允许按需深度定制?是否会出现面对AI的操作系统?我想这个也是可以通过平台的方式去实现。软件技术在新一轮革命技术中毫无疑问是核心竞争力之一,新一轮制造革命需要实现“硬件”、知识和工艺流程的软件化,进而实现软件的平台化,本质上即“软件定义”。随着人、机、物的融合,软件定义的挑战可以分为这几个方面:体系结构设计决策,系统质量,系统安全,更轻量的虚拟化,从原有系统到软件定义系统平滑过渡,高度自适应智能软件平台。

    体系结构设计决策,包括比如如何确定受管元素的合理“粒度”和“层次”?如何界定软、硬件的功能划分并组装、配置相应元素?等。

    系统的质量,需要解决的问题有如何合理平衡管理灵活性和“虚拟化”后的性能损耗(与直接访问原系统相比)?如何降低“软件实现”的复杂性和故障率,有效定位故障以保障可靠性?等等。

    系统安全,对硬件资源管理可编程带来开放性、灵活性的同时,也可能会带来更多的安全隐患。对于工业控制等安全攸关领域来说,可能会带来难以难以估量的损失。

    更轻量的虚拟化。大量的新设备产生,虚拟化实现了对硬件资源的软化,是软件定义的基础技术,现有以虚拟机为单位的技术过于重载,难以满足性能和实时性要求。

    原有系统到软件定义系统平滑过渡。如何将原有系统平滑过渡到软件定义系统?通过对已有的资源进行大幅度的改造,我们需要安装新的硬件,需要做新的软件管理系统,以及面临的人力,时间,经济,风控等因素。这个平滑过渡也需要合理的方案,否则很难做成这样的事情。

    高度自适应软件平台。从软件人追求的目标来看,我们想追求一种更为高度自适应的智能软件平台。现在平台方式是以硬件资源为中心的,如果基础设施层发生变化,软件平台就要发生改变,改完之后,上面的应用也可能发生改变。我们追求的理想方式是,软件平台具有预测和管理未来硬件资源变化的能力。

    展开全文
  • 软件定义存储的定义与分类

    千次阅读 2017-02-16 09:20:04
    2011年8月21日,Netscape创始人马克·安德森(Marc Andreessen, 硅谷著名投资人, 投资了Facebook、Groupon、Skype、Twitter、Zynga和LinkedIn等高科技新秀),在华尔街日报上发表《软件正在吞噬整个世界》,认为当今...

    2011年8月21日,Netscape创始人马克·安德森(Marc Andreessen, 硅谷著名投资人, 投资了Facebook、Groupon、Skype、Twitter、Zynga和LinkedIn等高科技新秀),在华尔街日报上发表《软件正在吞噬整个世界》,认为当今的软件应用无所不在,并且正在吞噬整个世界: “越来越多的大型企业及行业将离不开软件,网络服务将无所不在,从电影、农业到国防。许多赢家将是硅谷式的创新科技公司,它们侵入并推翻了已经建立起来的行业结构。未来十年,我预计将有更多的行业被软件所瓦解”。安德森以亚马逊颠覆图书零售巨头Borders(已于2011年2月破产)、Netflix颠覆视频行业、苹果颠覆音乐行业、Skype颠覆电信行业、LinkedIn颠覆招聘、PayPal颠覆支付等为例,并指出基于互联网的服务,将让新创建全球性软件初创公司变得容易。

    中国也是如此,包括BAT(百度阿里腾讯)、滴滴、快的、美团、大众点评等互联网公司在内的软件公司,深刻地影响了我们每一个人的生活,也已经或正在逐步地颠覆着教育、零售、通信、交通、医疗、政府等行业。

    2013年10月Gartner发布2014年十大战略技术中,重要的组成部分就有:软件定义一切。Gartner认为:软件定义一切囊括了在基础设施可编程性标准提升下不断增长的市场势头、由云计算内在自动化驱动的数据中心互通性、DevOps和快速的基础设施提供等。软件定义一切还包括各种举措,如OpenStack、Open Flow、Open Compute Project和Open Rack,共享相同的愿景。开放性将成为供应商的目标,SDN(网络)、SDDC(数据中心)、SDS(存储)和SDI(基础架构)技术的供应商都力图成为所在领域的领导。

    那么,什么是软件定义? 难道以前没有软件定义? 都是硬件定义吗?

    我们先来看一下,什么是软件?

    • 软件是用户与硬件之间的接口界面。

    用户主要是通过软件与硬件进行交流。

    • 早期,为了大规模生产,降低制造的复杂度和成本。许多功能都固化在硬件里,我们可以称之为硬件定义。随着人民日益增长的多样化、个性化定制的需求,以及云计算所要求的,更加智能、更加灵活的自动化的需求,由软件定义来操控硬件资源的需求将越来越多、越来越广。

    最早的空调里面也有软件,但相对固化,不提供或者提供非常少的接口,缺乏灵活性。那时,我们只能选择温度,或者开关;后来出现了更多的选择,如风速、风向等的设定。到了智能家居的时代,通过向应用软件开放空调的编程接口,使得我们能在回家之前,就借助手机或者平板,开启并设置空调了。

    软件定义,究其本质,就是将原来高度耦合的一体化硬件,通过标准化、抽象化(虚拟化),解耦成不同的部件。围绕这些部件,建立起虚拟化软件层,以API(应用编程接口)的方式,实现原来硬件才提供的功能。再由管理控制软件,自动地进行硬件资源的部署、优化和管理,提供高度的灵活性,为应用提供服务。

    简而言之,就是更多地由软件来驱动并控制硬件资源。

    需要注意的是,软件定义其实是一个过程,不是一蹴而就的目标,它分成不同阶段。软件定义逐渐将硬件与软件进行解耦,将硬件的可操控成分按需求,分阶段的,通过编程接口或者以服务的方式逐步暴露给应用,分阶段地满足应用对资源的不同程度、不同广度的灵活调用。

    什么是软件定义存储

    当我们讨论软件定义存储的时候,避免不了要先回顾一下软件定义这个词汇出现的历史。

    在IT基础架构领域,最早出现的软件定义,是软件定义网络(Software Defined Network)。SDN起源于2006年斯坦福大学的Clean Slate研究课题。2009年,Mckeown教授正式提出了SDN概念。通过将网络设备的控制平面与数据平面分离开来,并实现可编程化控制,实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。

    随后,在2012年8月,VMware在其VMworld 2012大会上首次提出软件定义数据中心(Software Defined Data Center,简称SDDC)的概念。

     

    VMware认为,软件定义的数据中心,是 IT 演变的下一个阶段,是迄今为止最有效、恢复能力最强和最经济高效的云计算基础架构方法。SDDC方法论将对存储、网络连接、安全和可用性应用抽象、池化和自动化,整个数据中心由软件自动控制。 基础架构提供的服务将聚合起来,并与基于策略的智能调配、自动化和监控功能结合在一起使用。应用编程接口和其他连接器支持无缝延展到私有云、混合云和公有云平台

    总结一下,SDDC概念的核心包括:

    1. 软件定义的数据中心由软件自动控制;
    2. 软件定义包括三个阶段:抽象、池化和自动化;
    3. 软件定义的数据中心包括五大组成部分:计算、存储、网络、管理和安全。

    作为VMware软件定义数据中心五大组成部分之一,软件定义存储(Software Defined Storage,简称SDS)的概念也在全球范围内,首次被提出。

    VMware认为:软件定义的存储产品是一个将硬件抽象化的解决方案,它使你可以轻松地将所有资源池化并通过一个友好的用户界面(UI)或API来提供给消费者。一个软件定义的存储的解决方案使得你可以在不增加任何工作量的情况下进行纵向扩展(Scale-Up)或横向扩展(Scale-Out)。

    实际上,SDS的定义出现至今已经三年多了,但仍没有统一的标准,VMware的定义也只是一家之言。各家权威咨询机构,各大厂商,都对这一概念有着不同的定义或描述。下面我们再来看看SNIA对SDS描述。SNIA是Storage Networking Industry Association的简称,也即全球网络存储工业协会,做为曾经制定过SAN,NAS,对象存储,云存储等标准的第三方协会,我们有理由相信,SNIA对SDS的看法比较权威。其内容也确实有助于大家更深刻地理解SDS。

    SNIA在SDS的定义中提到,SDS允许异构的或者专有的平台。必须满足的是,这个平台能够提供部署和管理其虚拟存储空间的自助服务接口。除此之外,SDS应该包括:

    • 自动化:简化管理,降低维护存储架构的成本;
    • 标准接口:提供应用编程接口,用于管理、部署和维护存储设备和存储服务;
    • 虚拟数据路径 :提供块、文件和对象的接口,支持应用通过这些接口写入数据;
    • 扩展性:无需中断应用,也能提供可靠性和性能的无缝扩展;
    • 透明性:提供存储消费者对存储使用状况及成本的监控和管理。

    SNIA认为,存储服务的接口需要允许数据拥有者(存储用户)同时表达,对于数据和所需服务水准的需求。数据的需求,就是SDS建立在数据路径(Data Path)的虚拟化,而控制路径(Control Path)也需要被抽象化成为存储服务。云、数据中心和存储系统,或者数据管理员能够被用于部署这个服务(指Control Path)。

    在SNIA对SDS的看法中,贡献最大,也是最有价值的部分,应该是SNIA关于Data Path(数据路径)和Control Path(控制路径),以及手动传送数据请求和应用通过元数据来传送请求的的对比描述。它帮助大家清晰地了解了两者的的区别,并描绘了未来理想的SDS的蓝图,为如何发展SDS指明了方向。

    SDS包括数据路径和控制路径。数据路径由以往的标准接口(块、文件和对象)组成。那么控制路径呢?在传统存储中,其实就是指存储管理员为数据提供部署数据的服务。在使用传统存储的大多数情况下,每一个数据服务有着各自的管理接口。变更数据服务,会导致所有存放在相应虚拟存储空间的数据都受到影响。

    1. 传统方式下传递数据请求的方式

     

    如图上所示,存储用户的控制路径是在带外,通过传统、人工的方式将数据请求传递给存储管理员,例如对于数据保护、可用性、性能、安全性的要求。存储管理员进入存储管理界面,按存储用户的请求分配存储资源。

    这种情况是当前普遍存在的主流方式。其实是:存储管理员定义。

    这种存储部署方式存在一个最大的问题,扩容或升级非常艰难。由于刚性架构限制系统资源只能静态分配,这就意味着后续新部署的资源难以归入原先存储体系。

    2. 理想方式下传递数据请求的方式


    如上图所示,理想的SDS,其传递数据请求的方式是:让应用通过元数据来请求相应的数据服务。如,空间部署,数据保护(快照、克隆),数据高可用(容灾、双活),性能,安全等。

    理想的SDS实现了存储基础架构的自动化机制,极大地降低了人工管理运维成本,数据请求需直接传达至自动化软件。它能够直接应对请求,分配应用人员所需的存储资源,而无需人工干预。存储管理员可以从枯燥重复的建卷、映射卷等工作中,从疲于修补那些导致存储服务水准降低的突发故障中,脱身出来,转向更高级的任务,例如定义存储策略。

    3. SNIA之SDS全局示意图

    图4是SNIA关于理想的SDS的全局示意图,很好的概括了未来理想的SDS所涵盖的各个方面。

    • 存储管理

    将来自服务器本地的闪存盘、机械盘,存储阵列,JBOD等存储资源,通过存储管理协议(如SMI-S等),进行特性描述和虚拟化,构建出存储资源池。

    • 数据服务

    存储资源池化后,数据服务即可按照用户对存储服务级别(如金银铜)的要求提供。数据服务包含:空间部署、数据保护、数据可用性、性能、数据安全性。

    • 数据请求

    存储资源的使用者,如软件开发人员通过数据管理接口(如CDMI),向SDS发起数据请求。由于SDS开放了丰富的API供调用,因此SDS能够满足用户的数据请求,按照服务级别,提供相应的存储资源。

     

    除了VMware、SNIA之外,Gartner、IDC,以及EMC、IBM、HP、DELL等,都提出了各自对SDS的定义或阐述。虽然每家对SDS的定义都各有不同,但易于扩展(主要指在线横向扩展)、自动化、基于策略或者应用的驱动都几乎都成为大家定义中的必备特征。而这也是软件定义数据中心的重要特征,只有具备自动化的能力,才能实现敏捷交付,简单管理,节省部署和运维成本。自动化也成为各家SDS方案,是否愿意走向更高阶段的试金石。

    SDS的分类

    软件定义存储的概念很大。我们所熟知的,存储虚拟化、Server SAN、超融合架构(HCI)都是SDS的一部分。

    下面笔者不揣浅陋,尝试着对纷繁复杂的SDS进行分类,用来帮助大家对SDS进行深入理解。

     

    1. Control Plane(控制平面)

    在SDS Control Plane这一层,比较著名的有:

    1. VMware SPBM (Storage Policy Base Management, 基于存储策略的管理);
    2. OpenStack Cinder 。Cinder是OpenStack云平台的一个组件,用来提供块存储服务;
    3. EMC ViPR。目标是实现EMC存储、异构存储、商用硬件本地存储资源的存储虚拟化(包括互操作性);
    4. ProphetStor (希智)的Federator;
    5. FalconStor(飞康)的 Freestor;

    2. Data Plane (数据平面)

    在SDS Data Plane这一层,比较复杂,组成部分较多。

    • Based on Commodity Hardware (基于商用的硬件)

    其实,这一部分是最难分类的,种类繁多,命名还不容易。首先,笔者认为超融合架构(HCI)是Server SAN的一个子集。

    另外想说明的是,Based on Commodity Hardware这个分类里,包括了IDC分类中Virtual Storage Appliance(简称VSA,存储控制器运行在虚机上)和Physical Storage Appliance两类,注意在这个分类里,后者并不包括传统的外置磁盘阵列。我们知道,控制平面与数据平面的分离之意义大于硬件与软件的分离。因此,部署方式的这两种不同,并没有带来本质的差异。举例来说,VSAN FS(VSAN File System)之于EVO:RAIL,NDFS(Nutanix Distributed File System)之于Nutanix一体机,差别仅在于是否与硬件捆绑,共同点在于都是基于商用的硬件,将分布式存储资源池化,且基于Hypervisor。所以,VSAN, EVO:RAIL, Nutanix都属于Server SAN的分类里,而且由于它们都不仅提供存储资源,还提供计算资源,所以还属于超融合架构这个子类里。

    超融合架构里,比较著名的有: VMware VSAN或EVO:RAIL、EMC ScaleIO、Nutanix、Maxta、SimpliVity、Scale Computing、Pivot3;国内有:华为FusionStorage、志凌海纳SmartX、青云HCI、深信服HCI等;开源的有Open vStorage(类似Nutanix架构);

    在Server SAN里,非超融合架构(也即不提供计算资源)的有DELL Fluid Cache、HP StorVirtual、RedHat Inktank Ceph、Microsoft Storage Spaces等,以及达沃时代、StorWind、大道运行SSAN等;还包括分布式文件系统,如GPFS、Lustre、Panasas等;

    笔者认为Server SAN在它的原始定义里,应该是一个横向扩展的分布式存储,它至少需要支持3个以上节点。这样,对于那些仅支持两个控制器做为集群的存储,就不在Server SAN这个分类里了。不过,它们依然属于软件定义存储这个大的分类里。这类存储有:DataCore、Nexenta、国内的InfoCore(信核),还有其他支持Solaris ZFS的存储,如开源的FreeNAS、NAS4Free。

    • Traditional SAN/NAS(External Storage)

    指的是传统的外置磁盘阵列,包括SAN存储或者NAS存储。例如:EMC VNX,NetApp FAS系列,HDS HUS, DELL SC系列和PS系列,HP 3PAR,IBM V系列和DS系列,华为OceanStor系列等。这些存储劲旅,不甘人后,也纷纷加入到SDS浪潮里,采取的方式有:

    一是与Control Plane更多的API对接,例如,支持VMware SPBM之下的Virtual Volumes,再如,支持OpenStack Cinder等;

    二是通过收购或自己研发,去逐步实现SDS抽象(解耦)、池化、自动化的阶段,典型的就有HP将LeftHand与原有硬件解耦,形成VSA版StorVirtual;NetApp推出Data ONTAP的VSA版ONTAP Edge VSA;IBM推出XIV的软件版Spectrum Accelerate;EMC推出VNX的虚拟化版本 vVNX等。另外,DELL的Fluid Cache脱胎于之前收购的内存虚拟化软件RNA,本身已经具备抽象池化的SDS基因。相信随着SDS的浪潮,会有越来越多的传统大牌存储厂商推出类似的方案。

    • Cloud/Object Storage

    它作为Data Plane的组成部分,实际上是以后端存储的身份为VM/App提供存储资源。

    VM/App可以通过RESTful API等接口与对象存储进行数据的输入输出,目前有三种RESTful API:亚马逊S3、SNIA CDMI和OpenStack SWIFT。

    从云存储来看,随着混合云的逐渐深入,用户自然会期待在自己的私有云和公有云之间,能够实现除了在VM/App级别,在存储级别,也能实现如同本地数据中心之间的同构存储之间的高级功能,例如备份、归档和容灾。此时,运行在公有云之上的VSA,也即虚拟存储控制器(其实与在Hypervisor之上的VSA相类似),即可与本地存储建立数据连接。

    以NetApp的Cloud ONTAP为例。它是在AWS EC2的实例中运行Data ONTAP(FAS存储的操作系统)软件,充当虚拟存储控制器,对下接管AWS EBS作为自己的存储空间,对上给运行业务应用的EC2实例提供存储服务,包括块(iSCSI)和文件(NFS、CIFS)。

    我们知道,把NetApp的FAS存储直接放到AWS或Microsoft Azure里去,是不太现实的。NetApp通过软件定义的方法,把存储控制器做成虚机,后端磁盘柜换成块存储服务(AWS EBS),为业务虚机提供专业的、高级的存储服务。

    类似的还有SoftNAS,也是以虚机方式运行在AWS EC2实例上,可以为运行业务应用的EC2实例提供包括块(iSCSI)和文件(NFS、CIFS)的存储服务。

    其实,谈到软件定义,无论SDN、SDS,都离不开控制平面Control Plane,数据平面Data Plane的提法。控制平面负责数据调度,实现自动化;而数据平面负责数据处理和数据优化,负责抽象和虚池化。

    最近两年流行的概念 - Server SAN目前还只是围绕着数据平面做些工作,是当前阶段SDS的主要形态,离理想的SDS尚有一些距离。不过,我们也注意到,已经有一些Server SAN在控制平面做些工作了,例如尝试与VMware SPBM(主要指Virtual Volume),或者OpenStack Cinder对接。

    可以肯定的是,在最近几年内,Server SAN仍然是充满着创业生机的沃土,与之相关的初创公司(包括HCI,也即超融合架构)会如同雨后春笋般冒出来。但是,需要注意的是,在数据中心三大基础架构中,存储相对于服务器和网络,是最难被替换的,因为它是数据的命脉。初创公司存储的安全性(数据不丢失)、稳定性是首要需要保证的。

    SDS的发展

    1. 为什么出现SDS?

    人类各项发明、创新,大多都是为了更加的高效、方便、灵活,并且节省成本。例如,从种植业、畜牧业的出现,到蒸汽机的发明,到自来水、集中供电的出现,再到互联网的出现(信息传递更快更高效,更省成本),无一不是如此。IT也不例外,存储也不例外。

    伴随着需求,还有两大背景:

    一是,随着个性化、物联网、万联网的发展,数据以前所未有的速度迅猛增长;2014年4月,IDC发现数据的增长超过其在2012年的预期,预计2020年将达44ZB的数据量;因此,数据需要更高效,更省成本的方式存放。

    二是,虚拟化、云计算和硬件技术的发展,使得软件定义成为可能;随着虚拟化和云计算的普及,用户的思维方式也发生了转变,逐渐意识到,快速、敏捷、灵活地获取计算资源已经成为可能,并且逐渐要求能按需使用,按需付费。因此,做为虚拟化和云计算里重要的组成部分,存储也应适应新的需求而不断完善,做到存储即服务,实现快速交付,动态调整。

    下面我们就来剖析一下,是哪些技术的发展,使得SDS,尤其是SDS的重要组成部分Server SAN在未来5年内会成为主流?

    二三十年前,CPU的处理能力较弱,内存较小,单块磁盘的性能和容量都较小。为了不抢占宝贵的CPU和内存资源,也为了提高数据的性能、可靠性(如RAID保护)、可用性(如快照,容灾,双活等)、扩展性,以及提供方便易用的集中管理,诞生了外置磁盘阵列(也叫集中存储),阵列本身自带智能控制器,能够组织管理数据,并提供快照、容灾等高级的软件功能。有些高端存储甚至能在一个单一阵列里提供1000乃至数千块盘,如EMC VMAX,HDS VSP和华为OceanStor等。

    然而,近几年来,新的技术显著地改变了存储架构。包括:

    • SSD:延时从磁盘的毫秒级缩短到亚毫秒级(0.1毫秒),性能从单块15K磁盘的180左右IOPS,猛增到单块SSD的8000 IOPS(外置磁盘阵列),甚至到单块SSD的36000IOPS(内嵌在服务器里的SAS或SAT接口的SSD,或者PCIe SSD);闪存价格的下降速度比硬盘更快,根据IDC预测,两者价格曲线将于2015-2017年出现交叉,届时单位GB的SSD的价格甚至低于单位GB的15K磁盘的价格;

    例如,2014-04-30,SanDisk发布世界上第一款4TB SSD,并计划2015年发布8TB,2016年发布16TB SSD;2015年08月11日,三星在闪存峰会上公布世界容量最大的2.5英寸硬盘:16TB SSD PM1633a 。

    可喜的是,除了国外Intel、Micron、Sandisk、SamSung、Seagate、Toshiba、HGST、Fusion-IO、Greenliant(绿芯)等SSD厂商之外,中国也涌现出不少SSD厂商,除了华为自研SSD之外,还有MemBlaze(忆恒创源)、Shannon(宝存,2015-04-24被Silicon Motion公司收购)、RunCore(源科)、苏州恒成芯兴等SSD厂商;

    • CPU多核技术:服务器的CPU多核早已被业务应用利用起来,尤其在虚拟化环境里,多核处理器功不可没,既提高了处理器利用率,也提高了单台服务器上用户对更多I/O的需求,这其实也驱动着底层存储需要变革。如前所述,绝大多数存储控制器采用了X86架构,但真正利用其多核处理IO,从最近三年才开始。例如,DELL Compellent Storage Center 6.3在2012年11月推出多核技术;EMC VNX 2在2013年9月推出MCx多核技术;而做为纯软件方式的存储Nexenta,也利用多核技术去实现其在线的压缩功能;正是有了多核的利用,Server SAN得以在处理业务应用之外,心有余力地去处理或优化IO,实现丰富多彩的存储软件功能;
    • 高速网络技术:分布式存储借助于节点之间的缓存(用SSD存放)的同步复制来确保数据的冗余性,也得益于近些年来网络的高速发展;通常推荐采用万兆网络,甚至有的采用四万兆(40GbE)的网络。目前,万兆网络的延迟非常小,大约在100 微秒左右,远小于PCIe闪存的延迟1毫秒;如果采用RDMA技术,延迟能更小;
    • 大容量服务器和磁盘:分布式存储借助于大容量的服务器和磁盘,也能够提供以往外置磁盘阵列才能支持大存储容量。例如,DELL PowerEdge R730XD最多16个3.5寸近线SAS盘,可支持多达近100TB的裸容量;另外,单块的机械磁盘容量也越来越大,例如,2015年03月,HGST首次向公众展示了10TB的机械硬盘;这样,不远的未来,仅凭服务器内置磁盘,即可支持100多TB的裸容量。如果还支持服务器连接直连存储来进行Scale Up(纵向扩展),容量就更大了。
    • 分布式存储的技术逐渐成熟。面向对象存储的技术逐渐成熟。
    • 虚拟化和云计算要求更智能的存储,能够调用其控制信息,配合上层更灵活敏捷的部署存储资源。

    2. SDS的现状如何呢?

    其实,前面提到的SDS分类其实已经涉及到了大部分内容。

    目前,存储市场上更多的是做数据平面的。做控制平面的SDS厂商,尤其是初创厂商,是需要巨大的勇气和魄力,因为复杂度高,而且在短时间内很难看到回报。

    这些做数据平面的厂商,绝大部分还在抽象、池化这两个阶段。

    抽象做的是软硬件解耦。池化做的是存储虚拟化。

    池化包括存储虚拟化和存储标准化,而存储虚拟化指所有存储资源的虚拟化,包括:

    1. 外置磁盘阵列内的虚拟化;
    2. 跨外置磁盘阵列的虚拟化(也即异构存储的管理);
    3. 分布式存储服务器内的存储虚拟化。

    抽象是第一步,没有解耦,寸步难行;第二步,池化,这样才能灵活分配存储资源;

    第三步是自动化,存储资源由软件(Hypervisor,云管理)来自动分配和管理。目前观察到的,自动化其实是根据不同的工作负载来动态分配或管理存储资源。那么,谁来判断工作负载的特点?最好是Hypervisor/OS,或者云管理软件,它们具有优势。所以,存储通过和Hypervisor、云管理软件对接,是一个比较现实可行的方法

    展开全文
  • 软件测试的定义

    万次阅读 2017-12-11 23:10:56
    关于软件测试的定义,不同学者有不同的观点,了解软件测试的定义,对于日后在工作中是很有帮助的, 首先要明确测试的定义,所谓测试,就是以检验产品是否满足需求为目标。 而软件测试,自然是为了发现软件(产品)的缺陷而...
  • 软件测试定义

    千次阅读 2008-12-20 16:42:00
    软件测试定义马均飞 郑文强简单地说,对一段代码进行检查并查找错误,这就是测试活动。在工业制造和生产中,测试被当作一个常规的检验产品质量的生产活动,其含义为“以检验产品是否满足需求为目标”。那么,对于...
  • 摘要:结合当下的人工智能热潮,梅宏教授认为我们正在进入一个软件定义的时代。软件定义的技术本质是把原先一体化的硬件设施打破,将基础硬件虚拟化并提供标准化的基本功能,然后通过管控软件,控制其基本功能,提供...
  • 接触SDS(软件定义存储)

    千次阅读 2018-04-24 03:41:05
    在IT基础架构领域的软件定义,最早出现的是:软件定义网络(SDN)。SDN起源于2006年斯坦福大学的Clean Slate研究课题。2009年,Mckeown教授正式提出了SDN概念。通过将网络设备的控制平面与数据平面分离开来,并实现可...
  • 过去十年, IT变化日新月异。如果我们回溯到100年前的1900年代,也会感慨电对经济社会的改变同样如此之大,历史惊人的相似...未来软件将不断重新定义世界的万事万物,数据在软件冶炼工艺的作用下价值将不断被挖掘出来。
  • 2011年8月21日,Netscape创始人马克·安德森(Marc Andreessen, 硅谷著名投资人, 投资了Facebook、Groupon、Skype、Twitter、Zynga和LinkedIn等高科技新秀),在华尔街日报上发表《软件正在吞噬整个世界》,认为当今...
  • SDN(软件定义的网络,Software Defined Network)一词可以说是最近的新热点,而上周在北京举办的vForum 2012大会分会场一的主题则是“软件定义数据中心”。Data Center中涉及到各种领域的技术我并不都熟悉,因此...
  • SDN(软件定义网络)和NFV(网络虚拟化)无疑是当下IT领域最为炙手可热的趋势。在不久之前刚刚结束的巴塞罗那MWC展会上,几乎所有CT与IT厂商均把SDN与NFV作为降低通信成本的战略方向,提出了针对性的产品和方案。 ...
  • SDS要进入金融行业的首发名单,看来还需要一点时间。好在,这一切已经开始;好在,这一切刚刚开始。
  • 软件定义作为云的一项重要技术,这几年的也变得越发火热。在数字化转型道路上,中国企业走的并不慢甚至非常之快,在此过程中他们迫切需要找到更为适合自身需求的产品、解决方案以及产业模式,助力其在数字化道路上...
  • 这是一个简单的SaaS定义:一种软件分发模型,服务提供商在该模型中为客户托管应用程序,并通过Internet将其提供给这些客户。 SaaS以及基础架构即服务(IaaS)和平台即服务(PaaS)是云服务的三大类之一。 [在...
  • 软件定义未来 1 1.2. 《软件和信息技术服务业发展规划(2016-2020年)》( 2 1.3. Iot物联网 深入现实生活 嵌入式软件 2 1.4. 移动化 2 1.5. 软件行业服务化发展趋势 2 1.6. 智能化发展趋势 2 1.7. 趋势五:...
  • 在2020年5月底最后几天里,正好碰着他出差北京公干,我们就约见聊了一下中国的软件定义存储(SDS)以及杉岩数据的发展情况。同时,我对杉岩数据在现在这样特别的环境下,最近还获得了新一轮的融资特别好奇。 最新...
  • 另外剧透一个新消息,大概在2018年1月期间,国内第一本专门阐述VMware软件定义存储的书籍,将在京东、China-Pub (互动出版网) 等上市,是由4位VMware资深专家联合翻译的。届时,大家只要在上述购书网站里键入关键词...
  • 在本篇博文中,Windows 网络团队总经理 Sandeep Singhal 和 SCVMM 团队项目经理 Vijay Tewari 将向您介绍我们软件定义的网络 (SDN) 解决方案。该解决方案采用行业标准的协议,同时,行业内多家合作伙伴参与了本解决...
  • 2020 年随着行业的向前发展,一种新的概念将体现“软件定义一切”的精髓,我们相信这种概念就是混合云。 2020 年,硬件将无处不在,而软件将在硬件鞭长莫及的领域应对日益严重的复杂性。 云的安全性 这个问题很可能...
  • JTAG接口定义与其他简介

    万次阅读 多人点赞 2019-01-12 19:59:24
    JTAG接口定义与其他简介 JTAG(Joint Test Action Group)是一个接口,为了这个接口成立了一个小组叫JTAG小组,它成立于1985年,比推丸菌的年龄还大。在1990年IEEE觉得一切妥当,于是发布了 IEEE Standard 1149.1-...
  • IDL接口定义语言

    千次阅读 2008-07-17 16:29:00
    IDL接口定义语言也叫“接口描述语言”(Interface Description Language),是一个描述软件组件接口的语言规范。IDL用中立语言的方式进行描述,能使软件组件(不同语言编写的)间相互通信。IDL通常用于RPC(Remote ...
  • 问:软件测试的原则? 答:https://blog.csdn.net/weixin_30363263/article/details/102986878 问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 1、将问题提交到缺陷...
  • IDL接口定义语言教程

    千次阅读 2013-07-02 11:36:57
    IDL接口定义语言   也叫“接口描述语言”(Interface Description Language),是一个描述软件组件接口的语言规范。 IDL用中立语言的方式进行描述,能使软件组件(不同语言编写的)间相互通信。 IDL通常用于RPC...
  • 【最全】软件测试基础理论选择题(含答案)

    万次阅读 多人点赞 2020-03-05 19:17:40
    1、软件测试的目的是( ) A、试验性运行软件 B、发现软件错误 C、证明软件正确 D、找出软件中全部错误 【答案】B 2、下面说法正确的是( ) A、经过测试没有发现错误说明程序正确 B、测试的目标是为了证明程序没有...
  • C语言宏定义使用技巧

    千次阅读 2016-02-29 11:49:07
    下面列举一些成熟软件中常用得宏定义。。。。。。 1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H  //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的...
  • 1 云计算的定义  云计算是在通信和互联网的发展比计算机的发展速度更快... 随着公司的壮大员工不断增加,你必须为他们提供足够的工作所需的一切应用软件,为他们提供一些专业软件的许可证。如果只需要加载一个应用...
  • 软件测试基本原则

    千次阅读 2019-03-23 11:26:55
    软件测试的定义3. 软件测试的目的 1. 软件测试基本原则 所有测试的标准都是建立在用户需求之上的,测试的目的在于发现系统是否满足规定的需求; “尽早地和不断地测试”,越早进行测试,缺陷的修复成本就会越低; ...
  • C语言详解(6)宏定义和条件编译

    万次阅读 多人点赞 2017-12-02 21:54:41
    定义和条件编译    关于C语言详解系列blog的目录:http://blog.csdn.net/snake_lp/article/details/78630717   一、概述 宏定义是C语言的预处理功能。宏定义就是简单的替换,不作为计算,不也作为表达式。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 149,361
精华内容 59,744
热门标签
关键字:

软件定义一切