heartbeat v2版CRM的高可用web集群的实现

简介:

集群架构图 :

                                    主节点(172.16.31.10)

客户端(172.16.31.12) Vitual IP(172.16.31.166)                            NFS IP(172.16.31.12)

                                    从节点(172.16.31.11)


注:心跳信息传递借助eth0网卡实现



网络以及IP地址规划如下所示:

节点类型     IP地址规划          主机名      类型

主用节点     eth0:172.16.31.10     node1       Public IP

          eth0:0 :172.16.31.180  Virtual IP

备用节点     eth0:172.16.31.11     node2       Public IP

存储节点     eth0:172.16.31.12     nfs




一.关闭heartbeat服务

node1和node2都需要关闭:

# service heartbeat stop

Stopping High-Availability services:

Done.

 

 

二.正式开始配置heartbeat v2 版本的CRM

开启heartbeat v2版本的CRM,只需要在ha.cf主配置文件末尾加入“crm  on”即可,而且haresources文件设置的资源就会失效。

[root@node1 ~]# cat /etc/ha.d/ha.cf |grep-v ^#

logfacility     local0

mcast eth0  225.131.31.23 694 1 0

auto_failback on

node   node1.stu31.com

node   node2.stu31.com

ping  172.16.0.1

crm on

 

 

三.集群配置

1.由于我们需要使用图形化界面配置heartbeatv2集群,而安装heartbeat后会生成一个hacluster用户,我们需要设置密码,可以让我们来访问图形化界面:

node1和node2主机都要配置:

# echo oracle |passwd --stdin hacluster

 

2.使用Linux的GNONE桌面进入heartbeatv2 版本的图形化CRM配置:

首先开启heartbeat服务:

[root@node1 ~]# /etc/init.d/heartbeat  start ; ssh node2 'service heartbeat start'

logd is already running

Starting High-Availability services:

Done.

  

logd is already running

Starting High-Availability services:

Done.

 

由于无资源配置文件,启动非常快速。

 

查看监听端口:

[root@node1 ~]# ss -tunl |grep 5560

tcp   LISTEN     0      10                     *:5560                  *:*

 


3.图形化配置

登录GUI界面

wKiom1SnrwmT6jn-AACMIuAJanM601.jpg

输入用户名密码登录:

wKioL1Snr-CiK_-iAAEGsXYueDU052.jpg

4.新建资源类型webip:定义VIP

wKioL1SnsBTT5J33AAGuavXTP0o894.jpg

wKiom1Snr0PjphoQAAK0S6Wh4ow659.jpg

 

wKiom1Snr26DCuEPAALC4x4Id5o058.jpg

 


添加完成后就点击Add即可:

wKioL1SnsD3CECI6AALhr0466eY211.jpg

 

5.新建资源类型webserver,定义httpd服务

wKiom1Snr5Sw8blIAAJaZDEs-88387.jpg

 

完成后启动资源测试:启动webip和webserver即可

wKiom1Snr-ayjFVTAAJs51UTcEk768.jpg

 

启动完成,但是资源未一起在同一节点启动,符合公平分配原则,我们需要使用排列约束,分组,顺序约束实现资源的启动节点。

 wKioL1SnsMmBOdPkAAIUrSd6Mx4563.jpg

6.协同限制配置

wKiom1SnsErCpgZdAAGukN7u4Ic579.jpg

 

设置成webip所在节点,webserver也会在那个节点启动:

wKioL1SnsSCgJu2EAAHDeanCzZ8262.jpg

效果出现,因为开始webipnode2节点启动,所以配置协同约束后,webserver自动就切换到node2启动:

wKiom1SnsIHCXPtDAALQ_-93EDY433.jpg

7.顺序约束配置:

wKioL1SnsWGhzmxSAAG357nt45Q774.jpg

 

设置先启动webip资源,然后再启动webserver资源:

wKiom1SnsL6CJ6DiAALmOs9ouR0686.jpg

 

8.位置约束:让资源偏向运行于某个节点

wKioL1SnsY6yO8lMAAHJ8hY7LAI282.jpg

wKiom1SnsOSAJof4AAHjB_XHQ4g311.jpg

表达式判断:uname  eq  node1.stu31.com ,偏向于node1节点:

wKioL1Snsa7zEJ5eAAMcjN6h9gI335.jpg

wKiom1SnsQuzztHIAALq9iKij7s747.jpg

  

9.配置NFS服务器

配置nfs服务器

[root@nfs ~]# mkdir /www/htdocs -pv

[root@nfs ~]# vim /etc/exports

www/htdocs  172.16.31.0/16(rw,no_root_squash)

 

[root@nfs ~]# service nfs start

[root@nfs ~]# showmount -e172.16.31.12                              

Export list for 172.16.31.12:

/www/htdocs 172.16.31.0/16


创建一个测试网页:

[root@nfs ~]# echo "page from nfsfilesystem" > /www/htdocs/index.html

 

客户端node1挂载nfs文件系统:

[root@node1 ~]# mount -t nfs 172.16.31.12:/www/htdocs/var/www/html/

[root@node1 ~]# ls /var/www/html/

index.html

 

访问测试:

[root@nfs ~]# curl http://172.16.31.166

page from nfs filesystem

 

卸载nfs:

[root@node1 ~]# umount /var/www/html/

 

10.使用集群图形化客户端配置添加存储资源

添加存储:

wKiom1SnsWSAFodqAAILkKc37VE566.jpg

wKioL1Snsg-RyypXAAKol5Ps5s8759.jpg


 

启动存储

 

11.协同约束配置

wKioL1SnsqaQuRdSAAOMxbch058881.jpg

 

 

顺序约束配置:

先启动webip,然后启动webstore,最后启动webserver

wKiom1SnskSTFfcxAANVM6PerXk239.jpg



查看节点IP地址:主节点在node1上

[root@node1 ~]# ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu65536 qdisc noqueue state UNKNOWN

   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

   inet 127.0.0.1/8 scope host lo

   inet6 ::1/128 scope host

      valid_lft forever preferred_lft forever

2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen1000

   link/ether 08:00:27:db:35:e6 brd ff:ff:ff:ff:ff:ff

   inet 172.16.31.10/16 brd 172.16.255.255 scope global eth0

   inet 172.16.31.166/16 brd 172.16.31.255 scope global secondary eth0:0

   inet6 fe80::a00:27ff:fedb:35e6/64 scope link

      valid_lft forever preferred_lft forever

 

网页访问:

[root@nfs ~]# curl http://172.16.31.166

page from nfs filesystem

由于使用的是共享文件系统,所以访问的网页是文件系统中的资源!



本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/1964581,如需转载请自行联系原作者

相关文章
在 CRM WebClient UI Attachment 区域,创建支持 Web Service 的 Word 文档
在 CRM WebClient UI Attachment 区域,创建支持 Web Service 的 Word 文档
|
2月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
76 0
|
2月前
|
运维 Serverless API
Serverless痛点解决问题之编写并部署一个弹性高可用的 Web API如何解决
Serverless痛点解决问题之编写并部署一个弹性高可用的 Web API如何解决
45 0
|
5月前
|
XML 存储 数据格式
如何在 CRM Assignment block 里创建支持 Web Service 的 PDF 附件
如何在 CRM Assignment block 里创建支持 Web Service 的 PDF 附件
|
存储 负载均衡 应用服务中间件
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
271 0
【web项目】keepalived高可用+LVS负载均衡+nginx动静分离+nfs共享存储
|
存储 弹性计算 负载均衡
使用SLB+2ECS+NAS,部署电商web网站的高可用架构
如您需要开发电商网站并且对外提供服务,当您的业务上升时,您需要为应用考虑高吞吐,高并发,高可用等能力,来应对用户的并发访问,保证应用稳定。本场景主要介绍如何使用SLB,ECS和NAS搭建高可用电商网站,助您业务上升。
548 0
|
负载均衡 算法 前端开发
Keepalived + Nginx 实现高可用 Web 负载均衡
Keepalived + Nginx 实现高可用 Web 负载均衡
Keepalived + Nginx 实现高可用 Web 负载均衡
|
Kubernetes NoSQL 开发工具
一寸宕机一寸血,十万容器十万兵|Win10/Mac系统下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群
2023年,君不言容器技术则已,欲言容器则必称Docker,毫无疑问,它是当今最流行的容器技术之一,但是当我们面对海量的镜像与容器时,怎样快速精准的对海量容器进行管理和编排就又成了新的课题,此时,由Google开源的Kubernetes(读音\[kubə'netis\],业界也有称其k8s的,但k8s其实就是文盲版的Kubernetes,只是因为k和s之间有8个字母)就应时而生了,它是一个开源的用于多个主机虚拟成一个云平台后进行容器资源管理和应用编排引擎,致力于让部署容器化应用简单并且高效,提供了应用的全生命周期管理,如应用部署,规划,更新,维护等机制。本次我们尝试在Win10/Mac系统下,
一寸宕机一寸血,十万容器十万兵|Win10/Mac系统下基于Kubernetes(k8s)搭建Gunicorn+Flask高可用Web集群
|
22天前
|
数据可视化 图形学 UED
只需四步,轻松开发三维模型Web应用
为了让用户更方便地应用三维模型,阿里云DataV提供了一套完整的三维模型Web模型开发方案,包括三维模型托管、应用开发、交互开发、应用分发等完整功能。只需69.3元/年,就能体验三维模型Web应用开发功能!
42 8
只需四步,轻松开发三维模型Web应用
|
12天前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
52 6
下一篇
无影云桌面