ipvsadm命令选项
-A 添加一个虚拟服务,使用ip地址、端口号、协议来唯一定义一个虚拟服务
-E 编辑一个虚拟服务
-D 删除一个虚拟服务
-C 清空虚拟服务列表
-R 从标准输入中还原虚拟服务列表
-S 保存虚拟服务规则至标准输出,输出规则可使用-R选项还原
-L 显示虚拟服务列表
-Z 虚拟服务器列表计数器清零(清空当前连接数)
-a 添加一台真实服务器
-e 编辑一台真实服务器
-d 减少一台真实服务器
-t 使用TCP服务,该参数后需加主机与端口信息
-u 使用UDP服务,该参数后需加主机与端口信息
-s 指定lvs的调度算法
-r 设置真实服务器IP与端口
-g 设置lvs工作模式为DR直连路由
-i 设置lvs工作模式为TUN隧道
-m 设置lvs工作模式为NAT地址转换模式
-w 指定真实服务器权重
-c 连接状态,配和-L使用
-n 数字格式显示
--stats 显示统计信息
--rate 显示速率信息
--sort 对虚拟服务器和真实服务器排序输出
--set tcp tcpfin udp
设置ipvs连接超时值,三个参数分别代表tcp会话超时时间、收到FIN包后tcp会话超时时间、udp超时时间
--timeout
显示tcp tcpfin udp的timeout值
--start-daemon
启动同步守护进程
--stop-daemon
停止同步守护进程
调度器配置
1.关闭网卡广播功能
[root@CYH network-scripts]# vim /etc/sysctl.conf ##关闭网卡广播功能,属于优化操作,可做可不做
[root@CYH network-scripts]# sysctl -p
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.eth1.send_redirects = 0
2.安装集群工具
[root@CYH network-scripts]# yum -y install ipvsadm
3.在eth1子接口配置虚拟ip
[root@CYH network-scripts]# cat ifcfg-eth1:0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1:0
DEVICE=eth1:0
ONBOOT=yes
IPADDR=10.10.10.100
PREFIX=24
IPV6_PRIVACY=no
DNS1=114.114.114.114
[root@CYH network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:6a:db:2e brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe6a:db2e/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:6a:db:38 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.11/24 brd 10.10.10.255 scope global eth1
valid_lft forever preferred_lft forever
inet 10.10.10.100/24 brd 10.10.10.255 scope global secondary eth1:0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe6a:db38/64 scope link
valid_lft forever preferred_lft forever
4.将真实服务器加入集群
[root@CYH network-scripts]# ipvsadm -A -t 10.10.10.100:80 -s rr
[root@CYH network-scripts]# ipvsadm -a -t 10.10.10.100:80 -r 10.10.10.12:80 -g
[root@CYH network-scripts]# ipvsadm -a -t 10.10.10.100:80 -r 10.10.10.13:80 -g
5.将ipvsadm信息永久保存生效
[root@CYH network-scripts]# ipvsadm --save
6.查看集群信息
[root@CYH network-scripts]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.10.10.100:80 rr
-> 10.10.10.12:80 Route 1 0 0
-> 10.10.10.13:80 Route 1 0 0
[root@CYH network-scripts]# ipvsadm -Ln --stats
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 10.10.10.100:80 6 85 0 19522 0
-> 10.10.10.12:80 3 12 0 516 0
-> 10.10.10.13:80 3 73 0 19006 0
真实服务器配置
1.arp配置
[root@CYH network-scripts]# vim /etc/sysctl.conf
[root@CYH network-scripts]# sysctl -p
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.default.arp_ignore = 1
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
- 虚拟地址绑定
[root@CYH network-scripts]# cat ifcfg-lo:0
DEVICE=lo:0
IPADDR=10.10.10.100
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback
3.路由策略设置
[root@CYH network-scripts]# route add -host 10.10.10.100 dev lo:0
[root@CYH network-scripts]# echo "route add -host 10.10.10.100 dev lo:0" >> /etc/rc.local #设置永久生效