linux 软件备份 主从,linux高可用(HA)keepalived 主从备份
利用keepalived可以实现对linux服务器的高可用性,即主从备份,一台线上服务器出故障另外一台服务器顶替它,当出故障的服务器恢复时又自动转换成主服务器,顶替它的服务器再次转换为备胎,当主服务器宕机、主服务器网卡坏掉、甚至主服务器服务挂掉(要用脚本监控实现转换)都可以自动切换到从服务器,下面针对这三种故障进行模拟。
实验环境:2台rhel5.6,keepalived-1.1.20.tar.gz
实验过程:
本实验以web服务为例,两台linux都安装Apache服务。
配置yum源,做准备工作,因为本次模拟的是主从备份,所以除了keepalived配置文件有区别外其他配置均相同。在实验前,将selinux和防火墙都关掉。
主服务器配置:
[root@web1_master ~]# yum install gcc gcc-c++ openssl-devel httpd kernel-devel -y
[root@web1_master ~]# echo "master" > /var/www/html/index.html
[root@web1_master ~]# tar zxf keepalived-1.1.20.tar.gz
[root@web1_master ~]# cd keepalived-1.1.20/
#./configure --sysconf=/etc/ --with-kernel-dir=/usr/src/kernels/2.6.18-238.el5-i686/
#make &&make install
#cp /usr/local/sbin/keepalived /usr/sbin/
[root@web1_master ~]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.65.65
}
}
####将keepalived.conf配置文件修改成以上配置,即修改虚拟地址为192.168.65.65,这个虚拟地址是虚拟不存在的,用户在访问网页的时候访问的就是这个虚拟地址,本配置文件要注意修改服务器的主从状态、优先级、组id以及虚拟ip,还可以修改Email地址通知自己等。
# service keepalived start
# service httpd start
# chkconfig --add httpd
# chkconfig --add keepalived
# chkconfig httpd on
# chkconfig keepalived on
从服务器配置:
[root@web1_slave keepalived]# cat /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.65.65
}
}
#####从服务器keepalived.conf的主配置文件,优先级改为比主的优先级(100)小,这里是90.
# echo "slave" > /var/www/html/index.html
######其他配置内容和主服务器相同
当主服务器宕机或是网卡出问题,从服务器都会取代它变成主服务器
上图是当主服务器网卡重启时,在从服务器日志记录上显示从服务器先是切换成主服务器,后又切换成从服务器。
当web站点挂了时,还想让从服务器自动切换成主服务器就需要脚本来执行。
下面新建一个脚本,名叫check_httpd.sh ,其位置都放在主从服务器的/etc/keepalived/下面,(主从服务器使用相同的脚本,脚本放的位置也都相同,在keepalived.conf修改的地方、内容也都相同)
下面是check_httpd.sh 脚本的内容
[root@web1_master keepalived]# cat check_httpd.sh
#!/bin/bash
CHECK_TIME=2
check()
{
curl http://127.0.0.1/ >/dev/null 2>&1
ret=$?
if [ $ret -ne 0 ];then
return $ret;
fi
}
while [ $CHECK_TIME -ne 0 ]
do
let "CHECK_TIME -= 1"
check
HTTP_OK=$?
if [ $HTTP_OK -eq 0 ];then
exit 0
fi
if [ $HTTP_OK -ne 0 ] && [ $CHECK_TIME -eq 0 ]
then
exit 1
fi
done
修改主服务器keepalived.conf配置文件,结果如下:
[root@web1_master keepalived]# cat keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script check_http {
script "/etc/keepalived/check_httpd.sh"
weight -5
interval 1
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
track_script {
check_http
}
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.65.65
}
}
修改从服务器keepalived.conf配置文件,结果如下:
[root@web1_slave keepalived]# cat keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_script check_http {
script "/etc/keepalived/check_httpd.sh"
weight -5
interval 1
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 90
advert_int 1
track_script {
check_http
}
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.65.65
}
}
分别重启两台服务器的keepalived服务
#service keepalivedrestart
到这里,如果主服务器的web程序出现故障,则从服务器会在1秒钟后自动切换成主服务器,当主服务器恢复时,从服务器会自动切换成备胎,主服务器依然是主服务器。
至此,linux高可用性(HA_keepalived)配置完成。
linux 软件备份 主从,linux高可用(HA)keepalived 主从备份相关推荐
- 路由器snmp配置_基于keepalived配置数据库主从实现高可用
基于keepalived配置数据库主从实现高可用 使用keepalived来监听端口,实现数据库的高可用.实现效果,其中一台数据库服务器突然出故障或关机时,应该不影响应用正常运行,等待服务器启动之后, ...
- Windows环境下安装HBase(Hadoop3.1.3、HBase2.2.5)与Linux环境下搭建HBase高可用集群
Windows环境下安装HBase 下载HBase 官网: https://hbase.apache.org/downloads.html 不同版本集合:https://archive.apache. ...
- Hadoo集群--高可用HA配置(两台主机)
目录 1 Hadoop HA架构详解 1.1 HDFS HA背景 1.2 HDFS HA架构 1.3 HDFS HA配置要素 1.4 HDFS HA配置参数 1.5 HDFS自动故障转移 1.6 YA ...
- Web应用的负载均衡、集群、高可用(HA)解决方案整理总结
一.涉及到的几个组件 1.1.apache -- 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支 ...
- 高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制)
高性能高可用MySQL(主从同步,读写分离,分库分表,去中心化,虚拟IP,心跳机制) 视频地址:https://www.bilibili.com/video/BV1ry4y1v7Tr?p=8& ...
- 微服务治理 高可用 HA (High Availability) 的一些理解
文章目录 微服务治理 高可用 HA (High Availability) 的一些理解 1.简介 2.Nginx 高可用 3.站点层的高可用 4.服务层 Service 的高可用 5.缓存层的高可用 ...
- corosync+pacemaker实现高可用(HA)集群(二)
部署方案二(推荐):corosync+pacemaker 利用ansible自动安装corosync和pacemaker 注:关于ansible的具体使用可参见"ansible实现自动化自动 ...
- web应用的负载均衡、集群、高可用(HA)解决方案
web应用的负载均衡.集群.高可用(HA)解决方案 参考文章: (1)web应用的负载均衡.集群.高可用(HA)解决方案 (2)https://www.cnblogs.com/huojg-21442/ ...
- sqlite c++插入 timestamp_Dqlite,基于sqlite 高可用(HA)数据库
原文发表于我的博客, 特此版权声明 noosphere.site: Dqlite,基于sqlite 高可用(HA)数据库 csdn : Dqlite,基于sqlite 高可用(HA)数据库 k3s之前 ...
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案
浅谈web应用的负载均衡.集群.高可用(HA)解决方案 转载于:https://www.cnblogs.com/hfultrastrong/p/7887420.html
最新文章
- expect实现自动登录
- delphi存取图片
- 人人都是 DBA(X)资源信息收集脚本汇编
- “你的手机上未安装应用程序”的解决方案
- 解决:未能将管道连接到虚拟机: 所有的管道范例都在使用中。
- keyProperty=“id“ 和useGeneratedKeys=“true“作用
- C++语言vector容器介绍和示例
- Saltstack之自定义grains
- 解决Access to Message Queuing system is denied.权限问题
- UNITY3d在移动设备上的一些优化实战(一)-概述
- 关于DSP数字信号处理技术
- SketchUp2020下载SketchUp2020下载安装SketchUp草图大师2020下载安装详细教程
- 真正靠谱免费的数据恢复软件哪个好用?
- VScode输入感叹号时,没有出现模板
- 浏览器提示代理服务器没有响应
- panda经典四道题期末考核分享
- Android 实现SKU选择通用方式
- [USACO1.3]虫洞wormhole
- AutoLeaders控制组—51单片机学习笔记(LED控制、独立按键、数码管)
- java计算机毕业设计高考报考指南网站源码+mysql数据库+系统+lw文档+部署