keepalived 实现web应用的高可用
项目需求:公司需要我做privacyIDEA认证服务器的高可用,我的思路是在两台服务器上搭两套应用程序,后端存储公用一个mysql数据库,没有mysql数据库可以主备的形式,然后再做一下数据库的异地备份。基本思路就是这样的。
我主要介绍一下使用keepalived实现高可用。
本次实现使用两台机器master:10.236.44.62 ,slave:10.236.45.91
一、安装需要的软件(master和slave都操作)
yum install keepalived -y
yum install -y httpd
二、配置 master机器的 /etc/keepalived/keepalived.conf
! Configuration File forkeepalived global_defs { #全局定义段 notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_fromAlexandre.Cassen@firewall.loc smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script check_running { script "/usr/local/bin/check_running" interval 3 weight 10 } vrrp_instance VI_1 { #实例名称 state MASTER #当前节点为主节点 interface eno16777736 #指定网卡 virtual_router_id 132 #虚拟路由ID,默认为51 priority 100 #优先级,主节点要数字要大于从节点 advert_int 1 authentication { auth_type PASS auth_pass 111111 } virtual_ipaddress { #虚拟IP地址 10.236.44.77 } track_script { check_running weight 20 } }
三、配置 slave机器的 /etc/keepalived/keepalived.conf
! Configuration File forkeepalived global_defs { #全局定义段 notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_fromAlexandre.Cassen@firewall.loc smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script check_running { script "/usr/local/bin/check_running" interval 1 weight 10 } vrrp_instance VI_1 { #实例名称 state BACKUP #当前节点为主节点 interface eno16777736 #指定网卡 virtual_router_id 132 #虚拟路由ID,默认为51 priority 99 #优先级,主节点要数字要大于从节点 advert_int 1 authentication { auth_type PASS auth_pass 111111 } virtual_ipaddress { #虚拟IP地址 10.236.44.77 } track_script { check_running weight 20 } }
四、编辑脚本文件:/usr/local/bin/check_running (master和slave都一样)
#!/bin/bash systemctl status httpd |grep running if [ $? -ne 0 ] then systemctl restart httpd.service sleep 1 systemctl status httpd |grep running if [ $? -ne 0 ] then systemctl stop keepalived.service fi fi
给文件可执行权限 chmod +x /usr/local/bin/check_running
五、把httpd和keeplaived都启起来。(主和从上都操作)
systemctl restart httpd.service
systemctl restart keepalived.service
六、测试
编辑/var/www/html/index.html
master机器文件内容:master 机器 slave机器文件内容:slave 机器
①:访问vip:10.236.44.77
②:把master的http停掉,然后再访问vip:10.236.44.77
systemctl stop httpd
这是因为我的脚本里会做判断,如果httpd停了,就把它启起来。
③:随便修改一下httpd的配置文件,让它不能正常启动,这个时候我们再把它停掉
systemctl stop httpd.service
这个时候先看下主的ip show
再看下从的ip show
这个时候访问一下vip:10.236.44.77
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于CentOS7.3构建企业级Vsftpd文件服务器
文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。FTP基于TCP协议生成一个虚拟的连接,主要用于控制FTP连接信息,同时再生成一个单独的TCP连接用于FTP数据传输。用户可以通过客户端向FTP服务器端上传、下载、删除文件,FTP服务器端可以同时提供给多人共享使用。 FTP服务是Client/Server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。 1、FTP传输模式 FTP基于C/S模式,FTP客户端与服务器端有两种传输模式,分别是FTP主动模式、FTP被动模式,主被动模式均是以FTP服务器端为参照。主被动模式如图1-2(a)、1-2(b)所示,主被动模式详细区别如下: (1)FTP主动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器,...
- 下一篇
构建DSC 资源的”另类写法”
构建DSC 资源的"另类写法" 今天我们要说的另类写法并不是什么新鲜东西 而且 这篇博客也迟到了一年甚至更多, 虽然我个人采用这个写法的资源很早之前就在 Gallery发布,并且持续更新, (有关我个人发布资源 请在 Gallery 搜索 strike 有任何好的建议或者资源bug或者其他问题也请直接联系我) 却总没想起认真的总结这个写法 这个写法并不是我在2014年发布的那个写法 当然新的PS V5 5.1依然支持那个写法 但是更多的资源 都采用这个新的写法,由于我个人并没有找到这个写法的官方的确切的说明 我姑且称之为 "嵌套类",事实上 就是嵌套 一个CIM类的实例中的属性是另外一个类的实例 说着别扭 但是很好理解 首先我们看看以前的MOF中的定义 下图是以前的类的定义 , 如果你需要多个属性的话你还可以继续添加 当然 你可以硬编码这些 , 你也可以用工具完成 这里不在多说 废话不多说 下面来看这个 另类的写法 这是MOF 中对资源的定义 看起来就是多了一个类而已 当我们用 (Get-DscResource t_Demo).Properties 查看这资源时候你会发现其中的一个属性...
相关文章
文章评论
共有0条评论来说两句吧...