集群-LVS(续)
1 配置Director# Controls IP packet forwarding
net.ipv4.ip_forward = 1
net.ipv4.ip_forward = 1(2)设置ipvs
#ipvsadm -a -t 6.1.1.1:80 -r 192.168.0.2 -g
#RIP2
Saving IPVS table to /etc/sysconfig/ipvsadm:
# ifconfig eth0:1 6.1.1.1(4) 停止httpd服务
(1)登录
(3)网关指向(DGW内网IP)
#route add default gw 192.168.0.254#这里是DR模式,所以指向DGW
#ifconfig lo:1 6.1.1.1 netmask 255.255.255.255
a. 在DGW上绑定Director的MAC地址
b. 在realserver上更改内核参数,让回环设备不响应ARP请求 net.ipv4.conf.lo.arp_announce = 1
#arptables -A IN -d VIP -j DROP
#chkconfig arptables_jf on
#yum install arptables_jf (6)更改web页面(此步骤不是必须的,只是因为在测试环境便于区分)
(7)同样方法更改其他realserver3 测试
#elinks 6.1.1.1 #以rr算法访问DIP (Director_IP),浏览器里会轮回显示realserver的web页面
RealServer如果不在同一个子网,则需要隧道。需要先配置隧道,这里我们先不进行配置。三 ipvs参数
# ipvsadm -L
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
-> stu3.uplooking.com:http Route 1 0 0
IP Virtual Server version 1.2.1 (size=4096)
TCP6.1.1.1:http rr
-u ; 表示udp
6 -r:指定real server的地址
9 -C:Clear# ipvsadm -C10-p:指定秒数,如:-p 30,PC1通过Director访问过realserver(RIP2)则PC1在指定30秒内再次访问realserver仍将访问RIP2。
iptables -t mangel -A PREROUTING -p tcp –dport 20 -j MARK –set-mark 33
13 -s:指定用哪个调度算法
2 wrr:加权轮循, 权重是一个比值,不是一个绝对值。
5 lblc: 局部最小连接算法。优先把连接放在第一次连接的机器上。如:PC1通过Director访问过realserver(RIP2)则PC1在指定30秒内再次访问realserver仍将访问RIP2。
8 sed:最小延迟,类似一个ping值,谁的相应速度快,就连接谁
如PC1访问realserver(RIP1),第一次访问时要输入用户名密码进行验证,验证通过后客户端会收到一个cookie,再次访问该网站,被Director分配到到realserver(RIP2),此时PC1就不再需要验证,直接可以利用其存储的cookie通过验证进行连接。多用于论坛。
ipvsadm -A -f 33 -s rrlblc
# tcpdump port 80如果没有请求包,说明客户端没有访问我。2查看网关DGW的arp
查看vip 对应的MAC地址是否为Director的MAC,如果是,说明DGW与Director通讯正常,那么问题就在realserver上了;如果不是,说明DGW与Director无法通讯,问题可能出现在DGW、Dirctor了,也可能出现在realserver上。为了排除DGW先进行MAC帮定
Chain IN (policy ACCEPT)
以上是每个realserver只负责一项服务,用rr调度运算时会轮循的分配给所有realserver。如果当每个realserver负责多个服务时,利用rr调度运算进行负载均横时就失效了。举例如下:
访问6.1.1.1:80 WEB服务
那么有人第一次访问SMTP时,会连接第一个机器;第一次访问POP3时,也会连接第一个机器;第一次访问web时,也会连接第一个机器,这是Director没有起到负载均横的作用。
ipvsadm -A -t 6.1.1.1:0 -s lblc 不管用哪个端口,默认全都用为同一个服务。
页:
[1]