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

Lvs_dr模式+Keepalived

LVS+keepalived实验环境:server2|server3:主备节点 配置 keepalivedserver4|server5:RS 开启w

LVS+keepalived

实验环境:

server2|server3:主备节点 配置 keepalived
server4|server5:RS 开启web服务|配置arptables
iptables off
selinux disabled
*都添加虚拟IP

server2

#安装keepaalived
[root@server2 ~]# ls
keepalived-1.2.24.tar.gz
[root@server2 ~]# tar zxf keepalived-1.2.24.tar.gz
[root@server2 ~]# cd keepalived-1.2.24
[root@server2 keepalived-1.2.24]# ./configure --prefix=/usr/local/keepalived
.....
------------------------
Keepalived version : 1.2.24
Compiler : gcc
Preprocessor flags :
Compiler flags : -Wall -Wunused -Wstrict-prototypes
Linker flags :
Extra Lib : -ldl -lssl -lcrypto
Use IPVS Framework : Yes
IPVS use libnl : No
IPVS syncd attributes : No
IPVS 64 bit stats : No
fwmark socket support : Yes
Use VRRP Framework : Yes
Use VRRP VMAC : Yes
Use VRRP authentication : Yes
With ip rules/routes : Yes
SNMP keepalived support : No
SNMP checker support : No
SNMP RFCv2 support : No
SNMP RFCv3 support : No
SHA1 support : No
Use Debug flags : No
Stacktrace support : No
Memory alloc check : No
libnl version : None
Use IPv4 devconf : No
Use libiptc : No
Use libipset : No
Build genhash : Yes
Build documentation : No
.....
[root@server2 keepalived-1.2.24]# make
[root@server2 keepalived-1.2.24]# make install
[root@server2 keepalived-1.2.24]# yum search kernel-devel
[root@server2 keepalived-1.2.24]# rpm -q kernel-devel
kernel-devel-2.6.32-431.el6.x86_64
[root@server2 keepalived-1.2.24]# rpm -q ipvsadm
ipvsadm-1.26-2.el6.x86_64
[root@server2 keepalived-1.2.24]# rpm -q ipvsadm-devel
package ipvsadm-devel is not installed
[root@server2 keepalived-1.2.24]# cd /usr/local/keepalived/etc/
[root@server2 etc]# ll
total 12
drwxr-xr-x. 3 root root 4096 Jun 3 11:57 keepalived
drwxr-xr-x. 3 root root 4096 Jun 3 11:57 rc.d
drwxr-xr-x. 2 root root 4096 Jun 3 11:57 sysconfig
[root@server2 etc]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@server2 etc]# ln -s /usr/local/keepalived/etc/keepalived/ /etc/
[root@server2 etc]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
[root@server2 etc]# ll /etc/init.d/keepalived
lrwxrwxrwx. 1 root root 48 Jun 3 12:55 /etc/init.d/keepalived -> /usr/local/keepalived/etc/rc.d/init.d/keepalived
[root@server2 etc]# ll
total 12
drwxr-xr-x. 3 root root 4096 Jun 3 11:57 keepalived
drwxr-xr-x. 3 root root 4096 Jun 3 11:57 rc.d
drwxr-xr-x. 2 root root 4096 Jun 3 11:57 sysconfig
[root@server2 etc]# cd rc.d/init.d/
[root@server2 init.d]# ls
keepalived
[root@server2 init.d]# ll
total 4
-rw-r--r--. 1 root root 1308 Jun 3 11:57 keepalived
[root@server2 init.d]# chmod +x keepalived
[root@server2 init.d]# ll
total 4
-rwxr-xr-x. 1 root root 1308 Jun 3 11:57 keepalived
[root@server2 init.d]# cd ../..
[root@server2 etc]# ls
keepalived rc.d sysconfig
[root@server2 etc]# ll /etc/sysconfig/keepalived
lrwxrwxrwx. 1 root root 47 Jun 3 12:54 /etc/sysconfig/keepalived -> /usr/local/keepalived//etc/sysconfig/keepalived
[root@server2 etc]# pwd
/usr
/local/keepalived/etc
[root@server2 etc]# cd /etc
/keepalived/
[root@server2 keepalived]# vim keepalived.conf
!! Configuration File for keepalivedglobal_defs {notification_email {root@localhost #}notification_email_from keepalived@server2smtp_server 172.25.30.2smtp_connect_timeout 30router_id LVS_DEVELvrrp_skip_check_adv_addrvrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state MASTER #server3 里面改为 BACKUP(备)interface eth0 #发送心跳的节点virtual_router_id 130 #路由idpriority 100 #优先级,主备优先级要不一致advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.25.30.100}
}virtual_server 172.25.30.100 80 {delay_loop 6lb_algo rrlb_kind DR
# persistence_timeout 50protocol TCPreal_server 172.25.30.4 80 {weight 1TCP_CHECK {}connect_timeout 3nb_get_retry 3delay_before_retry 3}real_server 172.25.30.5 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3}}[root@server2 keepalived]# ls
keepalived.conf samples
[root@server2 keepalived]# cd /usr/local/keepalived/
[root@server2 keepalived]# ls
bin etc lib sbin share
[root@server2 keepalived]# cd ..
[root@server2 local]# ls
bin etc games include keepalived lib lib64 libexec sbin share src
[root@server2 local]# scp -r keepalived/ root@172.25.30.3:/usr/local/
[root@server2 local]# cd /etc/keepalived/
[root@server2 keepalived]# ls
keepalived.conf samples
[root@server2 keepalived]# scp keepalived.conf 172.25.30.3:/etc/keepalived/
root@172.25.30.3's password:
keepalived.conf 100% 1056 1.0KB/s 00:00
[root@server2 keepalived]# /etc/init.d/keepalived start
Starting keepalived: /bin/bash: keepalived: command not found[FAILED]
[root@server2 keepalived]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/
[root@server2 keepalived]# /etc/init.d/keepalived start
Starting keepalived: [ OK ][root@server2 etc]#
server3[root@server3 ~]# cd /usr/local/
[root@server3 local]# ls
bin etc games include keepalived lib lib64 libexec sbin share src
[root@server3 local]# ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
[root@server3 local]# ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
[root@server3 local]# chmod +x /etc/init.d/keepalived
[root@server3 local]# mkdir /etc/keepalived
[root@server3 local]# cd /etc/keepalived/
[root@server3 keepalived]# ls
keepalived.conf
[root@server3 keepalived]# vim keepalived.conf
[root@server3 keepalived]# /etc/init.d/keepalived start
Starting keepalived: /bin/bash: keepalived: command not found[FAILED]
[root@server3 keepalived]# ln -s /usr/local/keepalived/sbin/keepalived /sbin/
[root@server3 keepalived]# /etc/init.d/keepalived start
Starting keepalived: [ OK ]
*Server4和Server5
[root@server4 ~]# /etc/init.d/httpd start
Starting httpd: httpd: Could not reliably determine the server'
s fully qualified domain name, using 172.25.30.4 for ServerName[ OK ]
[root@server4 ~]#
[root@server5 ~]# /etc/init.d/httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 172.25.254.5 for ServerName[ OK ]
[root@server5 ~]#

测试:

[root@foundation30 Desktop]# curl 172.25.30.100
server4
[root@foundation30 Desktop]# curl 172.25.30.100
server5
[root@foundation30 Desktop]# curl 172.25.30.100
server4
[root@foundation30 Desktop]# curl 172.25.30.100
server5
[root@foundation30 Desktop]# [root@server2 keepalived]# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.30.100:http rr-> 172.25.30.4:http Route 1 0 6 -> 172.25.30.5:http Route 1 0 7
[root@server2 keepalived]# 基于 Vsftpd 服务|开放 21 端口实验环境:
基于keepalived配置
server4|server5安装 vsftpd 服务并开启server4|server5同步
[root@server4 ~]# yum install vsftpd -y
[root@server4 ~]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@server4 ~]# server2|server3中[root@server2 ~]# vim /etc/keepalived/keepalived.conf .....persistence_timeout 50 #必须有时间延迟
....
*Server 3中同步[root@server2 ~]# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.25.30.100:ftp rr persistent 50 #ftp服务持续连接-> 172.25.30.4:ftp Route 1 0 0 -> 172.25.30.5:http Route 1 1 0
TCP 172.25.30.100:http rr-> 172.25.30.4:http Route 1 0 0 -> 172.25.30.5:http Route 1 0 0
[root@server2 ~]#
*测试[root@foundation30 pub]# lftp 172.25.30.100
lftp 172.25.30.100:~> ls
drwxr-xr-x 2 0 0 4096 Feb 12 2013 pub
lftp 172.25.30.100:/> exit
[root@foundation30 pub]#


推荐阅读
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • web.py开发web 第八章 Formalchemy 服务端验证方法
    本文介绍了在web.py开发中使用Formalchemy进行服务端表单数据验证的方法。以User表单为例,详细说明了对各字段的验证要求,包括必填、长度限制、唯一性等。同时介绍了如何自定义验证方法来实现验证唯一性和两个密码是否相等的功能。该文提供了相关代码示例。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 本文介绍了解决java开源项目apache commons email简单使用报错的方法,包括使用正确的JAR包和正确的代码配置,以及相关参数的设置。详细介绍了如何使用apache commons email发送邮件。 ... [详细]
author-avatar
醒来时t我尚年少你未老
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有