设为首页 收藏本站
查看: 1267|回复: 0

[经验分享] CentOS 7.3 部署LVS + Keepalived 高可用集群

[复制链接]
发表于 2018-12-29 14:19:08 | 显示全部楼层 |阅读模式

双击热备


在这个高度信息化的IT时代,企业的生产系统,业务运营,销售个支持
以及日常管理环节越来越依赖计算机信息和服务,使得对高可用(HA)
技术的应用需求大量上升,以便提供持续的,不间断计算机或网络
  vs服务器和web-server他们必须在同一个网段内,因为LVS转发包的时候,是直接修改了包目标的MAC地址,直接扔给了rs,基于MAC地址的修改是活动在OSI二层数据链路层的,工作在数据链路层的网络设备就是交换机了,所以必须在一个交换机下面,也就是一个局域网内
为啥抑制real-server的ARP,是这样的,我们在DR模式要更改web-server的ARP的模式,arp_ignore为1是说只回答目标IP地址是来访网络接口本地地址的ARP查询请求,我们都在回环接口上配置了一个VIP,当arp模式更改以后,那么如果有谁在请求VIP的mac地址时,那么那些web-server就会回答arp广播报文了,只有lvs才会,如果没有更改arp模式,那么大家都喊我是VIP,这就乱套了。
  Keepalived 双机热备

keepalived 起初是专门正对LVS 设计的一款强大的辅助工具,只要用来提供故障切换切换(FAilover)
和健康检查功能---判断LVS 负载调到器
节点服务器的可用性,及时隔离并且替换新的服务器,当故障主机恢复后将其重新加入集群
yum install keepalived ipvsadm -y  //在线下载所需的软件
  实验只准备环境为 4台 centos 7.3

其中两台为调度服务器以主服务器一个为备份服务器
另外两个提供节点服务器
yum install httpd -y //下载服务并且开启
修改网卡配置
  开始调试


先做简单的先调试两台点服务器的配置
1. systemctl start httpd.service  //开启服务
2. echo "this is accp web" >/var/www/html/index.html  //生成首页
3.cp ifcfg-lo ifcfg-lo:0 //复制回环网卡 并且进行修改
4. DEVICE=lo:0
IPADDR=192.168.100.10
NETMASK=255.255.255.0
ONBOOT=yes    //就留下这三行
5. vim /etc/init.d/web.sh //添加启动脚本致内如如下
VIP=192.168.100.10
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP   //启动它的虚拟IP添加网段
/sbin/route add -host $VIP dev lo:0
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              ///接受调度服务器给与的回馈
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK "     //优化参数 都导入到null 中俗称黑洞
;;
stop)
ifconfig lo:0 down                     //关闭 虚拟IP  并且关闭服务器给与的回馈
route del $VIP /dev/null 2>&1
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 "RealServer Stopd"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
6. ifup lo:0    //(建议最后开启虚拟网卡)
7. service web.sh stop
8. service web.sh start(建议重启服务)
9. firefox "http://127.0.0.1/"& //进行自测检测会在后台进行打开稍等片刻
两台配置都一样 关闭防火墙 等一些阻挡访问的一些服务

配置调度服务器


1. systemctl stop firewalld.service 关闭防火墙
2. 修改网卡模式 仅主机模式
sysctl.conf这个文件是对Linux系统直接配置的文件,一些基本防护也可以从这个文件做起:
# net.ipv4.tcp_syncookies = 1
当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN×××。
3. vi /etc/sysctl.conf
net.ipv4.ip_forward=1   //启用IP转发功能,做NAT服务或者路由时才会用到。
#proc响应关闭重定向功能
//恶意用户可以使用IP重定向来修改远程主机中的路由表,在设计良好的网络中,末端的重定向设置是不需要的,发送和接受重定向信息包都要关闭。
net.ipv4.conf.all.send_redirects = 0   
net.ipv4.conf.default.send_redirects = 0
关闭重定向功能
net.ipv4.conf.ens33.send_redirects = 0  
4. sysctl -p //即使生效
5. cp ifcfg-ens33 ifcfg-ens33:0
6. vim ifcfg-ens33:0
DEVICE=ens33:0 //名称
ONBOOT=yes     //开启网卡
IPADDR=192.168.100.10  //虚拟IP
NETMASK=255.255.255.0  //马克地址
7. ifup ens33:0  //启动虚拟网卡//如报错则重启服务
service network restart
做到这其实就可以访问网页来进行测试了
  配置调度服务器进行双机热备 先做主服务器

1. vim /etc/init.d/dr.sh  //添加脚本
GW=192.168.100.1    //网关
VIP=192.168.100.10   //虚拟IP
RIP1=192.168.100.201  //节点服务器
RIP2=192.168.100.202  //节点服务器
case "$1" in
start)
/sbin/ipvsadm --save > /etc/sysconfig/ipvsadm  //保存若直接启动会报错
systemctl start ipvsadm                        //开启工具
/sbin/ifconfig ens33:0 $VIP broadcast $VIP netmask 255.255.255.255 broadcast $VIP up  //开启虚拟网卡
/sbin/route add -host $VIP dev ens33:0   //开启路由赚翻
/sbin/ipvsadm -A -t $VIP:80 -s rr  //调度方法 轮询
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g  //启动ivsf 调度
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g   //指定D2 的模式
echo "ipvsadm starting --------------------[ok]"
;;
stop)
/sbin/ipvsadm -C    //关闭时该清空的清空
systemctl stop ipvsadm
ifconfig ens33:0 down    //当掉的当
route del $VIP
echo "ipvsamd stoped----------------------[ok]"
;;
status)
if [ ! -e /var/lock/subsys/ipvsadm ];then   //检测启动的时候文件存不存在 若存在则显示停止状态
echo "ipvsadm stoped---------------"
exit 1
else
echo "ipvsamd Runing ---------[ok]"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
2. chmod +x dr.sh
3. service dr.sh start
4. vim/etc/keepalived/
vim/etc/keepalived/    //在配置文件中对应的序列号
10    smtp_server 127.0.0.1
12    router_id LVS_01  //从的改成02
20     state MASTER  //为主服务器//BACKUP 从
22     virtual_router_id 10 //更具需求可以不改
27         auth_pass abc123  //预定义密码
30         192.168.100.10  //留下一个并且对应到虚拟IP
34 virtual_server 192.168.100.10 80 //对应虚拟IP
37     lb_kind DR   //DR模式
41     real_server 192.168.100.221 80 {  //对应的真实的地址也就是提供服务的IP
43         TCP_CHECK {   //检查
44             url {  //准备8DD 删除8行自行添加
44             cpnnect_port 80  //声明端口
41     real_server 192.168.100.221 80 {  //准备复制10行新成新的对应的证实地址IP
49     }  //此处粘贴  
real_server 192.168.100.222 80 {
TCP_CHECK {
url {
cpnnect_port 80   //一样的内容
systemctl start keepalived.service //启动服务
systemctl status keepalived.service  //查看服务有没有开启
ip addr show dev ens33:0  //检测虚拟网卡 启用
备的服务器一样的配置








运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-657314-1-1.html 上篇帖子: LVS + Keepalived 双机热备+DR模式 下篇帖子: haproxy安装配置及haproxy+keepalived简单配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表