最近两、三年,在IT圈里,除了云计算、大数据、人工智能之外,最火的就属“软件定义”了,先是有软件定义网络 (SDN, Software Defined
Networking),继而有软件定义数据中心(SDDC, Software Defined Data
Center)和软件定义存储(SDS, Software Defined Storage)。后来还陆续出现了软件定义基础架构 (SDI, Software Defined Infrastructure),软件定义一切(Software Defined Everything, 或者Software
Defined Anything,有些简称SDX)。
When “defining” SDS, we need to take a holistic view of storage –
across all vendor arrays and across all commodity hardware – to provide a
complete solution that meets the requirements of the Software-Defined Data
Center. SDS separates the storage management services (or control plane) from
the storage infrastructure (or data plane) while still retaining and extending
the unique value, characteristics, and intelligence of each vendor array(s).
This approach provides choice and flexibility to enterprises – so they can run
their business with the necessary speed and agility required to be successful
in today’s world.
SDS是在Software Defined Data Centre下的一個子集,目前的發展還不如SDN成熟,各個廠商有自己的定義和產品。應用的案例已經不少,用家既有ISP,Enterprise,也有大學的lab;有的是Tier0-3都使用一個品牌,也有的是混搭不同牌子,還有一些並沒有加入SDS contorller,而是從CMP的層面進行控制。一般而言,既然客戶選擇走上Software-defined之路,方向就是更開放靈活的IT環境,更少的vendor lock-in,更多更快的資源共享,更高的運維性價比,在產品/廠商/集成商的選擇上既要考慮項目的一次性投入、運維成本、參考案例,也要考慮從傳統到新技術的平滑遷移,配套的IT服務管理等等。個人經驗,客戶方最大的困擾不是SDS技術的實現,而是隨之而來在Information Security信息安全和ITSM服務管理上面的問題。另外,現有的企業組織架構大部分是infra基礎架構、application應用開發和operation運維分家的,當企業引入這種敏捷性高,以應用層為驅動的技術之後,如何去重組IT部門和運營模式才是更大的課題。
以下是幾個主流SDS廠家,沒有特定的deployment環境是無法比較的,僅作為一個羅列:
HDS:Controller的部分使用HSV,Fabric可以搭配Brocade,storage的部分從T0到T3都有產品,其中G1000在2015年被Gartner評為High End Array的第一名。能和openstack、VMware的cloud platform進行集成。
在SSD+HDD混合模式下,Ceph遇到的烦恼是对SSD写带宽消耗过大。大家都知道SSD性能很高,这是对于随机小IO来说,但SATA SSD的顺序写MBPS其实并不高,如下图是Intel DC S3520的顺序写性能,最大也就380MBPS。一个好一些的SAS盘,写带宽都可以到300MBPS,SATA盘至少也有150MBPS的性能。
回复 ( 8 )
泻药,这个问题太大了,一时我答不上来,但根据我目前了解,只是改变了写入的方式而已,但根本还是一样的读和写,好比如以前没有虚拟机打开很多软件存放很多文件无法让处理器和内存完全跑满有了虚拟机后可以榨干物理机全部资源一样。但这个词感觉不怎么着地。。。应该帮不上你。。。
Software-defined storage
下次自己搜
这个问题太大了,我先试着回答你第一个问题吧。什么是软件定义存储(SDS)?
先来说一下软件定义的概念。
最近两、三年,在IT圈里,除了云计算、大数据、人工智能之外,最火的就属“软件定义”了,先是有软件定义网络 (SDN, Software Defined
Networking),继而有软件定义数据中心(SDDC, Software Defined Data
Center)和软件定义存储(SDS, Software Defined Storage)。后来还陆续出现了软件定义基础架构 (SDI, Software Defined Infrastructure),软件定义一切(Software Defined Everything, 或者Software
Defined Anything,有些简称SDX)。
软件定义其实是一个过程,不是一蹴而就的目标,它分成不同阶段。软件定义就是要将特定的硬件与软件进行解耦,将硬件的可操控成分按需求,分阶段的,通过编程接口或者以服务的方式逐步暴露给前端应用,分阶段地满足应用对资源的不同程度、不同方面的灵活调用。
SDS的定义并没有统一的标准,各家权威咨询机构,各大厂商等,都对这一概念有着不同的解释或描述。这里我主要选择几家权威的吧:
VMware
软件定义的存储产品是一个将硬件抽象化的解决方案,它使你可以轻松地将所有资源池化并通过一个友好的用户界面(UI)或API来提供给消费者。一个软件定义的存储的解决方案使得你可以在不增加任何工作量的情况下进行纵向扩展(Scale-Up)或横向扩展(Scale-Out)。
EMC
EMC我并没有找到官方的关于它的定义,这里就引用EMC高级存储业务总裁Amitabh Srivastava的话来回答你的问题吧(自行翻译^_^):
When “defining” SDS, we need to take a holistic view of storage –
across all vendor arrays and across all commodity hardware – to provide a
complete solution that meets the requirements of the Software-Defined Data
Center. SDS separates the storage management services (or control plane) from
the storage infrastructure (or data plane) while still retaining and extending
the unique value, characteristics, and intelligence of each vendor array(s).
This approach provides choice and flexibility to enterprises – so they can run
their business with the necessary speed and agility required to be successful
in today’s world.
IBM
IBM将软件定义存储分为三步走战略:
第一步,“软件定义存储”1.0时代—指虚拟化和优化;
第二步为“软件定义存储”2.0时代–可延伸性及具行业导向;
第三步为“软件定义存储”3.0时代—分析及应用驱动。
SNIA (全球网络存储工业协会)
最权威的SDS的定义莫过于SNIA对SDS的定义了。SNIA认为,SDS需要满足的是:提供自助的服务接口,用于分配和管理虚拟存储空间;
SDS应该包括如下功能:
·自动化 Automation– Simplified
management that reduces the cost of maintaining the storage infrastructure.
· 标准接口 Standard Interfaces –
APIs for the management, provisioning and maintenance of storage devices and
services.
· 虚拟数据路径 Virtualized Data
Path – Block, File and Object interfaces that support applications written to
these interfaces.
· 扩展性 Scalability – Seamless
ability to scale the storage infrastructure without disruption to availability
or performance.
· 透明性Transparency – The
ability for storage consumers to monitor and manage their own storage
consumption against available resources and costs.
写到这里什么是软件定义存储我想应该定义的差不多了吧,下列来张图综合涵盖了软件定义存储的全部要点:
虽然每家对SDS的定义都不尽相同,各有侧重点。但可以看出来,自动化、基于策略或者应用的驱动都几乎都成为大家定义中的必备特征。
软件定义存储(Software-defined storage,SDS)不是很好理解,它是一种数据存储方式,所有存储相关的控制工作都放置在相对于物理存储硬件的外部软件中。这个软件不是作为存储设备中的固件,而是在一个服务器上或者作为操作系统(OS)或hypervisor的一部分。
软件定义存储可以保证系统的存储访问能在一个精准的水平上更灵活地管理。
软件定义存储是将软件从硬件存储中抽象出来的,这也意味着它可以变成一个不受物理系统限制的共享池,以便更有效地利用资源。存储也可以通过软件和管理进行部署和供应,其管理程序可以通过基于策略的自动化管理来进一步简化。
软件定义存储的概念很大,存储虚拟化、Server SAN、超融合架构(HCI)都是SDS的一部分。
百度百科有介绍SDS(软件定义存储)
现在做软件定义存储的产品有很多,国外有VMware VSAN、EMC ScaleIO、Nutanix,国内有华为FusionStorage、志凌海纳SmartX、XSKY XEBS、…..。
看XSKY的网站做的功能还比较全
SDS是在Software Defined Data Centre下的一個子集,目前的發展還不如SDN成熟,各個廠商有自己的定義和產品。應用的案例已經不少,用家既有ISP,Enterprise,也有大學的lab;有的是Tier0-3都使用一個品牌,也有的是混搭不同牌子,還有一些並沒有加入SDS contorller,而是從CMP的層面進行控制。一般而言,既然客戶選擇走上Software-defined之路,方向就是更開放靈活的IT環境,更少的vendor lock-in,更多更快的資源共享,更高的運維性價比,在產品/廠商/集成商的選擇上既要考慮項目的一次性投入、運維成本、參考案例,也要考慮從傳統到新技術的平滑遷移,配套的IT服務管理等等。個人經驗,客戶方最大的困擾不是SDS技術的實現,而是隨之而來在Information Security信息安全和ITSM服務管理上面的問題。另外,現有的企業組織架構大部分是infra基礎架構、application應用開發和operation運維分家的,當企業引入這種敏捷性高,以應用層為驅動的技術之後,如何去重組IT部門和運營模式才是更大的課題。
以下是幾個主流SDS廠家,沒有特定的deployment環境是無法比較的,僅作為一個羅列:
转一个和Ceph相关的,至于为啥转Ceph,如果你不知道,就不要说你是搞软件定义存储的了。
一
装修
前阵子家里装修,刚好楼下热情、好客的邻居是做铝合金家具工厂的,新型家具材料,给了些样品,即使是我这种外行,也会真心觉得材质确实好,当然,价格也基本是出厂价,比建材市场更是便宜非常多。所以,橱柜的装修就这么定下来了。
但在具体订做的过程中,还是发生了几件恼人的事情:
首先,工厂没有橱柜的设计,邻居自己也忙,需要我提供设计图纸,而且绘图他也没人,只会看。我只能捡起大学所学的机械制图,花了大半天功夫画了张图给他。
其次,因为不够专业,所以没有考虑到瓷砖/地板对尺寸的影响,导致安装时问题不断。比如房间门装矮了,厕所门没考虑瓷砖厚度,导致装不进去等等…
现在回想起这件事,我的邻居当然是没有错的,原因其实在于这个过程中缺少一个很重要的 东西。而这个东西,也是三年来杉岩在基于Ceph实现产品化过程中,我们和用户同样遇到的。
二
感悟
Ceph作为一款十年历史的开源分布式产品,其稳定性、可用性确实得到业界的普遍认可。2014年我们基于Ceph给用户提供的一个管理系统,到目前为止仅出现了两次问题,其中一次是硬件问题,一次是使用方式不当的问题。作为一个开源产品,能够有如此高的稳定性和可用性,这应该就是Ceph能够获得今天的成绩的首要原因。
关于Ceph的优势,这里简单概括如下:
对各种异常考虑的比较完善, 比如网络抖动、去中心化的心跳机制、恢复机制对复杂异常的考虑;
很少因为代码问题导致程序coredump,也没有出现过内存泄漏问题,说明代码质量还是不错的;
高级功能比较全面,支持块、对象、文件,同时支持副本、EC、tier、scrub等高级特性;
不过,“好的产品优点相似,不好的产品缺点却各有各的不同”,我们今天和你分享的更多的就是这些不同。随着我们服务的企业客户的不断增加, Ceph真正应用于企业客户不同场景中所遇到的各种问题也逐步开始暴露。
采用Ceph替代传统SAN的烦恼
在2014年到2015年上半年的时候,杉岩利用Ceph主要给客户提供一些替代IP SAN的解决方案,客户希望利用Ceph的高扩展性、高可靠性提供一个相对规模较大,性价比较好的通用存储池,降低一些数据量较大、低价值数据的存储成本。这时,就遇到了各种问题:
1、不支持标准的块接口
Ceph称提供块接口,但其实它的块接口之支持Qemu-KVM,并不是一个传统的SCSI标准块接口,是无法直接应用于VMware、Windows和Solaris等系统的。这些系统对接的块存储都是类似于FC SAN或者IP SAN这种提供标准SCSI接口的设备。将Ceph推向这些传统的企业应用是无法实现对接的。
2、运维管理手段和工具缺乏
这个问题是Ceph目前直接应用于企业客户最大的问题,易用性和易维护性,SageWeil在今年也提出易用性是未来Ceph的重要改进方向。杉岩在应用与企业客户中遇到各种问题,然后不断完善产品,其中最典型的问题就是各种硬件备件的更换。
在使用传统存储时,当硬件部件出现问题时,企业的IT运维人员希望尽快更换配件,避免出现更加严重的问题,为此一些企业都有的备件库,当硬件配件出现问题时,运维人员通过更换配置做简单的操作就可以完成配件的更换。而如果直接使用Ceph,则可能要面临敲一堆的命令才能完成更换的操作,这是Ceph直接作为企业产品无法接受的。
3、无法实现数据卷的安全隔离需求
传统的企业存储是一个公共资源,上面运行着多种业务应用,为了防止不同业务应用读取或者破坏非自身业务应用的数据,传统企业存储通过LUN MASKING/CHAP 协议等,实现存储卷的安全隔离。
而Ceph设计用于云平台,所有的RBD对于云平台的每个主机都是可见可操作的,从而实现虚拟机在整个集群的迁移。所以需要一套在Ceph之上实现一套类似于LUN MASKING的机制,保证不同业务只能看到和访问分配给自己的存储卷。
4、混合盘性能无法发挥
另外,我们发现,目前在云数据中心,客户更多的还是采用SSD+HDD的混合模式,有部分对性能无要求的客户采用了纯HDD的模式,采用全SSD的客户目前还没有实际遇到(有部分客户做过测试)。
在SSD+HDD混合模式下,Ceph遇到的烦恼是对SSD写带宽消耗过大。大家都知道SSD性能很高,这是对于随机小IO来说,但SATA SSD的顺序写MBPS其实并不高,如下图是Intel DC S3520的顺序写性能,最大也就380MBPS。一个好一些的SAS盘,写带宽都可以到300MBPS,SATA盘至少也有150MBPS的性能。
一般来说客户的一个存储节点采用1-2个SSD作为缓存盘,对外提供的带宽其实也就300MBPS到600MBPS,而Ceph的journal + 两副本的方式,消耗了4倍写带宽,最终实际一个服务器能提供的写带宽只有75MBPS~150MPBS,远远小于多个机械盘的顺序写能力,严重制约着Ceph的顺序写性能。
Intel DC S3520 固态盘性能
Ceph应用在VMware超融合的烦恼
随着应用客户的不断增加,我们发现, Ceph主要的应用场景是虚拟化场景,占80%以上,其中VMware又占到了50%以上,而且应用VMware的大部分都是超融合环境。
而此时遇到的主要问题包括:
1、对更好的iSCSI并发能力的需求
在替代IP SAN模式下,不同应用主机之间一般使用LUN比较独立。可以通过LUN归属的方式,不同的LUN通过不同的单个iSCSI Target提供出来,即可实现较好的并发。
但在VMware环境下,一般只划分很少的LUN(一般1-2个大LUN),供整个VMWare集群共享使用。如果此时依然采用LUN归属的方式,单个iSCSI Target将成为整个集群的瓶颈点。在这种场景下,iSCSI必须实现的是一个全Active的架构,保证LUN在所有的target上可以同时访问,从而保证任何一个iSCSI Target不会成为性能的瓶颈点。
2、必须支持VAAI
VMWare实现VAAI接口,在虚拟机批量创建、克隆,读写性能上影响非常大。比如在不支持VAAI的XCOPY时,SandStone跟FC SAN的克隆性能相差10倍。企业客户一对比,就觉得存储性能太差。在企业私有云环境,批量克隆虚拟机确实是一个常见的运维操作,过慢确实也影响到客户的使用效率。
3、CPU消耗过大严重影响性能发挥
Ceph的CPU消耗较高是众所周知的,当分离部署时这个问题还不明显,一旦应用于VMware超融合场景,问题就暴露的比较明显了。因为在超融合环境下,虚拟机需要占用大量的CPU资源,而CPU的核心在一定范围内价格是可控的,但超过一定核心数价格会变得非常高。下图是E5-2600系列CPU的核心数(逻辑核)与价格的对应曲线(价格数据取自中关村在线),一般客户主要选择2路E5-2650 – E5-2680的CPU,最大逻辑核心也就24个,往往能分配给存储的CPU基本只有8-12个逻辑核。
杉岩最初的优化版本必须在16个核心才能返回出两个Intel DC 3500 SSD的能力,经过一段时间的优化,最终能够在8-10个逻辑CPU核把两个SSD的能力发挥出来。
三
进展
经过三年坚持不懈的研发投入以及千百次的用户现场测试、使用、调优……杉岩正在同每一个致力于Ceph的企业和个人一道将Ceph打磨成一款可以适应于企业客户的多种场景的企业级产品。Ceph不仅仅是一行行看上去很美丽的开源代码。
未来,杉岩将秉承“来源社区、贡献社区”的态度,逐步将在CEPH上取得的一些成绩回馈给社区,和大家一起功能促进分布式存储的健康发展,并为企业客户提供更灵活、高效、稳定的存储解决方案。
可以把很多原来很多硬件做的挪到软件来实现
这个话题实在太大了,建议题主首先搞清楚定义。。