LVS:全名linux virtual server,是一款使用非常多的负载均衡集群软件,作为工作在tcp四层的软件,使得它能够调度非常多的应用,并且性能比起应用层的负载均衡软件更加好。
准备实验环境:
vmware workstation 10.0
OS: centos 6.4
实验拓扑如下:
Director的配置
配置dip和vip ifconfig eth0 192.168.1.115/24 up ifconfig eth0:0 192.168.1.110/24 up 关闭iptables,因为lvs不能和iptables通用 server iptables stop 配置本地光盘yum源安装ipvsadm vim /etc/yum.repos.d/cdrom.repo name=Centos 6.4 baseurl=file:///mnt enabled=1 gpgcheck=0 挂载光盘至/mnt目录 mount /dev/cdrom /mnt 安装ipvsadm yum install ipvsadm ipvsadmin的命令使用 添加一个rr的集群服务 # ipvsadm -A -t 192.168.1.110:80 -s rr rr表示调度算法 添加集群服务中的RS # ipvsadm -a -t 192.168.1.110:80 -r 192.168.1.116 -g # ipvsadm -a -t 192.168.1.110:80 -r 192.168.1.117 -g -g表示DR模型 测试 在浏览器中打开 http://192.168.1.110/index.html 查看集群配置 ipvsadm -L -n 查看当前连接数 ipvsadm -L -n -c
RealServer的配置(2个RS的配置一样 除了eth0的ip地址) 配置ip地址 ifconfig eth0 192.168.1.116/24 up 为了使RS的虚拟ip的mac地址不会向外通告,需要先设置linux的内核参数 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 内核参数解释 arp_ignore: 定义接收到ARP请求时的响应级别; 0:只要本地配置的有相应地址,就给予响应; 1:仅在请求的目标地址配置请求到达的接口上的时候,才给予响应; arp_announce:定义将自己地址向外通告时的通告级别; 0:将本地任何接口上的任何地址向外通告; 1:试图仅向目标网络通告与其网络匹配的地址; 2:仅向与本地接口上地址匹配的网络进行通告; 配置vip /sbin/ifconfig lo:0 192.168.1.110 broadcast 192.168.1.110 netmask 255.255.255.255 up 以上广播地址确保VIP不会向外广播 /sbin/route add -host 192.168.1.110 dev lo:0 此主机路由表示目标地址是lo上面的地址,出去的时候以lo:0为其源地址 因为提供web集群,所以安装httpd yum install httpd 关闭selinux setenfore 0 测试 httpd是否安装正常 echo "RealServer 1" > /var/www/html
时间: 2024-10-06 17:08:42