CN109600264A - CloudStack云平台 - Google Patents
CloudStack云平台 Download PDFInfo
- Publication number
- CN109600264A CN109600264A CN201811558456.4A CN201811558456A CN109600264A CN 109600264 A CN109600264 A CN 109600264A CN 201811558456 A CN201811558456 A CN 201811558456A CN 109600264 A CN109600264 A CN 109600264A
- Authority
- CN
- China
- Prior art keywords
- server
- cloud platform
- primary server
- standby
- cloudstack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种CloudStack云平台,包括:互为备份的主服务器和备用服务器,在主服务器和备用服务器之间设置Keepalived,Keepalived生成CloudStack云平台的虚拟IP,当主服务器无故障时,Keepalived将虚拟IP连接至主服务器,当主服务器故障后,Keepalived启动备用服务器,并将虚拟IP和故障时主服务器的业务转移至备用服务器;主服务器和备用服务器还包括守护监控进程,守护监控进程用于检测自身服务器是否发生故障,并且在检测到故障后,停止自身服务器上的业务。基于本发明的CloudStack云平台,可以实现HA,并可避免平台脑裂。
Description
技术领域
本发明涉及计算机领域,特别涉及一种CloudStack云平台。
背景技术
图1为一种CloudStack云平台,该CloudStack云平台由一个服务器组成,用户通过该服务器的IP访问CloudStack云平台。如果服务器发生宕机或断网,就会导致该CloudStack云平台不可用,使得该CloudStack云平台的业务服务中断,直至服务器恢复正常。由此可知,图1的CloudStack云平台不具有HA(HighAvailability)功能。
图2为另一种CloudStack云平台,该CloudStack云平台由两个服务器组成,一个为主服务器,另一个为备用服务器,两台服务器均安装完整的CloudStack软件。但经测试,图2的集群方案有些缺陷,比如云平台IP不能实现故障切换,两个服务器存储的资源不能共享。其原因在于,CloudStack本身就没解决这些问题,作为后台管理平台,其本身并发量并不大,因而也未开发集群功能。因此图2的CloudStack云平台也不具有HA(HighAvailability)。
发明内容
有鉴于此,本发明提供一种CloudStack云平台,以实现CloudStack云平台的HA功能。
本发明提供一种CloudStack云平台,CloudStack云平台包括主服务器和备用服务器,主服务器和备用服务器上存储的资源互为备份;
在主服务器和备用服务器之间设置Keepalived,Keepalived生成CloudStack云平台的虚拟IP,当主服务器无故障时,Keepalived将虚拟IP连接至主服务器,当主服务器故障后,Keepalived启动备用服务器,并将虚拟IP和故障时主服务器的业务切换至备用服务器;
主服务器和备用服务器还包括守护监控进程,守护监控进程用于检测自身服务器是否发生故障,并且在检测到故障后,停止自身服务器上的业务。
本发明的CloudStack云平台可以实现主服务器故障时,备用服务器自动接管,无需人为干预。主服务器和备用服务器自动备份,保障数据安全。故障期间新增数据,待故障恢复后会自动同步。CloudStack+HA方案能解决现有服务器故障造成业务中断的风险。此外,本发明CloudStack+HA方案较普通的HA解决方案做了优化,通过守护监控进程检测自身服务器故障,发现故障即停掉自身业务,避免脑裂引起的系统混乱和数据破坏。
附图说明
图1为现有技术的第一CloudStack云平台;
图2为现有技术的第二CloudStack云平台
图3为本发明的CloudStack云平台第一结构图;
图4为本发明的CloudStack云平台第二结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图3所示,本发明提供一种CloudStack云平台,包括主服务器和备用服务器,主服务器和备用服务器上存储的资源互为备份;
在主服务器和备用服务器之间设置Keepalived,Keepalived生成CloudStack云平台的虚拟IP(172.16.60.10),当主服务器无故障时,Keepalived将虚拟IP连接至主服务器,当主服务器故障后,Keepalived启动备用服务器,并将虚拟IP和故障时主服务器的业务切换至备用服务器;
主服务器和备用服务器还包括守护监控进程(主服务器对应守护监控进程1,备用服务器对应守护监控进程2),守护监控进程用于检测自身服务器是否发生故障,并且在检测到故障后,停止自身服务器上的业务。
故障至少包括宕机或断网。
图3中主服务器和备用服务器上均安装完整的CloudStack软件。虚拟IP(172.16.60.10)对用户可见,主服务器A的IP:172.16.60.15和备用服务器B的IP:172.16.60.16对用户不可见。
Keepalived通过对主服务器和备用服务器B进行心跳检测,确认服务器是否发生故障。实现方法包括:在网上下载Keepalived安装包,然后在2个服务器上安装Keepalived,最后修改Keepalived配置文件。
例如打开配置文件(路径/etc/keepalived/keepalived.conf),修改如下参数:priority(权重,决定那一台服务器是主服务器),virtual_ipaddress(虚拟IP,指定本系统用的虚拟IP)。
本发明的CloudStack+HA方案,通过Keepalived实现HA功能,通过守护监控进程避免脑裂。
脑裂(split-brain):指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,结果会导致系统混乱,数据损坏。对于无状态服务的HA,不会产生脑裂问题;但对有状态服务的HA,必须要严格防止脑裂。
如图4所示,主服务器上还可以设置第一Nginx、第一Tomac;备用服务器上还可以设置第二Nginx、第二Tomac;相应地第一Nginx为主模式,第二Nginx为备用模式,第一Tomac为主模式,第二Tomac为备用模式;
当主服务器无故障时,第一Nginx用于连接虚拟IP,并将用户的访问请求转发给第一Tomac;当主服务器故障时,第二Nginx用于连接虚拟IP,并将用户的访问请求转发给第二Tomac。
或者主服务器上还设置第一Mysql;备用服务器上还设置第二Mysql;第一Mysql和第二Mysql为主主互备模式,用于存储CloudStac云平台的资源。
Nginx是第三方开源软件,主要作用是把页面的请求转发给服务器的Tomcat。例如,当用户访问的页面是172.16.60.10/client,Nginx的作用是把请求转发到172.16.60.10:8080/client,8080就是Tomcat的访问端口。其实现方法包括:在网上下载Nginx安装包,然后安装在服务器中,最后修改配置文件。例如打开配置文件(路径/etc/nginx/nginx.conf),修改参数如下:location^~/client{proxy_pass http://127.0.0.1:8080/client;}。
Mysql数据库的主主互备模式为Mysql的特性,即任一主数据库的改动均可同步到备用数据库,备用数据库的改动也可以同步到主数据库。本发明只需要设置同步的数据库服务器和同步的位置即可。设置接口包括:configMysql(配置数据库主主互备),设置脚本包括:“CHANGE MASTER TOMASTER_HOST='$BackupServer',MASTER_USER='repl_user',MASTER_PASSWORD='$MYSQL_PASSWD',MASTER_PORT=3306,MASTER_LOG_FILE='$binlogname',MASTER_LOG_POS=$position”。
CloudStack为开源的云平台,主要用Java语言开发,运行在Tomcat Web应用服务器和Mysql数据库服务器上,此部分无需修改。
守护监控进程为本发明开发的程序,用于监控服务器和网络,及检测到异常时停止自身主服务器业务。基于图4的结构,守护监控进程可以对Nginx、Mysql、Tomcat应用程序进行监控。当服务器发生宕机或者断网,或者Nginx、Mysql、Tomcat发生异常时,守护监控进程立即停止自身主服务器业务,然后触发Keepalived将虚拟IP切换到另一台服务器,并启动该服务器的Cloudstack等业务服务。守护监控进程还检测网络,发现自己断网就自毁(停掉自身业务),以避免系统混乱,数据破坏。网络检测通过以下两个途径实现:(A)Ping网关;(B)检测网口状态。
守护监控进程具体监控的接口包括:checkNetwork(检测网络:(A).Ping网关;(B).检测网口状态),checkKeepalived(检测Keepalived),checkNginx(检测Nginx),checkTomcat(检测Tomcat),checkMysql(检测Mysql),stopNginx(停止Nginx),stopTomcat(停止Tomcat),stopMysql(停止Mysql)。
当主服务器或备用服务器的任何一个节点发生异常并不可恢复的话,CloudStack云平台通过添加新的HA节点(已安装Nginx、Tomcat、Mysql、Keepalived和CloudStack)补入缺失的服务器。例如,可在HA节点增设页面轻松添加新的HA节点,基于数据库主主互备,新的HA节点通过数据备份获得云平台的数据。
HA节点增设页面,可以用Java语言开发,通过调用脚本添加新的HA节点。脚本的主要接口有:configKeepalived(配置Keepalived),configNginx(配置Nginx),configMysql(配置数据库主主互备)。
上述本发明CloudStack+HA方案较普通的HA解决方案做了优化,当云平台任何一个服务器节点发生故障,可以添加新的节点为新的HA节点,避免两个HA节点都出现故障的问题。
另外,本方案通过页面配置HA,简化配置流程和避免手动配置人为造成的错误。如果需要添加新的HA节点,亦可在页面轻松添加新的HA节点。
综上,本发明的CloudStack平台具有以下技术优点:
(1)Keepalived+守护监控进程让业务永不中断,并避免脑裂问题。
Keepalived,对主服务器A和备用服务器B进行心跳检测,但当服务器停止工作或出现突然断电的情况后,主服务器无法通知备用服务器需要做什么操作,Keepalived自动将虚拟IP切换至备用服务器,并启动备用服务器的Cloudstack等业务服务。
守护监控进程对Nginx、Mysql、Tomcat应用程序进行监控,发生异常时,并自动停止自身服务器的Cloudstack等业务服务。普通HA方案具有脑裂问题,本申请通过守护监控进程对服务器和网络状态进行检测,发现自己故障或网络异常就自毁(停掉自身业务),避免系统混乱,数据破坏。
(2)数据库主主互备,能确保备用服务器的数据同步到主服务器,主服务器的数据也能同步到备用服务器,确保IP切换时,任一服务器都能继续提供业务服务。
(3)可轻松添加新的HA节点。
以上所述仅为本发明的较佳实施例而已,并不用以限定本发明的包含范围,凡在本发明技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种CloudStack云平台,其特征在于,所述CloudStack云平台包括主服务器和备用服务器,所述主服务器和备用服务器上存储的资源互为备份;
在所述主服务器和备用服务器之间设置Keepalived,所述Keepalived生成所述CloudStack云平台的虚拟IP,当所述主服务器无故障时,所述Keepalived将所述虚拟IP连接至所述主服务器,当所述主服务器故障后,所述Keepalived启动所述备用服务器,并将所述虚拟IP和故障时所述主服务器的业务切换至所述备用服务器;
所述主服务器和备用服务器还包括守护监控进程,所述守护监控进程用于检测自身服务器是否发生故障,并且在检测到故障后,停止自身服务器上的业务。
2.根据权利要求1所述的CloudStack云平台,其特征在于,
所述主服务器上设置第一Nginx、第一Tomac;所述备用服务器上设置第二Nginx、第二Tomac;所述第一Nginx为主模式,所述第二Nginx为备用模式,所述第一Tomac为主模式,所述第二Tomac为备用模式;
当所述主服务器无故障时,所述第一Nginx用于连接所述虚拟IP,并将用户的访问请求转发给所述第一Tomac;当所述主服务器故障时,所述第二Nginx用于连接所述虚拟IP,并将用户的访问请求转发给所述第二Tomac。
3.根据权利要求2所述的CloudStack云平台,其特征在于,
所述主服务器上还设置第一Mysql;所述备用服务器上还设置第二Mysql;所述第一Mysql和第二Mysql为主主互备模式,用于存储所述CloudStack云平台的资源。
4.根据权利要求3所述的CloudStack云平台,其特征在于,所述守护监控进程用于检测自身服务器是否发生故障包括:所述守护监控进程用于检测所在服务器的Nginx、Tomcat、Mysql是否发生异常,和检测当前网络是否发生异常。
5.根据权利要求1所述的CloudStack云平台,其特征在于,当所述主服务器或备用服务器发生故障且不可恢复,所述CloudStack云平台通过添加新的HA节点补入缺失的服务器。
6.根据权利要求1所述的CloudStack云平台,其特征在于,所述故障至少包括宕机或断网。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811558456.4A CN109600264A (zh) | 2018-12-19 | 2018-12-19 | CloudStack云平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811558456.4A CN109600264A (zh) | 2018-12-19 | 2018-12-19 | CloudStack云平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109600264A true CN109600264A (zh) | 2019-04-09 |
Family
ID=65964225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811558456.4A Pending CN109600264A (zh) | 2018-12-19 | 2018-12-19 | CloudStack云平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109600264A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352995A (zh) * | 2020-02-25 | 2020-06-30 | 中信银行股份有限公司 | 基于数据库Neo4j的服务器服务方法、系统、设备和存储介质 |
CN111835576A (zh) * | 2019-04-19 | 2020-10-27 | 厦门网宿有限公司 | 基于dpvs的后端服务器健康检测方法和服务器 |
CN112860485A (zh) * | 2021-02-03 | 2021-05-28 | 北京北信源信息安全技术有限公司 | 基于keepalived的双机热备系统的控制方法 |
CN112862565A (zh) * | 2021-01-19 | 2021-05-28 | 上海映荷网络科技有限公司 | 一种基于云计算的跨境电商多平台销售系统 |
CN116107787A (zh) * | 2023-02-15 | 2023-05-12 | 学科网(北京)股份有限公司 | 一种解决双机高可用架构脑裂的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500126A (zh) * | 2013-10-28 | 2014-01-08 | 北京大学 | 一种云计算平台的自动化容错配置方法 |
CN106357432A (zh) * | 2016-08-30 | 2017-01-25 | 厦门鑫点击网络科技股份有限公司 | 基于web服务器的混合式虚拟主机管理平台 |
CN106993037A (zh) * | 2017-03-31 | 2017-07-28 | 山东超越数控电子有限公司 | 一种基于分布式系统的负载均衡服务器实现高可用性的方法 |
-
2018
- 2018-12-19 CN CN201811558456.4A patent/CN109600264A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500126A (zh) * | 2013-10-28 | 2014-01-08 | 北京大学 | 一种云计算平台的自动化容错配置方法 |
CN106357432A (zh) * | 2016-08-30 | 2017-01-25 | 厦门鑫点击网络科技股份有限公司 | 基于web服务器的混合式虚拟主机管理平台 |
CN106993037A (zh) * | 2017-03-31 | 2017-07-28 | 山东超越数控电子有限公司 | 一种基于分布式系统的负载均衡服务器实现高可用性的方法 |
Non-Patent Citations (1)
Title |
---|
肖佳: "双机热备与负载均衡的设计与实现", 《电子设计工程》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835576A (zh) * | 2019-04-19 | 2020-10-27 | 厦门网宿有限公司 | 基于dpvs的后端服务器健康检测方法和服务器 |
CN111835576B (zh) * | 2019-04-19 | 2022-03-04 | 厦门网宿有限公司 | 基于dpvs的后端服务器健康检测方法和服务器 |
CN111352995A (zh) * | 2020-02-25 | 2020-06-30 | 中信银行股份有限公司 | 基于数据库Neo4j的服务器服务方法、系统、设备和存储介质 |
CN112862565A (zh) * | 2021-01-19 | 2021-05-28 | 上海映荷网络科技有限公司 | 一种基于云计算的跨境电商多平台销售系统 |
CN112860485A (zh) * | 2021-02-03 | 2021-05-28 | 北京北信源信息安全技术有限公司 | 基于keepalived的双机热备系统的控制方法 |
CN116107787A (zh) * | 2023-02-15 | 2023-05-12 | 学科网(北京)股份有限公司 | 一种解决双机高可用架构脑裂的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600264A (zh) | CloudStack云平台 | |
CN102231681B (zh) | 一种高可用集群计算机系统及其故障处理方法 | |
US10320898B2 (en) | Automated multi-network failover for data centers | |
US7681088B2 (en) | Apparatus expressing high availability cluster demand based on probability of breach | |
US7093013B1 (en) | High availability system for network elements | |
CN103812675A (zh) | 一种实现业务交付平台异地容灾切换的方法和系统 | |
CN105302661A (zh) | 一种实现虚拟化管理平台高可用的系统和方法 | |
WO2008020949A1 (en) | Service resiliency within on-premise products | |
EP3210367A1 (en) | System and method for disaster recovery of cloud applications | |
CN103607296A (zh) | 一种虚拟机故障处理方法和设备 | |
JP5753030B2 (ja) | キャッシュクラウド構造を利用したキャッシュシステムおよびキャッシングサービスの提供方法 | |
CN111212127A (zh) | 一种存储集群及业务数据的维护方法、装置和存储介质 | |
CN114116912A (zh) | 一种基于Keepalived实现数据库高可用的方法 | |
CN113835836A (zh) | 动态发布容器服务的系统、方法、计算机设备及介质 | |
CN105490847A (zh) | 一种私有云存储系统中节点故障实时检测及处理方法 | |
CN117201507A (zh) | 云平台切换方法、装置、电子设备及存储介质 | |
CN117240694A (zh) | 一种基于keepalived的双机热备主备切换方法、装置及系统 | |
JP5285044B2 (ja) | クラスタシステム復旧方法及びサーバ及びプログラム | |
JP6555721B2 (ja) | 障害復旧システム及び方法 | |
CN116192885A (zh) | 高可用集群架构人工智能实验云平台数据处理方法及系统 | |
CN115712521A (zh) | 一种集群节点故障处理方法、系统及介质 | |
KR20140140719A (ko) | 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법 | |
US20120230207A1 (en) | Early detection of loss of continuity in a maintenance association | |
JP2006285453A (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
WO2012149744A1 (zh) | 主备管理软件的切换方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518057 Shenzhen Software Park, No. 9, 501, 502, Science and Technology Middle Road, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Innovation Technology Co.,Ltd. Address before: 518057 Shenzhen Software Park, No. 9, 501, 502, Science and Technology Middle Road, Nanshan District, Shenzhen City, Guangdong Province Applicant before: UITSTOR (USA) Inc. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190409 |