lvs之dr模式搭建

    技术2026-04-20  14

    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 #设置永久生效
    Processed: 0.009, SQL: 10