Linux LVS安装和配置笔记

1.升级内核至最新,我安装的是2.6.16.16

2.下载对应内核的ipvsadm-1.24-6源程序,ipvsadm-1.246.src.rpm,

rpmbuild –rebuild ipvsadm-1.24-6.src.rpm
rpm -ivh /usr/src/RedHat/RPMS/i386/ipvsadm-1.24-6.i386.rpm

3.测试ipvsadm 命令,得到结果如下:
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port          Forward Weight ActiveConn InActConn
4.WindowsXP+VMware-workstation-5.5.1-19175.exe,设定VM的虚拟网络,把VMnet0(Bridged)指定到主机网卡上.安装两个linux(或安装一个以后clone)
各系统的IP如下:
1). WindowsXP: 192.168.25.36
2). Linux1: 192.168.25.199  #这是真实的linux主机LvsServer
3). Linux2: 192.168.25.190  #虚拟主机01
4). Linux3: 192.168.25.191  #虚拟主机023个Linux系统分别简称为 LvsServer(192.168.25.199),01(192.168.25.190),02(192.168.25.191),加上原本的XP一 共有4个OS.先用ping测试一下网络,看看各个系统通不通。现在已经虚拟出3台主机(与真正主机没分别),可以正式配置LVS,使用直接路由DR方 式。
LvsServer的内核是升级过的(已集成IPVS).01/02的内核2.6.9.xx。用modprobe -l 命令可查看到IPVS module在 /lib/modules/2.6.12-12mdksmp/kernel/net/ipv4/ipvs中. ipvsadm运行时会自动把IPVS module挂载到系统中,到系统服务中查看ipvsadm是否已经加入.可以用lsmod查看系统当前所有挂载的module。分别在3个Linux系统中设置Virtual IP, 在RS上必须对VIP忽略ARP响应。,在2.6内核中通过调整内核参数忽略ARP广播回应。
下面是我用的2个脚本:
LvsServer上的脚本:
#!/bin/bash
VIP=192.168.25.200
RIP1=192.168.25.199
RIP2=192.168.25.190
RIP3=192.168.25.191
GW=192.168.25.1
# set the Virtual IP Address
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
#Clear IPVS table
/sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -A -t $VIP:80 -s rr
/sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
/sbin/ipvsadm -a -t $VIP:80 -r $RIP3:80 -g
#Run LVS
/sbin/ipvsadm

#end01/02上的脚本:
#!/bin/bash
VIP=192.168.25.200
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo “1″ >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo “2″ >/proc/sys/net/ipv4/conf/lo/arp_announce
echo “1″ >/proc/sys/net/ipv4/conf/all/arp_ignore
echo “2″ >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
#end LVS的配置大至上完成,返回到XP中,打开IE、firefox或者 Opera测试,然后切换到LvsServer上用 ipvsadm –L -c查看是否有连接。  附1:
对ipvsadm 的命令参考,并根据自己使用的经验,进行了一个简单的翻译,希望
对ipvsadm 的使用者有一定的帮助。
为了更好的让大家理解这份命令手册,将手册里面用到的几个术语先简单的介绍
一下:
1,virtual-service-address:是指虚拟服务器的ip 地址
2,real-service-address:是指真实服务器的ip 地址
3,scheduler:调度方法
(lna@networksbase.com 翻译 ipvsadm v1.21 2004 年4 月)
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
命令选项解释:
有两种命令选项格式,长的和短的,具有相同的意思。在实际使用时,两种都可
以。
-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 显示内核虚拟服务器表
-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 秒。
-M –netmask netmask persistent granularity mask
-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 -c
–timeout 显示tcp tcpfin udp 的timeout 值 如:ipvsadm -L –timeout
–daemon 显示同步守护进程状态
–stats 显示统计信息
–rate 显示速率信息
–sort 对虚拟服务器和真实服务器排序输出
–numeric -n 输出IP 地址和端口的数字形式

更多详情见请继续阅读下一页的精彩内容

相关阅读

LVS-DR模式配置详解

LVS-DR直接路由实现负载均衡示例

LVS-DR+Heartbeat实现高可用负载均衡服务

LVS-DR模式原理详解和可能存在的“假负载均衡”

heartbeat+ldirectory实现LVS-DR负载均衡器的高可用

Keepalived+LVS-DR模式配置高可用负载均衡集群

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e5ed22b3ede99db5b9be682e6fc311ba.html