一.检查内核是否支持LVS

备注:2.4.23以后版本的内核已经支持LVS,只需要直接使用,不需要进行内核的下载和更新工作。

二.检查内核是否支持lvs的ipvs模块

[root@wjb10000 ~]# modprobe -l|grep ipvs

modprobe: invalid option -- 'l'

备注:参数l无效,查了很多资料。好像现在没有这个参数了,可以改用下面这个命令查看内核是否支持lvs的ipvs模块

[root@wjb10000 ~]# find /lib/modules/$(uname -r)/ -iname "**.ko*" | cut -d/ -f5-

....................前面省略...................

kernel/net/netfilter/ipvs/ip_vs.ko

kernel/net/netfilter/ipvs/ip_vs_dh.ko

kernel/net/netfilter/ipvs/ip_vs_ftp.ko

kernel/net/netfilter/ipvs/ip_vs_lblc.ko

kernel/net/netfilter/ipvs/ip_vs_lblcr.ko

kernel/net/netfilter/ipvs/ip_vs_lc.ko

kernel/net/netfilter/ipvs/ip_vs_nq.ko

kernel/net/netfilter/ipvs/ip_vs_pe_sip.ko

kernel/net/netfilter/ipvs/ip_vs_rr.ko

kernel/net/netfilter/ipvs/ip_vs_sed.ko

kernel/net/netfilter/ipvs/ip_vs_sh.ko

kernel/net/netfilter/ipvs/ip_vs_wlc.ko

kernel/net/netfilter/ipvs/ip_vs_wrr.ko

....................后面省略...................

看到有输出以上内容,说明内核支持lvs了,无需再编译内核了。

当然也可以进入文件夹列出:

三.查看ipvsadm 程序是否被安装

[root@wjb10000 ~]# ipvsadm

-bash: ipvsadm: command not found

输出以上信息表明未安装ipvsadm程序。下面通过yum的方式安装ipvsadm程序,不用考虑软件之间的依懒性。

[root@wjb10000 ~]# yum -y install ipvsadm

[root@wjb10000 ~]# ipvsadm

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

安装完ipvsadm之后输出的信息。说明ipvsadm安装成功。

我们简要查看ipvsadm的信息,可以获取到更多有意思的事情:

可以发现,它确实已经加入到内核之中了,并一直有新的版本释出。https://kernel.org/pub/linux/utils/kernel/ipvsadm/

四.配置 IPVS (资源来源自网络未验证,只供参考

1.开启IP转发功能

[root@wjb10000 /]#echo 1 >/proc/sys/net/ipv4/ip_forward   

默认是0,关闭ip转发;这里需要开启,所以设置值为1。

2.配置重定向

[root@wjb10000 /]#echo "0" >/proc/sys/net/ipv4/ip_forward

[root@wjb10000 /]#echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects

[root@wjb10000 /]#echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects

[root@wjb10000 /]#echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects

3.清除ipvsadm表

[root@wjb10000 /]#ipvsadm -C

4.使用ipvsadm安装LVS服务实例:

ipvsadm -A -t vip:端口号 -s rr

5.增加二台内部web服务器

ipvsadm -a -t vip:端口号 -r web1服务器IP:端口号 -m -w 1

ipvsadm -a -t vip:端口号 -r web2服务器IP:端口号 -m -w 1


ipvsadm使用指南

1.名词解释

virtual-service-address(VIP):虚拟服务器的 ip  地址

real-service-address(RIP):是指真实服务器的 ip  地址

scheduler:调度方法

2.ipvsadm的用法和格式如下

ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p[timeout]] [-M netmask]

ipvsadm -D -t|u|f virtual-service-address

ipvsadm -C

ipvsadm -R

ipvsadm -S [-n]

ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port

[-g|i|m] [-w weight]

ipvsadm -d -t|u|f service-address -r server-address

ipvsadm -L|l [options]

ipvsadm -Z [-t|u|f service-address]

ipvsadm --set tcp tcpfin udp

ipvsadm --start-daemon state [--mcast-interface interface]

ipvsadm --stop-daemon

ipvsadm -h

3.命令选项

-A --add-service

在内核的虚拟服务器表中添加一条新的虚拟服务器记录。也就是增加一台新的虚拟服务器。

-E --edit-service

编辑内核虚拟服务器表中的一条虚拟服务器记录。

-D --delete-service

删除内核虚拟服务器表中的一条虚拟服务器记录。

-C --clear

清除内核虚拟服务器表中的所有记录。

-R --restore

恢复虚拟服务器规则

-S --save

保存虚拟服务器规则,输出为-R选项可读的格式

-a --add-server

在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录。也就是在一个虚拟服务器中增加一台新的真实服务器

-e --edit-server

编辑一条虚拟服务器记录中的某条真实服务器记录

-d --delete-server

删除一条虚拟服务器记录中的某条真实服务器记录

-L|-l --list

显示内核虚拟服务器表,输出对应文件/proc/net/ip_vs

-Z --zero

虚拟服务表计数器清零(清空当前的连接数量等)

--set tcp tcpfin udp

设置连接超时值

--start-daemon

启动同步守护进程。他后面可以是 master  或 backup,用来说明 LVS Router是master或是backup。在这个功能上也可以采用keepalived的 VRRP  功能。

--stop-daemon

停止同步守护进程

-h --help

显示帮助信息

其他的选项::

-t --tcp-service service-address

说明虚拟服务器提供的是tcp的服务[vip:port] or [real-server-ip:port]

-u --udp-service service-address 

说明虚拟服务器提供的是udp的服务[vip:port] or [real-server-ip:port]

-f --fwmark-service fwmark

说明是经过iptables标记过的服务类型。

-s --scheduler scheduler

使用的调度算法,有这样几个选项 rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq。默认的调度算法是:wlc.

-p --persistent [timeout]

持久稳固的服务。这个选项的意思是来自同一个客户的多次请求,将被同一台真实的服务器处理,timeout的默认值为300秒。

-r --real-server server-address

真实的服务器[Real-Server:port]

-g --gatewaying

指定LVS的工作模式为直接路由模式(也是LVS默认的模式)

-i --ipip

指定LVS的工作模式为隧道模式

-m --masquerading

指定LVS的工作模式为NAT模式

-w --weight weight

真实服务器的权值

--mcast-interface interface

指定组播的同步接口

-c --connection

显示LVS目前的连接。如:ipvsadm -L –,输出对应文件/proc/net/ip_conn

--timeout

显示tcp tcpfin udp的timeout值。如:ipvsadm -L --timeout

--daemon

显示同步守护进程状态

--stats

显示统计信息,输出对应文件/proc/net/ip_vs_stats

--rate 

显示速率信息输出对应文件/proc/net/ip_vs_stats

--sort

对虚拟服务器和真实服务器排序输出

--numeric -n

输出IP地址和端口的数字形式

 

原文链接:http://blog.51cto.com/wjb10000/1789332

 扩展参考链接:https://www.cnblogs.com/liwei0526vip/p/6370103.html

扩展链接2:https://www.cnblogs.com/bananaaa/p/7929796.html 

KeepAlived介绍:http://m.elecfans.com/article/700023.html 

保持更新,资源来源自网络。内容加以修改,转载请注明出处。https://www.cnblogs.com/xuyaowen/p/lvs-help.html