版权归原作者所有,如有侵权,请联系我们

[科普中国]-开放式存储系统

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

基本概念

随着电信IT信息系统的发展,数据库处理的数据量、并发请求事务、吞吐量要求越来越高。一直以来,数据库的短板都在磁盘I/O这块,传统机械磁盘寻道时间长,并发I/O性能差,对于高并发的事务处理系统,一般是靠磁盘数量的堆叠来满足IOPS上的需求,而响应时间上也很难再有改善。Flash技术的引入,数据库I/O的响应时间、IOPS和吞吐量相比较磁盘存储有质的飞跃。通过SRP协议,用infiniband网络将数据库、主机、Flash卡、磁盘整合在一起,构建开放式存储系统,可以提升电信IT数据库系统中存储的可扩展性、稳定性和性能。

开放结构于20世纪80年代初提出,与开放系统概念的提出和实现密切相关。它的发展是为了适应更大规模地推广计算机的应用和计算机网络化的需求,现仍处于继续发展和完善之中。一些标准化组织对开放系统的概念是大体相同的,但具体的定义不完全一致。

对于开放系统,美国电气和电子工程师协会(IEEE)给出了以下定义:“开放系统应提供这样一些功能,它们使正确执行的应用程序能在多个厂商提供的不同平台上运行,和其它应用程序互操作,并且为用户相互作用提供一个统一风格的界面。”该定义中有三个关键点:一是应用程序能在不同平台上运行;二是应用软件能够互操作;三是有统一风格的人机界面(HCI)。

开放式存储系统是采用高速网络,把多套pc服务器连接起来,构建一个开放式系统,这些pc服务器称作存储节点。

基于SRP的开放式存储系统构建原理开放式存储系统采用infiniband的高速网络,把多套pc服务器连接起来,构建一个IB-SAN存储系统,这些pc服务器称作存储节点,为了提高存储性能,存储节点中安装企业级flash闪存。

flash存储也可称为闪存存储,是基于持久性(Non-Violable)内存器件NAND技术的存储产品。在企业市场上,包括有使用传统SAS接口的SSD固态硬盘,沿用传统外置FC或SAS存储接口的闪存存储,以及创新的PCIe接口的存储卡两类产品,与现有的基于磁芯磁盘技术的存储设备相比,具有读写速度快,占用空间小,能耗大幅降低等优势。PCIe接口在各类服务器的硬件设计中,CPU对PCIe插槽的访问时延小、带宽高,理论I/O带宽最高可到16GB/s。使用PCIe接口的flash存储卡可以设置内部的I/O处理芯片,用于实现厂商自有的I/O算法、电池供电缓存等,比SAS接口SSD固态硬盘可以实现更优化的I/O能力。

Infiniband技术原本运用于高性能计算互联,随着技术发展,目前逐步运用于存储节点互联,用infiniband互联的存储构建一个IB-SAN存储网络,网络上运行的是SRP(Scsi RDMA Protocol)协议或者iSER(iSCSI Extensions for RDMA)协议,SRP协议有更高的性能和更低的延时,被广泛使用。

构建方法基于以上技术,开放式存储系统的构建方法如下。

(1)设备搭建

用3台以上PC服务器作为存储节点,每台服务器的PCIe插槽安装flash闪存卡,作为数据存储,后期如果需要扩容,只需要在服务器上继续添加闪存卡即可。用2台PC服务器作为数据库计算节点。每台服务器安装infiniband的HCA卡,作为数据通道,安装千兆网卡,作为网络通信。安装2台infiniband交换机,通过该交换机把每台服务器的HCA进行互联,形成IB-SAN网络。系统架构如图1。

图1

下面是各个节点的功能:

数据库节点(数据库服务器,计算节点):PC Server,运行Oracle 11g R2,支持单实例和RAC架构,提供数据运算服务。数据库节点通过ASM整合存储节点资源,单机故障不会影响数据库使用或导致数据丢失。

存储节点:PC Server,配置Flash卡和SAS磁盘,提供数据存储服务。每个存储节点配置Flash卡和SAS磁盘,成为一个独立的存储单元。多个存储节点组合在一起,形成一个存储池,性能和容量可按需线形扩展。

Infiniband网络:基于Infiniband的低延迟、高带宽互联技术,用于将存储节点的Flash和磁盘资源输出到数据库节点,供数据库使用。实现存储节点和数据库节点间的高速互联,双Infiniband交换机,防止单点故障。

(2)软件系统搭建

在存储节点上安装Infiniband软件,到HCA卡的官网上下载Infiniband软件包,安装软件包,以Mellanox为例,使用mlnxofedinstall进行安装,安装新的Infiniband驱动程序,取代内核自带的Infiniband驱动程序。启动infiniband,注意opensmd依赖于openibd,因此start/stop它们需要有先后顺序。可使用iblinkinfo ibstat或ibstatus命令查看是否联通,若有ACTIVE端口则说明infiniband驱动安装正确。

(3)系统配置

Infiniband网络配置之后,需要在存储节点和数据库服务器上配置SCSI,才能保证数据库的正常安装运行。这里的SCSI配置使用SCST软件。

(4)数据库创建

在数据库服务器中可以识别存储节点的flash卡后,数据库服务器就可以把存储节点的flash卡当做存储来使用,用来存放数据库数据,为了避免单个flash卡故障影响数据库数据的安全,采用ORACLE的ASM来管理存储。

首先,在数据库服务器安装数据库软件,创建ORACLE GRID作为集群软件。然后,配置ASM,在配置ASM磁盘组时,选择多个存储节点的lun来创建卷组,并选择NORMAL选项,使得数据在不同flash卡中镜像保护。第三,创建数据库,把数据存放在ASM中。

特点基于 SRP 的开放存储系统,在数据库系统应用中有以下特点:

(1)横向扩展:当数据库数据增加时,可以通过增加存储节点的数量进行横向扩展。

(2)分布式存储:所有的数据跨节点存储,自动分布在不同的存储节点上,并且能根据需要自动重新平衡
分配数据。

(3)开放架构:用开放的x86架构服务器替代封闭的存储系统。

(4)PCIe Flash存储:使用高性能PCIe Flash高速存储设备替换传统的机械磁盘,随机iops能达到10万—80万,实现了存储能力的极大提升。

(5)Infiniband互联:使用Infiniband高速网络设备替换传统的FC-San网络,每个端口高达40Gb带宽,端到端200纳秒延迟,实现计算节点之间及计算节点和存储节点的IO低延迟高吞吐。

(6)数据冗余:数据至少保存两份,并且分布在不同的存储节点上,保证单一存储节点的故障不会造成数据丢失。

(7)可靠性:在计算层,存储层和网络互联层均做到物理冗余。

(8)运维难度较大:开放存储系统采用软件自定义存储方式,和传统封闭存储系统有很大的不同,对运维人员的技术要求比较高,难度较高1。

开放式存储系统产品2008年,Sun发布了开放式存储系统包中的首批3款产品,其中每一款产品都包含一个支持多种操作环境的全面集成的软件解决方案,这是具有标准高速联网功能、磁带互联,以及带有强大的分析工具的业界最具综合性的管理软件。这些新的存储系统也是全面拓展Solaris ZFS内的闪存混合存储(Flash Hybrid Storage Pools)功能的唯一系统,可自动加速和优化性能,且可降低所需功耗和冷却成本。

Sun Storage 7110:超紧密型存储器,存储容量为2TB。

Sun Storage 7210:中档存储器,在一个高密度的4U系统内存储容量可达48TB,它支持采用Sun独特的闪存混合存储技术的写入优化的固态硬盘(SSDs);

Sun Storage 7410:高配置的存储系统,支持的存储容量高达500T B,支持读写均优化的固态硬盘和Sun独特的闪存混合存储技术。这些新的存储系统还能以集群配置形式提供,以便获得更高的可用性。

所有的Sun Storage 7000统一存储系统,都打破了那种给每一个存储器功能提出苛刻要求的行业趋势,这些功能包括无附加成本的各种综合性的数据服务,例如快照/克隆、恢复、镜像、RAID-5、RAID-6 、复制、Active-Active集群、压缩、自动精简配置(Thin Provisioning)、CIFS、NFS、iSCSI、HTTP/FTP和WebDAV等。因为Sun Storage 7000统一存储系统的这一独特设计,当客户们经由包含在每个系统中的自动更新功能获得了由Sun提供的新的数据服务和功能之时,他们也就会从这些连续的创新技术中多多受益了2。

Sun公司独特的混合存储(Hybrid Storage Pool)技术将DRAM、读操作得到优化的闪存器件以及低成本和低功率的磁盘驱动器作为单一高速缓存级,用128位ZFS文件系统对其加以透明管理。混合存储以低得多的功耗和更低的每GB成本实现了高于传统存储系统的性能。混合存储还用来存储文件和CIFS,NFS等块协议的数据,可以提供一套丰富的企业数据服务,如集群和数据复制。