LVS是通过IPVS模块来实现的。IPVS是LVS集群系统的核心软件,主要用于完成用户的请求到达负载调度器后,如何将请求发送到每个real server节点、read server节点如何返回数据给用户等。


--如下命令检查kernel是否已经支持LVS的IPVS模块:

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

kernel/net/netfilter/ipvs/ip_vs.ko

kernel/net/netfilter/ipvs/ip_vs_rr.ko

kernel/net/netfilter/ipvs/ip_vs_wrr.ko

kernel/net/netfilter/ipvs/ip_vs_lc.ko

kernel/net/netfilter/ipvs/ip_vs_wlc.ko

kernel/net/netfilter/ipvs/ip_vs_lblc.ko

kernel/net/netfilter/ipvs/ip_vs_lblcr.ko

kernel/net/netfilter/ipvs/ip_vs_dh.ko

kernel/net/netfilter/ipvs/ip_vs_sh.ko

kernel/net/netfilter/ipvs/ip_vs_sed.ko

kernel/net/netfilter/ipvs/ip_vs_nq.ko

kernel/net/netfilter/ipvs/ip_vs_ftp.ko


如果有类似上面的输出,表明系统内核默认支持IPVS模块。接下来可以安装IPVS管理软件了。


11.4.1 在Director Server(即LVS服务器)上安装IPVS管理软件

        IPVS提供的软件包邮源码方式的也有rpm方式的,也可以通过源码方式安装IPVS。从http://www.linuxvirtualserver.org/software/ipvs.html下载对应的ipvs源码。


rpm包方式安装:

[root@dns ipvsadm-1.26]# yum install ipvs


--如果看到下面的帮助信息,表明IPVS已经成功安装:

[root@dns ipvsadm-1.26]# ipvsadm --help

ipvsadm v1.26 2008/5/15 (compiled with popt and IPVS v1.2.1)

Usage:

  ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]] [-M netmask] [--pe persistence_engine]

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

  ipvsadm -C

  ipvsadm -R

  ipvsadm -S [-n]

  ipvsadm -a|e -t|u|f service-address -r server-address [options]

  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] [--syncid sid]

  ipvsadm --stop-daemon state

  ipvsadm -h


Commands:

Either long or short options are allowed.

  --add-service     -A        add virtual service with options

  --edit-service    -E        edit virtual service with options

  --delete-service  -D        delete virtual service

  --clear           -C        clear the whole table

  --restore         -R        restore rules from stdin

  --save            -S        save rules to stdout

  --add-server      -a        add real server with options

  --edit-server     -e        edit real server with options

  --delete-server   -d        delete real server

  --list            -L|-l     list the table

  --zero            -Z        zero counters in a service or all services

  --set tcp tcpfin udp        set connection timeout values

  --start-daemon              start connection sync daemon

  --stop-daemon               stop connection sync daemon

  --help            -h        display this help message


Options:

  --tcp-service  -t service-address   service-address is host[:port]

  --udp-service  -u service-address   service-address is host[:port]

  --fwmark-service  -f fwmark         fwmark is an integer greater than zero

  --ipv6         -6                   fwmark entry uses IPv6

  --scheduler    -s scheduler         one of rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,

                                      the default scheduler is wlc.

  --pe            engine              alternate persistence engine may be sip,

                                      not set by default.

  --persistent   -p [timeout]         persistent service

  --netmask      -M netmask           persistent granularity mask

  --real-server  -r server-address    server-address is host (and port)

  --gatewaying   -g                   gatewaying (direct routing) (default)

  --ipip         -i                   ipip encapsulation (tunneling)

  --masquerading -m                   masquerading (NAT)

  --weight       -w weight            capacity of real server

  --u-threshold  -x uthreshold        upper threshold of connections

  --l-threshold  -y lthreshold        lower threshold of connections

  --mcast-interface interface         multicast interface for connection sync

  --syncid sid                        syncid for connection sync (default=255)

  --connection   -c                   output of current IPVS connections

  --timeout                           output of timeout (tcp tcpfin udp)

  --daemon                            output of daemon information

  --stats                             output of statistics information

  --rate                              output of rate information

  --exact                             expand numbers (display exact values)

  --thresholds                        output of thresholds information

  --persistent-conn                   output of persistent connection info

  --nosort                            disable sorting output of service/server entries

  --sort                              does nothing, for backwards compatibility

  --ops          -o                   one-packet scheduling

  --numeric      -n                   numeric output of addresses and ports