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

[经验分享] LVS 安装配置

[复制链接]

尚未签到

发表于 2017-4-18 10:27:06 | 显示全部楼层 |阅读模式
服务器列表


LVS主



10.92.21.12



LVS备



10.92.21.17



LVS VIP



10.92.21.222:80



应用



10.92.21.18:8080



应用



xxx.xxx.xxx.xxx:yyyy





安装包列表


依赖包



libapr1-1.3.8-2.1.x86_64.rpm



依赖包



apr-util-ldap-1.4.1-1.1.x86_64.rpm



依赖包



apr-util-1.4.1-1.1.x86_64.rpm



依赖包



php-common-5.3.3-3.el6.x86_64.rpm



依赖包



php-cli-5.3.3-3.el6.x86_64.rpm



依赖包



php-5.3.3-3.el6.x86_64.rpm



依赖包



httpd-tools-2.2.15-9.el6.x86_64.rpm



核心包



ipvsadm-1.25-9.el6.x86_64.rpm



核心包



httpd-2.2.15-9.el6.x86_64.rpm



核心包



piranha-0.8.5-7.el6.x86_64.rpm





按顺序安装上述rpm包
执行命令:rpm –ivh ${包名}
 
配置文件
 
    lvs.cf

serial_no = 126
primary = 10.92.21.12
service = lvs
backup_active = 1
backup = 10.92.21.17
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = direct
debug_level = NONE
monitor_links = 0
syncdaemon = 0
virtual lvs {
active = 1
address =10.92.21.222 eth1:1
vip_nmask = 255.255.255.0
port = 80
#persistent = 3600
send_program = "/etc/sysconfig/ha/lvs.sh %h"
expect = "OK"
use_regex = 0
load_monitor = none
scheduler = wrr
protocol = tcp
timeout = 10
reentry = 15
quiesce_server = 0
server web1 {
address = 10.92.21.18
active = 1
port = 8080
weight = 1
}
server web2 {
address = xxx.xxx.xxx.xxx
active = 1
port = yyyy
weight = 1
}
}

 把该文件放到etc/sysconfig/ha下
 
   lvs.sh  

#!/bin/sh
tmpUriName=$1
uri="http://${tmpUriName}:8080/CSMBP/lvs.Monitor"
keyword="SUCCESS"
timeout=10
errorTimes="1"
writeError(){
if [ -f /tmp/.errorcount_${tmpUriName} ]; then
errorCount="$(cat /tmp/.errorcount_${tmpUriName})"
else
errorCount="0"
fi
if [ $errorCount == ${errorTimes} ]; then
echo "NOSUCCESS"
#echo "LOG ${tmpUriName} FAIL">>/tmp/.errorcount
else
echo ${errorTimes} >/tmp/.errorcount_${tmpUriName}
echo "OK"
#echo "LOG ${tmpUriName} FAIL OK">>/tmp/.errorcount
fi
}
testConn(){
if [ `GET -t ${timeout} ${uri} |grep ${keyword} |wc -l` -gt 0 ]; then
echo "0" > /tmp/.errorcount_${tmpUriName}
echo "OK"
#echo "LOG ${tmpUriName} OK">>/tmp/.errorcount
else
writeError
fi
}
testConn

 把该文件放到etc/sysconfig/ha下
 
 
网卡配置
LVS服务器端 10.92.21.12
/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"
BOOTPROTO="static"
IPADDR=10.92.21.12
GATEWAY=10.92.21.1
NETMASK=255.255.255.0
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"

 /etc/sysctl.conf
 

 

net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1
添加Arp抑制配置:
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.default.rp_filter=1
vm.swappiness = 0
# turn off swapping
net.ipv4.tcp_sack = 1
# enable selective acknowledgements
net.ipv4.tcp_timestamps = 1
# needed for selective acknowledgements
net.ipv4.tcp_window_scaling = 1
#scale the network window
net.ipv4.tcp_congestion_control = cubic
# better congestion algorythm
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog =  32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

 
LVS服务器端 10.92.21.17
/etc/sysconfig/network-scripts/ifcfg-eth1
 

DEVICE="eth1"
BOOTPROTO="static"
IPADDR=10.92.21.17
GATEWAY=10.92.21.1
NETMASK=255.255.255.0
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"

 
/etc/sysctl.conf
 

net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1
添加Arp抑制配置:
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.default.rp_filter=1
vm.swappiness = 0
# turn off swapping
net.ipv4.tcp_sack = 1
# enable selective acknowledgements
net.ipv4.tcp_timestamps = 1
# needed for selective acknowledgements
net.ipv4.tcp_window_scaling = 1
#scale the network window
net.ipv4.tcp_congestion_control = cubic
# better congestion algorythm
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog =  32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

 
LVS服务器端 10.92.21.18
/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"
BOOTPROTO="static"
IPADDR=10.92.21.18
GATEWAY=10.92.21.1
NETMASK=255.255.255.0
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"

 /etc/sysctl.conf
 

 

net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1
添加Arp抑制配置:
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

 /etc/sysconfig/iptables

*nat
:PREROUTING ACCEPT [12:480]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 10.92.21.222/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.92.21.18:8080
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

 
LVS服务器端 xxx.xxx.xxx.xxx
/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"
BOOTPROTO="static"
IPADDR=xxx.xxx.xxx.xxx
GATEWAY=xxx.xxx.xxx.1
NETMASK=255.255.255.0
MTU="1500"
NM_CONTROLLED="yes"
ONBOOT="yes"

/etc/sysctl.conf

net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1
添加Arp抑制配置:
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

/etc/sysconfig/iptables

*nat
:PREROUTING ACCEPT [12:480]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 10.92.21.222/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination xxx.xxx.xxx.xxx:yyyy
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

 启动LVS
a)10.92.21.1210.92.21.17上执行命令
service pulse start
查看 ifconfig ,如果在12或17上出现

DSC0000.jpg
 
则说明VIP已成功启动
 
b)在启动了eth1:1的机器上执行ipvsadm –L查看负载情况

DSC0001.jpg

 
 c) 通过vip访问应用 http://10.92.21.222/CSMBP/test/getWeather.do

DSC0002.jpg

d)日志文件是/var/log/message
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 

运维网声明 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-365759-1-1.html 上篇帖子: LVS-入门试用 下篇帖子: LVS-ipvsadm命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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