虚拟机中Lvs配置

参考: http://zh.linuxvirtualserver.org/node/272
环境,三台虚拟机系统,centos 5.2。基于ipvsadm的负载均衡,采用DR方式,负载均衡的服务是web。
内核版本: linux 2.6.18-92.el5
Director PC:192.168.2.11
Virtual ip :192.168.2.10 255.255.255.0
Real server 1: 192.168.2.12
Real server 2: 192.168.2.13
由于linux的内核版本支持LVS,所以就直接安装ipvs了。所以机器均安装APACHE服务……

1.首先在DIRECTOR 上面操作:
这只需要下载一个ipvsadm-1.24.tar.gz
# tar zxvf ipvsadm-1.24.tar.gz
# cd ipvsadm-1.24
# ls -alh /usr/src/
[root@localhost network-scripts]# ls -alh /usr/src
total 36K
drwxr-xr-x 4 root root 4.0K Dec 11 01:41 .
drwxr-xr-x 15 root root 4.0K Dec 11 01:42 ..
drwxr-xr-x 3 root root 4.0K Dec 11 00:20 kernels
lrwxrwxrwx 1 root root   36 Dec 11 01:41 linux -> /usr/src/kernels/2.6.18-92.el5-i686/

//查看有没有linux目录,如果没有根据自己的内核版本做个软连接,否则在make时会报错。
# ln -s /usr/src/kernels/2.6.18-92.el5-i686/ /usr/src/linux
# make
# make install

//网上有的参考说需要安装 安装libnet-1.1.2.1.tar.gz 安装heartbeat-2.0.2.tar.gz 是集成LVS+HEARTBEAT集群安装配置 ,先都装上在说吧
//yum -y install gcc+
//yum -y install wget
//yum -y install httpd
//yum -y install libnet
//yum -y install ipvaadm
//yum -y install heartbeat
除了编辑:vi /etc/sysctl.conf

echo "1" > /proc/sys/net/ipv4/ip_forward
[root@localhost network-scripts]# sysctl -p
net.ipv4.ip_forward = 1

还需要增加以下几项:
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


/etc/sysconfig/network-scripts
[root@localhost network-scripts]# touch ifcfg-eth0:0
[root@localhost network-scripts]# vi ifcfg-eth0:0
//ifconfig eth0:0 192.168.2.10 netmask 255.255.255.255 broadcast 192.168.2.10 up //这样添加到网卡地址重起系统或者重起网络服务后,地址随即丢失
DEVICE=eth0:0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.2.10
NETMASK=255.255.255.255
BROADCAST=192.168.2.255
[root@localhost network-scripts]# ifconfig eth0:0 192.168.2.10 netmask 255.255.255.255 up
[root@localhost network-scripts]# route add -host 192.168.2.10 dev eth0:0   
[root@localhost network-scripts]# service network restart
[root@localhost network-scripts]# ifconfig
eth0      Link encap:Ethernet HWaddr 00:0C:29:2A:5E:D9
          inet addr:192.168.2.11 Bcast:192.168.2.255 Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe2a:5ed9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:30970 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6686 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6998626 (6.6 MiB) TX bytes:788838 (770.3 KiB)
          Interrupt:177 Base address:0×1080

eth0:0    Link encap:Ethernet HWaddr 00:0C:29:2A:5E:D9
          inet addr:192.168.2.10 Bcast:192.168.2.255 Mask:255.255.255.255
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          Interrupt:177 Base address:0×1080

lo        Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@localhost network-scripts]# ipvsadm -C
[root@localhost network-scripts]# ipvsadm -A -t 192.168.2.10:80 -s rr
[root@localhost network-scripts]# ipvsadm -a -t 192.168.2.10:80 -r 192.168.2.12 -g
[root@localhost network-scripts]# ipvsadm -a -t 192.168.2.10:80 -r 192.168.2.13 -g
[root@localhost network-scripts]# ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP 192.168.2.10:http rr
-> 192.168.2.13:http            Route   1      0          0        
-> 192.168.2.12:http            Route   1      0          0        
[root@localhost network-scripts]# service iptables stop

2、realserver服务器
//ifconfig eth0:0 192.168.1.254 netmask 255.255.255.255 broadcast 192.168.1.254 up 这样配置有问题,轮询有问题
realserver 不是用eth0:0的,而是用lo:0设置IP地址
Linux Realserver配置的关键之一在于关闭arp,要配置/etc/sysctl.conf文件来关闭arp。

echo "1" > /proc/sys/net/ipv4/ip_forward
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
echo "0" > /proc/sys/net/ipv4/conf/lo/rp_filter

在/etc/sysconfig/network-scripts/ifcfg-eth0中配置ip地址和网关。

配置VIP的网卡为/etc/sysconfig/network-scripts/ifcfg-lo:0。

DEVICE=lo:0
IPADDR=192.168.2.10
NETMASK=255.255.255.255
ONBOOT=yes

[root@localhost html]# ifconfig
eth0      Link encap:Ethernet HWaddr 00:0C:29:08:55:6E
          inet addr:192.168.2.12 Bcast:192.168.2.255 Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe08:556e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:23169 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2837 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2329432 (2.2 MiB) TX bytes:319497 (312.0 KiB)
          Interrupt:177 Base address:0×1080

lo        Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

lo:0      Link encap:Local Loopback
          inet addr:192.168.2.10 Mask:255.255.255.255
          UP LOOPBACK RUNNING MTU:16436 Metric:1

另一台一样配置:

[root@localhost html]# ifconfig
eth0      Link encap:Ethernet HWaddr 00:0C:29:5C:E6:60
          inet addr:192.168.2.13 Bcast:192.168.2.255 Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe5c:e660/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:24133 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6582 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2369914 (2.2 MiB) TX bytes:1004032 (980.5 KiB)
          Interrupt:177 Base address:0×1080

lo        Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1344 (1.3 KiB) TX bytes:1344 (1.3 KiB)

lo:0      Link encap:Local Loopback
          inet addr:192.168.2.10 Mask:255.255.255.255
          UP LOOPBACK RUNNING MTU:16436 Metric:1

Iptables 先也全部关闭。测试后在开启相应端口。
分别访问:http://192.168.2.11 http://192.168.2.12 http://192.168.2.13 都可以访问
不断刷新http://192.168.2.10 即可见轮询
[root@localhost network-scripts]# ipvsadm -L
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP 192.168.2.10:http rr
-> 192.168.2.13:http            Route   1      0          31       
-> 192.168.2.12:http            Route   1      0          27  

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值