共享存储系统和共享存储方法与流程

文档序号:17720401发布日期:2019-05-22 02:07阅读:464来源:国知局
共享存储系统和共享存储方法与流程

本发明实施例涉及计算机技术,尤其涉及一种共享存储系统和共享存储方法。



背景技术:

当前企事业单位已将业务系统、生产系统、财务系统、管理系统等信息化,随着技术进步,虚拟化技术已经应用于企事业单位信息中心,基于虚拟化技术将一台物理服务器虚拟成多台虚拟服务器分配给不同的信息系统使用。但是若物理服务器宕机,各类信息系统将不能继续对外服务,因此对服务器的高可用(highavailable,ha)性的需求强烈。

当前主流的解决方案是通过高可用(ha)软件与共享存储方案。高可用软件包括商用的roseha,开源的heartbeat/keepalived等软件;共享存储方式多样,如采用存储区域网络(storageareanetwork,san)、网络附加存储(networkattachedstorage,nas)、分布式文件存储系统等配合高可用软件来实现业务系统的主备切换。

但这些共享存储方案中,san/nas存储系统成本较高,系统安装调试与日常维护复杂,分布式文件存储系统逻辑复杂,不同分布式文件系统算法和架构不同,需要专业技术人员才能进行维护。因此目前的共享存储方案不适用于中小企业的关键应用场合。



技术实现要素:

本发明提供一种共享存储系统和共享存储方法,提供了一种可靠地共享存储方案,可以用用于关键应用场合。

第一方面,本发明实施例提供一种共享存储系统,包括:第一服务器节点、第二服务器节点、存储控制器芯片和存储磁盘阵列;

第一服务器节点和第二服务器节点通过存储控制器芯片与存储磁盘阵列连接;

存储控制器芯片用于控制存储磁盘阵列的访问权,使主服务器节点获取存储控制器芯片的控制权,从服务器节点不可读写存储磁盘阵列;

第一服务器节点用于作为主服务器节点,获取存储控制器芯片的控制权,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理;

第二服务器节点用于检测第一服务器节点的状态,当第一服务器节点故障或维护时,获取存储控制器芯片的控制权;

存储控制器芯片还用于当第二服务器节点获取存储控制器芯片的控制权后,将第二服务器节点作为主服务器节点,并将第一服务器节点作为从服务器节点。

在第一方面一种可能的实现方式中,存储磁盘阵列包括第一存储磁盘阵列和第二存储磁盘阵列;

存储控制器芯片用于控制存储磁盘阵列的访问权,使第一服务器节点通过存储控制器芯片访问第一存储磁盘阵列进行数据存储处理,使第二服务器节点通过存储控制器芯片访问第二存储磁盘阵列进行数据存储处理;

第一服务器节点或第二服务器节点用于检测另一服务器节点的状态,当第一服务器节点或第二服务器节点故障或维护时,通知存储控制器芯片调整存储磁盘阵列的访问权,使故障或维护的服务器节点不可读写存储磁盘阵列,未故障的服务器节点通过存储控制器芯片同时访问第一存储磁盘阵列和第二存储磁盘阵列进行数据存储处理。

在第一方面一种可能的实现方式中,共享存储系统还包括背板,存储控制器芯片设置于背板上,背板上还包括总线接口和磁盘槽位;

第一服务器节点和第二服务器节点通过总线接口连接在背板上,存储磁盘阵列通过磁盘槽位连接在背板上。

在第一方面一种可能的实现方式中,总线接口包括pcie接口。

在第一方面一种可能的实现方式中,存储磁盘阵列包括至少一个sas接口的磁盘。

在第一方面一种可能的实现方式中,第一服务器节点和第二服务器节点包括raid卡,第一服务器节点和第二服务器节点通过raid卡访问存储磁盘阵列中的多个sas磁盘。

在第一方面一种可能的实现方式中,第一服务器节点或第二服务器节点,具体用于:当检测到自身是主服务器节点时,挂载存储磁盘阵列,并启动应用服务。

第二方面,本发明实施例还提供了一种共享存储方法,应用于共享存储系统,共享存储系统包括:第一服务器节点、第二服务器节点、存储控制器芯片和存储磁盘阵列,第一服务器节点和第二服务器节点通过存储控制器芯片与存储磁盘阵列连接;

共享存储方法包括:

存储控制器芯片控制存储磁盘阵列的访问权,使主服务器节点获取存储控制器芯片的控制权,从服务器节点不可读写存储磁盘阵列;

第一服务器节点作为主服务器节点,获取存储控制器芯片的控制权,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理;

第二服务器节点检测第一服务器节点的状态,当第一服务器节点故障或维护时,获取存储控制器芯片的控制权;

当第二服务器节点获取存储控制器芯片的控制权后,存储控制器芯片将第二服务器节点作为主服务器节点,并将第一服务器节点作为从服务器节点。

在第二方面一种可能的实现方式中,存储磁盘阵列包括第一存储磁盘阵列和第二存储磁盘阵列;

方法还包括:

存储控制器芯片控制存储磁盘阵列的访问权,使第一服务器节点通过存储控制器芯片访问第一存储磁盘阵列进行数据存储处理,使第二服务器节点通过存储控制器芯片访问第二存储磁盘阵列进行数据存储处理;

第一服务器节点或第二服务器节点检测另一服务器节点的状态,当第一服务器节点或第二服务器节点故障或维护时,通知存储控制器芯片调整存储磁盘阵列的访问权,使故障或维护的服务器节点不可读写存储磁盘阵列,未故障的服务器节点通过存储控制器芯片同时访问第一存储磁盘阵列和第二存储磁盘阵列进行数据存储处理。

在第二方面一种可能的实现方式中,第一服务器节点作为主服务器节点,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理,包括:

第一服务器节点检测自身是否为主服务器;

当第一服务器节点为主服务器节点时,挂载存储磁盘阵列;

第一服务器节点启动应用服务,访问存储磁盘阵列进行数据存储处理;

当第二服务器节点作为主服务器节点时,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理,包括:

第二服务器节点检测自身是否为主服务器;

当第二服务器节点为主服务器节点时,挂载存储磁盘阵列;

第二服务器节点启动应用服务,访问存储磁盘阵列进行数据存储处理。

本发明实施例提供的共享存储系统和共享存储方法,包括:第一服务器节点、第二服务器节点、存储控制器芯片和存储磁盘阵列,第一服务器节点和第二服务器节点通过存储控制器芯片与存储磁盘阵列连接,存储控制器芯片用于控制存储磁盘阵列的访问权,使主服务器节点获取存储控制器芯片的控制权,从服务器节点不可读写存储磁盘阵列;第一服务器节点用于作为主服务器节点,获取存储控制器芯片的控制权,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理;第二服务器节点用于检测第一服务器节点的状态,当第一服务器节点故障或维护时,获取存储控制器芯片的控制权;存储控制器芯片还用于当第二服务器节点获取存储控制器芯片的控制权后,将第二服务器节点作为主服务器节点,并将第一服务器节点作为从服务器节点,从而实现两个服务器节点间互相备援、共享存储,当一个计算机节点发生故障,另一个计算机节点顺利接管上层软件应用与数据,使用户业务继续运行不间断,数据不丢失,可用于关键任务场合的计算机应用部署,以解决关键应用场合服务器不能关机,数据不能丢失、业务不能中断等要求。

附图说明

图1为本发明实施例提供的共享存储系统实施例一的结构示意图;

图2为本发明实施例提供的共享存储系统的具体结构示意图;

图3为本发明实施例提供的共享存储方法实施例一的流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1为本发明实施例提供的共享存储系统实施例一的结构示意图,如图1所示,本实施例提供的共享存储系统包括:

第一服务器节点11、第二服务器节点12、存储控制器芯片13和存储磁盘阵列14。第一服务器节点11和第二服务器节点12通过存储控制器芯片13与存储磁盘阵列14连接。存储磁盘阵列14包括至少一个存储磁盘。第一服务器节点11和第二服务器节点12分别为独立的具有处理功能的节点,在第一服务器节点11和第二服务器节点12中分别安装有独立的操作系统和存储服务应用。存储控制器芯片13为用于具有控制存储访问权切换能力的存储控制器芯片。

存储控制器芯片13用于控制存储磁盘阵列14的访问权,使主服务器节点获取存储控制器芯片13的控制权,从服务器节点不可读写存储磁盘14阵列。存储控制器芯片13使得在同一时间内只有一个服务器节点访问存储磁盘阵列14,避免数据污染。第一服务器节点11和第二服务器节点12中,有一个作为主服务器节点另一个作为从服务器节点,只有主服务器节点可以访问存储磁盘阵列14中的存储磁盘。第一服务器节点11和第二服务器节点12哪个作为主服务器节点是由存储控制器芯片13确定的。第一服务器节点11和第二服务器节点12中,有一个作为默认的主服务器节点,例如第一服务器节点11,也就是在默认情况下,第一服务器节点11作为主服务器节点,获取存储控制器芯片13的控制权,通过存储控制器芯片13访问存储磁盘阵列14进行数据存储处理。第二服务器节点12检测第一服务器节点11的状态,当第一服务器节点11故障或维护时,获取存储控制器芯片13的控制权。存储控制器芯片13还用于当第二服务器节点12获取存储控制器芯片13的控制权后,将第二服务器节点12作为主服务器节点,并将第一服务器节点11作为从服务器节点。这样第二服务器节点12就将作为主服务器节点,通过存储控制器芯片13访问存储磁盘阵列14进行数据存储处理。

那么,本实施例提供的共享存储系统,使用两个服务器节点进行相互备份,共享存储,当一个服务器节点发生故障时,另一个服务器节点可以顺利接管数据存储服务,可以使用户业务继续运行不间断,数据不会丢失,可以用于关键任务场合的计算机应用部署,以解决关键应用场合服务器不能关机,数据不能丢失,业务不能中断等要求。同时满足低延迟性、高带宽性需求,以及高可用性、可靠性及维护性等。

图1所示的共享存储系统仅示出各网元之间的逻辑连接关系,但在实际应用中,各器件之间需要通过一定的连接接口或连接器件进行连接,图2为本发明实施例提供的共享存储系统的具体结构示意图,如图2所示,存储控制器芯片13设置于背板15上,背板上还包括总线接口16和磁盘槽位17。第一服务器节点11和第二服务器节点12通过总线接口16连接在背板15上,存储磁盘阵列14通过磁盘槽位17连接在背板15上。也就是共享存储系统作为一个完整的设备呈现,其中各器件都通过背板15实现相互连接。背板15在各种计算机硬件系统中都存在,其作用就是将各种不同的器件连接在一起。背板15上设置有总线接口16和磁盘槽位17,总线接口16为两个,分别用于连接第一服务器节点11和第二服务器节点12,总线接口16的具体结构根据第一服务器节点11和第二服务器节点12的接口所确定。例如,当前常用的计算机系统中常使用高速串行扩展总线(peripheralcomponentinterconnectexpress,pcie)接口作为连接接口,因此总线接口16可以为pcie接口,相应地,第一服务器节点11和第二服务器节点12上包括pcie插槽,第一服务器节点11和第二服务器节点12通过pcie插槽与背板15上的pcie接口连接。背板15上还设置有若干个磁盘槽位17,存储磁盘阵列14中的各存储磁盘安装于各磁盘槽位17中。存储控制器芯片13设置于背板15上,通过背板15上的走线与各总线接口16和各磁盘槽位17连接,从而可以与安装在总线接口16和磁盘槽位17中的第一服务器节点11、第二服务器节点12和存储磁盘阵列14连接。第一服务器节点11和第二服务器节点12使用专用的内部网络接口卡(networkinterfacecard,nic)进行数据传输。内部网络接口卡使用背板15的pcie通道传输两个服务器节点之间的数据交互,无需额外的网线。背板15可以采用开放标准pcie3.0设计,符合标准的pcie3.0规范。存储控制器芯片13可以为多种型号的存储器控制芯片,例如12gb/s或6gb/s的存储器控制芯片。第一服务器节点11访问存储磁盘阵列14中存储磁盘的具体过程为:指令或数据经过cpu处理后通过pcie接口达到背板15上的总线电路,背板15上的总线电路经过存储控制器芯片13达到存储磁盘阵列14上的一个存储磁盘,然后在该存储磁盘上执行指令或操作数据。而当第一服务器节点11故障或需要维护时,第二服务器节点12检测到第一服务器节点11故障或维护时,将获取存储控制器芯片13的控制权,那么第二服务器节点12访问存储磁盘阵列14中存储磁盘的具体过程为:指令或数据经过cpu处理后通过pcie接口达到背板15上的总线电路,背板15上的总线电路经过存储控制器芯片13达到存储磁盘阵列14上的一个存储磁盘,然后在该存储磁盘上执行指令或操作数据。

进一步地,存储磁盘阵列14中的各存储磁盘可以为串行连接scsi接口(serialattachedscsi,sas)的硬盘,那么磁盘槽位17也是符合sas标准的磁盘槽位。同时,由于存储磁盘阵列14中包括多个存储磁盘,为了使第一服务器节点11和第二服务器节点12能够访问多个存储磁盘,因此,在第一服务器节点11和第二服务器节点12上可以设置有磁盘阵列(redundantarraysofindependentdrives,raid)卡,主服务器节点11和从服务器节点12通过raid卡访问存储磁盘阵列14中的多个sas磁盘。主服务器节点11和从服务器节点12中的raid卡通过磁盘簇(justabunchofdisks,jbod)模式将存储磁盘阵列14中的多个sas存储磁盘呈现给第一服务器节点11和第二服务器节点12中的操作系统。

在第一服务器节点11和第二服务器节点12中分别安装操作系统,部署应用软件,配置高可用软件,第一服务器节点11和第二服务器节点12部署的操作系统、应用软件、高可用软件版本完全一致。第一服务器节点11和第二服务器节点12中的raid卡支持jbod模式,将裸磁盘呈现给操作系统,操作系统使用多路径连线(multi-path)组件管理磁盘,考虑数据安全性应该使用软raid做raid1/raid5/raid10冗余。

第一服务器节点11和第二服务器节点12中,为了满足共享存储,需要分别运行一个脚本,在第一服务器节点11和第二服务器节点12中,执行启动脚本后,运行心跳检测服务,当检测到自身是主服务器节点时,执行挂在共享存储的服务,然后启动应用服务脚本,若自身不是主服务器节点,那么将重新执行心跳监测服务。在启动应用服务脚本之后,检测是否有退出指令,若有退出指令则执行退出脚本。

本实施例提供的共享存储系统,包括:第一服务器节点、第二服务器节点、存储控制器芯片和存储磁盘阵列,第一服务器节点和第二服务器节点通过存储控制器芯片与存储磁盘阵列连接,存储控制器芯片用于控制存储磁盘阵列的访问权,使主服务器节点获取存储控制器芯片的控制权,从服务器节点不可读写存储磁盘阵列;第一服务器节点用于作为主服务器节点,获取存储控制器芯片的控制权,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理;第二服务器节点用于检测第一服务器节点的状态,当第一服务器节点故障或维护时,获取存储控制器芯片的控制权;存储控制器芯片还用于当第二服务器节点获取存储控制器芯片的控制权后,将第二服务器节点作为主服务器节点,并将第一服务器节点作为从服务器节点,从而实现两个服务器节点间互相备援、共享存储,当一个计算机节点发生故障,另一个计算机节点顺利接管上层软件应用与数据,使用户业务继续运行不间断,数据不丢失,可用于关键任务场合的计算机应用部署,以解决关键应用场合服务器不能关机,数据不能丢失、业务不能中断等要求。

进一步地,本发明实施例提供的共享存储系统中,存储磁盘阵列14包括第一存储磁盘阵列和第二存储磁盘阵列;存储控制器芯片13用于控制存储磁盘阵列14的访问权,使第一服务器节点11通过存储控制器芯片13访问第一存储磁盘阵列进行数据存储处理,使第二服务器节点12通过存储控制器芯片13访问第二存储磁盘阵列进行数据存储处理;第一服务器节点11或第二服务器节点12用于检测另一服务器节点的状态,当第一服务器节点11或第二服务器节点12故障或维护时,通知存储控制器芯片13调整存储磁盘阵列14的访问权,使故障或维护的服务器节点不可读写存储磁盘阵列,未故障的服务器节点通过存储控制器芯片13同时访问第一存储磁盘阵列和第二存储磁盘阵列进行数据存储处理。也就是说,第一服务器节点11和第二服务器节点12分别对应有存储磁盘阵列14中的一部分存储磁盘,可以分别运行存储服务,当一个服务器节点故障时,另一服务器节点可以访问故障的服务器节点对应的存储磁盘,使得业务不会中断。

图3为本发明实施例提供的共享存储方法实施例一的流程图,本实施例提供的共享存储方法应用于共享存储系统,共享存储系统包括:第一服务器节点、第二服务器节点、存储控制器芯片和存储磁盘阵列,第一服务器节点和第二服务器节点通过存储控制器芯片与存储磁盘阵列连接。如图3所示,本实施例提供的方法包括:

步骤s301,存储控制器芯片控制存储磁盘阵列的访问权,使主服务器节点获取存储控制器芯片的控制权,从服务器节点不可读写存储磁盘阵列。

步骤s302,第一服务器节点作为主服务器节点,获取存储控制器芯片的控制权,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理。

步骤s303,第二服务器节点检测第一服务器节点的状态,当第一服务器节点故障或维护时,获取存储控制器芯片的控制权。

步骤s304,当第二服务器节点获取存储控制器芯片的控制权后,存储控制器芯片将第二服务器节点作为主服务器节点,并将第一服务器节点作为从服务器节点。

本实施例提供的共享存储方法的具体实现方法已经在图1所示实施例中进行了详细说明,其实现原理和技术效果类似,此处不再赘述。

进一步地,在图3所示实施例的基础上,存储控制器芯片控制存储磁盘阵列的访问权,使第一服务器节点通过存储控制器芯片访问第一存储磁盘阵列进行数据存储处理,使第二服务器节点通过存储控制器芯片访问第二存储磁盘阵列进行数据存储处理;第一服务器节点或第二服务器节点检测另一服务器节点的状态,当第一服务器节点或第二服务器节点故障或维护时,通知存储控制器芯片调整存储磁盘阵列的访问权,使故障或维护的服务器节点不可读写存储磁盘阵列,未故障的服务器节点通过存储控制器芯片同时访问第一存储磁盘阵列和第二存储磁盘阵列进行数据存储处理。

进一步地,在图3所示实施例的基础上,第一服务器节点作为主服务器节点,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理,包括:第一服务器节点检测自身是否为主服务器;当第一服务器节点为主服务器节点时,挂载存储磁盘阵列;第一服务器节点启动应用服务,访问存储磁盘阵列进行数据存储处理;当第二服务器节点作为主服务器节点时,通过存储控制器芯片访问存储磁盘阵列进行数据存储处理,包括:第二服务器节点检测自身是否为主服务器;当第二服务器节点为主服务器节点时,挂载存储磁盘阵列;第二服务器节点启动应用服务,访问存储磁盘阵列进行数据存储处理。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1