lvs集群

LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。

1.ipvsadm

server1:

vim /etc/yum.repos.d/rhel-source.repo   # 添加ipvsadm所在的yum源

yum install ipvsadm -y

lvs集群_第1张图片

ipvsadm -l   # 查看ipvsadm

添加ipvsadm

lvs集群_第2张图片

ip addr add 172.25.61.100 dev eth0   # 添加ip

lvs集群_第3张图片

server2:

ip addr add 172.25.61.100 dev lo   # 添加ip

lvs集群_第4张图片

/etc/init.d/httpd start   # 开启httpd服务

server3:同server2设置一样

主机:可以以轮循的方式通过server1访问server2和server3

 

server2:

yum insatll arptables_jf -y

lvs集群_第5张图片

显示arptables规则

lvs集群_第6张图片

添加arptables 规则,保证其他主机只能访问server1,而不会直接访问server2或server3

保存arptables规则

lvs集群_第7张图片

server3:同server2的设置一样

主机:可以以轮循的方式通过server1访问server2和server3

 

2.ldirectord + ipvsadm

yum install ldirectord-3.9.5-3.1.x86_64.rpm -y

lvs集群_第8张图片

rpm -ql ldirectord

lvs集群_第9张图片

cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/

vim /etc/ha.d/ldirectord.cf

lvs集群_第10张图片

ipvsadm -C

/etc/init.d/ldirectord start

lvs集群_第11张图片

主机:可以以轮循的方式通过server1访问server2和server3

server2:

/etc/init.d/httpd stop

server1:  #ldiretcord带有健康检查功能,当server2上httpd服务关闭后,会只访问server3

lvs集群_第12张图片

主机:

server3:

/etc/init.d/httpd stop

server1:当server2和server3上的httpd服务都关闭时,会访问本机的httpd服务

lvs集群_第13张图片

主机:

 

3. keepalived + ipvsadm

server1:

tar zxf keepalived-2.0.6.tar.gz

lvs集群_第14张图片

yum install openssl-devel -y

lvs集群_第15张图片

./configure --prefix=/usr/local/keepalived --with-init=SYSV

lvs集群_第16张图片

make

lvs集群_第17张图片

make install

lvs集群_第18张图片

yum install mailx -y

lvs集群_第19张图片

vim /etc/keepalived/keepalived.conf

lvs集群_第20张图片

lvs集群_第21张图片

/etc/init.d/ldirectord stop   # 关闭ldiretcord

/etc/init.d/keepalived start  # 开启keepalived

server4:设置与server1相同,只需修改keepalivrd.cf 中的模式为BUCKUP,权值低于server1中的权值

vim /etc/keepalived/keepalived.conf

lvs集群_第22张图片

server1: # 开启keepalived后,会优先使用模式为MASTER的主机作为lvs主机,当模式为MASTER的主机发生故障时,会自动启用模式为BUCKUP且权值最高的主机作为lvs主机

lvs集群_第23张图片

主机:

 

server1:# 关闭server1的keepalived服务

/etc/init.d/keepalived stop

server4: # 可以看到server4上的keepalived服务会使server4作为lvs主机,当server1上的keepalived服务恢复正常后,server1会自动成为lvs主机

lvs集群_第24张图片

主机: # 其他主机访问服务并不受影响

 

当server1运行时,备用机一直处于空闲状态,比较浪费资源,我们可以开启两个服务,server1为第一个服务的主机和第二个服务的备机,server4为第一个服务的备机和第二个服务的主机。

server2:

yum install vsftpd -y

lvs集群_第25张图片

/etc/init.d/vsftpd start

ip addr add 172.25.61.200/32 dev lo

arptables -A OUT -s 172.25.61.200 -j mangle --mangle-ip-s 172.25.61.2

arptables -A IN -d 172.25.61.200 -j DROP

server3: 配置与server2相同

server1:

vim /etc/keepalived/keepalived.conf

lvs集群_第26张图片

lvs集群_第27张图片

 

/etc/init.d/keepalived restart

server4:

lvs集群_第28张图片

lvs集群_第29张图片

/etc/init.d/keepalived restart

 

主机:

 

server1:

yum install ricci luci -y

lvs集群_第30张图片

echo westos |passwd --stdin ricci

/etc/init.d/ricci start

chkconfig ricci on

/etc/init.d/luci start

chkconfig luci on

server4:

yum install ricci -y

lvs集群_第31张图片

echo westos |passwd --stdin ricci

/etc/init.d/ricci start

chkconfig ricci on

主机:

lvs集群_第32张图片

lvs集群_第33张图片

lvs集群_第34张图片

你可能感兴趣的:(lvs集群)