热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos6.5集群lvs+keepalived部署

keepalived:高可用,保持存活,防单点故障。keepalived主要用作realserver的健康检查以及负载均衡主机和backup主机之间的故障漂移。1.mas

  keepalived:高可用,保持存活,防单点故障。keepalived主要用作realserver的健康检查以及负载均衡主机和backup主机之间的故障漂移。

1.master ---- slave 操作一样
[root@lvs_master ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@lvs_master ~]# modprobe -l|grep ipvs -------检查linux内核是否集成lvs模块
kernel/net/netfilter/ipvs/ip_vs.ko
kernel/net/netfilter/ipvs/ip_vs_rr.ko
kernel/net/netfilter/ipvs/ip_vs_wrr.ko
kernel/net/netfilter/ipvs/ip_vs_lc.ko
kernel/net/netfilter/ipvs/ip_vs_wlc.ko
kernel/net/netfilter/ipvs/ip_vs_lblc.ko
kernel/net/netfilter/ipvs/ip_vs_lblcr.ko
kernel/net/netfilter/ipvs/ip_vs_dh.ko
kernel/net/netfilter/ipvs/ip_vs_sh.ko
kernel/net/netfilter/ipvs/ip_vs_sed.ko
kernel/net/netfilter/ipvs/ip_vs_nq.ko
kernel/net/netfilter/ipvs/ip_vs_ ftp.ko
kernel/net/netfilter/ipvs/ip_vs_pe_sip.ko
[root@lvs_master ~]# echo "1">/proc/sys/net/ipv4/ip_forward -------开启内核路由转发
[root@lvs_master ~]# setenforce 0 关闭selinux
[root@lvs_master ~]# service iptables stop 关闭iptables
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
--------------------------------------------------------------------------------------------------------------------
[root@lvs_master ~]# yum install -y ipvsadm
[root@lvs_master ~]# chkconfig ipvsadm on
[root@lvs_master ~]# service ipvsadm start
[root@lvs_master ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
----------------------------------------------------------------------------------------------------------------------
[root@lvs_master ~]# yum -y install kernel-devel gcc openssl popt popt-devel libnl libnl-devel popt-static openssl openssl-devel wget --------安装依赖包和工具
[root@lvs_master ~]# wget http://www.keepalived.org/software/keepalived-1.2.16.tar.gz
[root@lvs_master ~]# tar -zxvf keepalived-1.2.16.tar.gz -C /usr/local/src
[root@lvs_master keepalived-1.2.16]# cd /usr/local/src/keepalived-1.2.16/
[root@lvs_master keepalived-1.2.16]#  ./configure --prefix=/usr/local/keepalived-1.2.16 && make && make install
[root@lvs_master keepalived-1.2.16]# cd
[root@lvs_master ~]# ln -s /usr/local/keepalived-1.2.16 /usr/local/keepalived
[root@lvs_master ~]# cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
[root@lvs_master ~]# cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@lvs_master ~]# ln -s /usr/local/keepalived/etc/keepalived /etc/
[root@lvs_master ~]# ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
---------------------------------------------------------------------------------------------------------------------
将keepalived配置成系统服务
[root@lvs_master ~]# chkconfig --add keepalived
[root@lvs_master ~]# chkconfig keepalived on
[root@lvs_master ~]# chkconfig --list keepalived
keepalived 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@lvs_master ~]# service keepalived start
Starting keepalived: [ OK ]
-----------------------------------------------------------------------------------------------------------------------
keepalived配置
[root@lvs_master ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
[root@lvs_master ~]# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived

global_defs {
notification_email {
zdj1033096859@qq.com # 接受通知邮件的email地址
}
notification_email_from zhang.dajiang@eisoo.com #发送通知邮件的email地址

smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_MASTER
}

vrrp_instance VI_1 {
state MASTER #BACKUP上修改为LVS_BACKUP
interface eth0
virtual_router_id 51 #虚拟路由标识,主从相同
priority 100 #BACKUP上修改为90
advert_int 1 #主从心跳检测时间
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.111 #Web虚拟IP(VTP)
}
}

virtual_server 192.168.1.111 80 { #定义虚拟IP和端口
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 50
protocol TCP
real_server 192.168.1.33 80 {
weight 1
SSL_GET {
url {
path /
digest ff20ad2481f97b1754ef3e12ecd3a9cc
}
url {
path /mrtg/
digest 9b3a0c85a887a256d6939da88aabd8cd
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}

real_server 192.168.1.44 80 {
weight 1
HTTP_GET {
url {
path /testurl/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
url {
path /testurl2/test.jsp
digest 640205b7b0fc66c1ea91c463fac6334c
}
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}


[root@lvs_master ~]# service keepalived restart
--------------------------------------------------------------------------------------------------------------
2.web1 web2一样
[root@web1 ~]# yum install httpd php php-fpm -y ------安装Apache和php
[root@web1 ~]# vi /etc/ httpd/conf/httpd.conf
ServerName  :80
[root@web1 ~]# service httpd restart
[root@web1 ~]# service php-fpm restart

[root@web1 ~]# vi /var/www/html/phpinfo.php
[root@web1 ~]# more /var/www/html/phpinfo.php
phpinfo()
?>

[root@web1 ~]# vi /var/www/html/index.html
[root@web1 ~]# cat /var/www/html/index.html






hostname: Web1
ip : 192.168.1.33


-----------------------------------------------------------------------------------------
[root@web1 ~]# vi dr-rs.sh ------Real Server启动脚本
#!/bin/bash
#
# Script to start LVS DR real server.
# description: LVS DR real server
#
. /etc/rc.d/init.d/functions
VIP=192.168.1.111
host=`/bin/hostname`
case "$1" in
start)
# Start LVS-DR real server on this machine.
/sbin/ifconfig lo down
/sbin/ifconfig lo up
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo "LVS RealServer Start OK"
;;
stop)
# Stop LVS-DR real server loopback device(s).
/sbin/ifconfig lo:0 down
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo "LVS RealServer Stoped OK"
;;
status)
# Status of LVS-DR real server.
islothere=`/sbin/ifconfig lo:0 | grep $VIP`
isrothere=`netstat -rn | grep "lo:0" | grep $VIP`
if [ ! "$islothere" -o ! "isrothere" ];then
# Either the route or the lo:0 device
# not found.
echo "LVS-DR real server Stopped."
else
echo "LVS-DR real server Running."
fi
;;
*)
# Invalid entry.
echo "$0: Usage: $0 {start|status|stop}"
exit 1
;;
esac
[root@web1 ~]# chmod +x dr-rs.sh
[root@web1 ~]# ./dr-rs.sh start
LVS RealServer Start OK


推荐阅读
  • 负载均衡_Nginx反向代理动静分离负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第二部分
    nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了SpringCloudRibbon部分源码相关的知识,希望对你有一定的参考价值。1:ribbon是提供通过servi ... [详细]
  • 一、设置时区方法一:使用setup工具setup选择Timezoneconfiguration选择AsiaShanghai空格键勾选上System ... [详细]
  • Nginxgaodaima.comnginx属于七层架构,支持的是http协议,本身对tcp协议没有支持。所以不能代理mysql等实现负载均衡。但是lvs这个东西不熟悉,主要是公司 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • 本文详细介绍了cisco路由器IOS损坏时的恢复方法,包括进入ROMMON模式、设置IP地址、子网掩码、默认网关以及使用TFTP服务器传输IOS文件的步骤。 ... [详细]
  • 本文介绍了MVP架构模式及其在国庆技术博客中的应用。MVP架构模式是一种演变自MVC架构的新模式,其中View和Model之间的通信通过Presenter进行。相比MVC架构,MVP架构将交互逻辑放在Presenter内部,而View直接从Model中读取数据而不是通过Controller。本文还探讨了MVP架构在国庆技术博客中的具体应用。 ... [详细]
  • 第四讲ApacheLAMP服务器基本配置Apache的编译安装从Apache的官方网站下载源码包:http:httpd.apache.orgdownload.cgi今 ... [详细]
  • centos6.8 下nginx1.10 安装 ... [详细]
  • LVS-DR直接路由实现负载均衡示例
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Kubernetes(k8s)基础简介
    Kubernetes(k8s)基础简介目录一、Kubernetes概述(一)、Kubernetes是什么(二& ... [详细]
  • 虚拟化_深度:资源虚拟化
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了深度:资源虚拟化相关的知识,希望对你有一定的参考价值。 ... [详细]
author-avatar
手机用户2602879667
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有