STEP 1 准备机器和环境
准备4台机器,这里以152-155四台机器为例(CENTOS 6.4)
173.1.3.152 (keepalived负载均衡 主机 MASTER) 173.1.3.153 (keepalived负载均衡 备机 BACKUP) 173.1.3.154 (FTP服务器1) 173.1.3.155 (FTP服务器2)
STEP 2 负载均衡主机安装
1、环境准备
1)执行如下命令
[root@CentOS-6 ~]# yum install -y wget make kernel-devel gcc gcc-c++ libnl* libpopt* popt-static
(
说明:
如果不能yum 请先查看各软件是否已安装,查看方式为
rpm -qa|grep XXX(XXX = wget|make|kernel-devel|gcc|gcc-c++|libnl*|libpopt*|popt-static)
没有安装的请一一下载安装,安装方法在此不再赘述
)
2)查看内核版本,创建LN软链接,具体过程执行以下命令
[root@CentOS-6 ~]# lsmod |grep ip_vs [root@CentOS-6 ~]# uname -r (系统显示)2.6.32-358.el6.x86_64 [root@CentOS-6 ~]# ln -s /usr/src/kernels/2.6.32-358.e16.x86_64/ /usr/src/linux
2、安装ipvsadm-1.26.tar.gz
1)先将该文件通过SFTP上传至/usr/src
2)安装ipvsadm-1.26
[root@CentOS-6 ~]# cd /usr/src [root@CentOS-6 src]# tar -zxvf ipvsadm-1.26.tar.gz [root@CentOS-6 src]# cd ipvsadm-1.26 [root@CentOS-6 ipvsadm-1.26]# make [root@CentOS-6 ipvsadm-1.26]# make install
3)验证安装
[root@CentOS-6 ~]# ipvsadm 显示如下: *********************************************************************************** IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn *********************************************************************************** [root@CentOS-6 ~]# lsmod |grep ip_vs 显示如下 *********************************************************************************** ip_vs_rr 1420 0 ip_vs_wlc 1241 1 ip_vs 115643 5 ip_vs_rr,ip_vs_wlc libcrc32c 1246 1 ip_vs ipv6 321422 20 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6 ***********************************************************************************
3、安装keepalived-1.2.13.tar.gz
1)先将该文件通过SFTP上传至/usr/src
2)安装及验证keepalived-1.2.13
[root@CentOS-6 ~]# cd /usr/src [root@CentOS-6 src]# tar -zxvf keepalived-1.2.13.tar.gz [root@CentOS-6 src]# cd keepalived-1.2.13 [root@CentOS-6 keepalived-1.2.13]# ./configure 注:./configure 不指定 --prefix=时,则默认安装至/usr/local 注意,出现如下显示,则表示配置成功,标★的三行必须为YES ************************************************************** Keepalived configuration ----------------------------------------------- Keepalived version : 1.1.19 Compiler : gcc Compiler flags : -g -O2 Extra Lib : -lpopt -lssl -lcrypto Use IPVS Framework : Yes ★ IPVS sync daemon support : Yes ★ Use VRRP Framework : Yes ★ Use LinkWatch : No Use Debug flags : No ------------------------------------------------- ************************************************************** [root@CentOS-6 keepalived-1.2.13]# make [root@CentOS-6 keepalived-1.2.13]# make install
3)配置keepalived
[root@CentOS-6 keepalived-1.2.13]# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ [root@CentOS-6 keepalived-1.2.13]# cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ [root@CentOS-6 keepalived-1.2.13]# mkdir /etc/keepalived [root@CentOS-6 keepalived-1.2.13]# cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ [root@CentOS-6 keepalived-1.2.13]# cp /usr/local/sbin/keepalived /usr/sbin
注:./configure 如果指定了 --prefix=XXX时,以上命令改为cp XXXX /***/***
4、配置keepalived.conf
1)将keepalived.conf通过SFTP上传至/etc/keepalived
将check_ftpget.pl上传至/usr/local/bin
2)变更check_ftpget.pl文件权限(凡是遇到文件权限访问等问题,都需要变更文件权限,如本文没有提到的文件有权限访问问题,请参考这里)
[root@CentOS-6 ~]# chmod 755 /usr/local/bin/check_ftpget.pl
3)keepalived.conf文件在这个安装手册上已经配置好了,不需要变动,但实际生产环境中可能由于IP地址不一样,需要变更一些配置。
以下我就这些配置跟大家做个说明
! Configuration File for keepalived global_defs { #全局配置 notification_email { xxxxxx@sina.com #设置报警邮件地址,可以设置多个,每行一个。需要开启sendmail服务。 } notification_email_from keepalived@localhost #设置邮件的发送地址 smtp_server 127.0.0.1 #设置SMTP Server地址 smtp_connect_timeout 30 #设置SMTP Server的超时时间 router_id LVS_DEVEL #表示运行Keepalived服务器的一个标识。发邮件时显示大邮件主题中的信息 } vrrp_sync_group VGM { #VRRP同步组设置:设置同步组可支持MASTER和BACKUP机器分别存在于内外网 group { VI_CACHE #VRRP实例定义 } } vrrp_instance VI_CACHE { #VRRP实例配置 state MASTER #指定Keepalived的角色,MASTER表示些主机是主服务器。BACKUP表示此主机是备用服务器 interface eth2 #指定HA监测网络的接口(查看网络接口用命令ip addr) virtual_router_id 51 #虚拟路由标识,这个标识是一个数字,同一个vrrp实例使用唯一的标识,即同一个vrrp_instance下MASTER与BACKUP必须是一致的 priority 100 #定义优先级,数字越大,优先级越高,一般主机高于备机 advert_int 1 #检查间隔,默认1秒 authentication { #设置认证 auth_type PASS #认证方式,支持PASS和AH auth_pass 1111 #认证的密码 } virtual_ipaddress { #设置漂移地址(虚拟IP地址),可以设置多个漂移地址,每行一个 173.1.3.156 } } virtual_server 173.1.3.156 21 { #设置虚拟服务器,需要指定虚拟IP地址和服务端口,IP与端口之间用空格隔开 delay_loop 6 #设置运行情况检查时间,单位为秒 lb_algo wlc #设置负载调度算法,这里设置rr,即轮询算法 lb_kind DR #设置LVS实现负载均衡机制,有NAT、TUN、DR三个模式可选(简单说NAT支持任意OS但只支持20个负载,TUN只支持LINUX,DR支持LINUX/WINDOWS等,但只支持同一网段) persistence_timeout 50 #会话保持单位时间,单位是秒 protocol TCP #指定转发协议类型,有TCP和UDP两种 real_server 173.1.3.154 21 {#配置服务节点1,需要指定real server的真实IP地址和端口 weight 1 #配置服务节点的权值,权值数字越大,权值越高 MISC_CHECK { #MISC健康检查方式,执行一个程序 misc_path "/usr/local/bin/check_ftpget.pl -H 173.1.3.154 -u admin -p 123457" #待执行的脚本 misc_timeout 10 #脚本执行的超时时间 } } real_server 173.1.3.155 21 {#配置服务节点2,说明参考1,略 weight 1 MISC_CHECK { misc_path "/usr/local/bin/check_ftpget.pl -H 173.1.3.155 -u admin -p 123457" misc_timeout 10 } } }
5、启动keepalived
1)直接启动:
[root@CentOS-6 ~]# service keepalived start
2)添加开机自动启动
在/etc/rc.d/rc.local添加一行,内容为“service keepalived start”
6、关闭防火墙或添加防火墙规则(二选一)
1)关闭防火墙
重启后生效
[root@CentOS-6 ~]# chkconfig iptables off
即时生效,重启后失效service 方式
[root@CentOS-6 ~]# service iptables stop
2)添加规则
[root@CentOS-6 ~]# vi /etc/sysconfig/iptables -A INPUT -m state -–state NEW -m tcp -p tcp –-dport 20 -j ACCEPT -A INPUT -m state -–state NEW -m tcp -p tcp –-dport 21 -j ACCEPT -A INPUT -m state -–state NEW -m tcp -p tcp –-dport 1024: -j ACCEPT
{注:20&21开放端口是主动方式,其中21是FTP连接TCP端口,20是数据传输接口
1024:&21开放端口是被动方式,其中21是FTP连接TCP端口,1024:
(表示1024-正无穷,为啥呢,因为FTP服务会随机开1024以上的端口作数据传输,所以此次:不可少)是数据传输接口}
STEP 3 负载均衡备机安装
1、环境准备
参考主机
2、安装ipvsadm-1.26.tar.gz
参考主机
3、安装keepalived-1.2.13.tar.gz
参考主机
4、配置keepalived.conf
1)将keepalived_bak.conf通过SFTP上传至/etc/keepalived,并改名为keepalived.conf
将check_ftpget.pl上传至/usr/local/bin
其他步骤参考主机,备机注意keepalived.conf配置有两个地方和主机不同
state BACKUP
priority 99
5、启动keepalived
参考主机
6、关闭防火墙或添加防火墙规则(二选一)
参考主机
STEP 4 FTP服务器配置
1、环境准备
假设你已经安装了VSFTPD,此文中VSFTPD不是重点,安装方法在此不再赘述
FTP服务器需要注意安装过程中,需要对执行以下命令开启FTP服务允许访问状态
[root@CentOS-6 ~]# setsebool allow_ftpd_full_access=1 ftp_home_dir=1
2、FTP配置
1)将lvs_realserver.sh上传至FTP服务器/etc/rc.d/init.d
2)变更权限
[root@CentOS-6 ~]# chmod 755 /etc/rc.d/init.d/functions [root@CentOS-6 ~]# chmod 755 /etc/rc.d/init.d/lvs_realserver.sh
2)启动配置脚本
马上启动:
[root@CentOS-6 ~]# /etc/rc.d/init.d/lvs_realserver.sh start
开机自启动(后台方式):
在/etc/rc.d/rc.local中添加一行:
/etc/rc.d/init.d/lvs_realserver.sh start&
STEP 5 测试
1、可以通过FTP客户端,直接连接173.1.3.156虚拟FTP服务
IP:173.1.3.156 PORT:21 USER:admin PASS:123457
2、查看虚拟IP服务状态
在活动负载均衡机器(默认主机)上执行如下命令:
[root@CentOS-6 ~]# ipvsadm IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 173.1.3.156:ftp wlc persistent 50 -> 173.1.3.154:ftp Route 1 1 0 -> 173.1.3.155:ftp Route 1 3 0
3、停止负载均衡主机服务
[root@CentOS-6 ~]# service keepalived stop #停止 [root@CentOS-6 ~]# service keepalived restart #重启 [root@CentOS-6 ~]# service keepalived start #开启 [root@CentOS-6 ~]# service keepalived status #查看状态
停止负载均衡主机,系统会自动唤醒备机,无需手工切换,自动化无人植守配置。切换时间目前配置的是1秒,但切换可能需要1-20秒不等的时间
主机恢复后,备机将自动进入休眠状态,如此反复。
4、停止负载均衡备机服务
命令参考上一条,对备机作任何变更,在主机存活期间无任何影响,但如果主机服务宕机,则会有影响,将导致虚拟FTP不可用。
5、停止FTP真机服务
停止任意一台真机服务,不会影响虚拟FTP服务,虚拟FTP服务会自动连上可以提供服务的FTP服务器,如果所有的FTP真机服务都宕机了,则虚拟FTP也将无法访问。
当真机FTP服务恢复正常后,虚拟FTP将自动添加真机服务至虚拟队列中,无人值守。
6、清除和手工添加一些虚拟IP规则
ipvsadm -C #清除 ipvsadm -A -t 173.1.3.156:21 -s wlc #添加虚拟IP TCP协议 ipvsadm -a -t 173.1.3.156:21 -r 173.1.3.154 -g -w 1 #添加虚拟IP TCP协议真机 ipvsadm -a -t 173.1.3.156:21 -r 173.1.3.155 -g -w 1 #添加虚拟IP TCP协议真机
其他规则参考网络上ipvsadm命令用法
附录
安装手册:
安装手册.txt
安装时需要的文件:
check_ftpget.pl #检查FTP服务是否正常的程序 ipvsadm-1.26.tar.gz #ipvsadm安装包 keepalived-1.2.13.tar.gz #keepalived安装包 keepalived.conf #keepalived主机配置参考文件 keepalived_bak.conf #keepalived备机配置参考文件 lvs_realserver.sh #FTP真机服务器连接虚拟FTP地址的程序 vsftpd.conf #FTP服务的配置
供大家学习及参考的文档:
Keepalived权威指南.pdf lvs+keepalived+vsftp实现主备负载均衡ftp集群.txt.doc
相关推荐
随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司...我们利用LVS+Keepalived基于完整开源软件的架构可以为你提供一个负载均衡及高可用的服务器。
lvs+Keepalived+nginx高可用负载均衡搭建部署方案
搭建LVS+KEEPALIVED负载均衡需要安装ipvsadm和Keepalived软件,配置Keepalived的配置文件,并部署Master-lvs和Backup-lvs服务器。同时,LVS和KEEPALIVED可以实现高可用性和高性能,且可以灵活地配置Real Server和...
本篇文档为Mysql双主热备+LVS+Keepalived高可用操作记录,可作为线上实操手册,有需要的朋友可以拿走,希望能帮助到有用到的人~
【LVS+Keepalived 实现高性能高可用负载均衡服务器】 在互联网行业中,随着网站业务量的不断增长,服务器承受的压力日益增大。为了确保服务的稳定性和可用性,需要采用负载均衡策略。LVS(Linux Virtual Server)和...
综上所述,LVS+keepalived负载均衡系统是构建高可用、高性能服务的关键技术之一,其强大的功能和灵活的配置使得它在各类规模的网络环境中都有广泛的应用。通过深入理解和熟练掌握这些知识点,可以有效地提升系统稳定...
【LVS+Keepalived+MySQL半同步主主复制高可用方案】 1. 方案概述 LVS(Linux Virtual Server)结合Keepalived构建的高可用解决方案,通常用于实现负载均衡和故障转移,以提高系统的整体可用性。在这个方案中,MySQL...
本篇文章详细记录了Mysql双主热备+LVS+Keepalived高可用操作过程,可作为线上长期的实操手册.特此分享,希望能帮助到有用到的朋友.
Lvs抗负载能力强,因为 lvs 工作方式的逻辑是非常之简单,而且工作在网络 4 层仅做请求分发之用,没有流量,所以在效率上基本不...文档简单演示了lvs+keepalived的搭建过程和负载测试,顺便记录下来。每天进步一点。
HAProxy+Keepalived+LVS实现负载平衡高可用集群最佳实践
Linux 负载均衡 -- LVS+Keepalived 终极指南 Linux 负载均衡是当前网站业务量增长面临的主要挑战之一。如何实现高性能高可用的负载均衡方案,降低成本,提高网站的可靠性和灵活性,是每个网站管理员和架构师所面临...
"LVS+KeepAlived+Nginx高可用实现方案" LVS(Linux Virtual Server)是一种虚拟服务器集群系统,旨在提供高性能、高可用的服务器解决方案。其主要特点包括可伸缩性、可靠性和可管理性。LVS通过IP负载均衡技术实现...
lvs+keepalived+mha+mysql 架构配置说明 LVS(Linux Virtual Server)是一种开源的负载均衡解决方案,旨在提高服务器集群的可用性和可扩展性。在高可用架构中,LVS 通常与 Keepalived 配合使用,以提供高可用的负载...
MySQL+lvs+keepalived+mha架构是一种高可用性、负载均衡的数据库集群解决方案,用于构建强大且可靠的数据库服务。这种架构充分利用了各组件的优势,确保数据的安全性和系统的稳定性。 MySQL是世界上最流行的开源...
### LVS+Keepalived 实现高可用负载均衡 #### 一、原理 **1、概要介绍** 在现代互联网架构中,为了提高系统的稳定性和可靠性,常常采用高可用(High Availability, HA)架构设计。其中,LVS(Linux Virtual ...
#### LVS+Keepalived 高可用负载均衡系统 - **LVS(Linux Virtual Server)** - LVS 是一种基于Linux的高性能负载均衡解决方案。 - 它通过IP负载均衡技术和基于内容请求分发技术,将访问请求均匀地分配到多个...
在LVS+Keepalived的环境中,Failover通常由Keepalived实现,当主服务器失效时,Keepalived可以快速将VIP(Virtual IP)转移到备份服务器,保证服务不间断。 总结PPT中的内容,我们可以期待了解到如何配置和管理LVS...