Linux Virtual Server(LVS)的构建

一、使用Nat模式的LVS的构建
 
1.配置分发器。
 
#配置网卡
 
ifconfig eth0 10.1.1.250
 
ifconfig eth1 192.168.10.250
 
#打开网卡转发
 
#echo '1' > /proc/sys/net/ipv4/ip_forward //临时启用网卡转发
 
#编辑/etc/sysctl.conf文件可以永久启用网卡转发
 
#vim /etc/sysctl.conf
 
net.ipv4.ip_forward=1
 
sysctl -p
 
#安装ipvsadm软件包并增加新的ipvsadm服务
 
#安转ipvsadm软件包
 
mount /dev/cdrom /media
 
cd /media/Cluster
 
rpm -Uvh ipvsadm-1.24-12.el5.i386.rpm
 
#增加一个新的服务
 
ipvsadm -A -t 10.1.1.250:80 -s rr
 
#-A 添加新的服务                                                                       
 
#-t 指定服务所使用的虚拟ip地址:端口                                         
 
#-s 指定服务使用的算法(rr算法是将数据包依次分发给服务中的主机) 
 
#把服务和服务池(server pool)进行关联
 
ipvsadm -a -t 10.1.1.250:80 -r 192.168.10.1 -m
 
ipvsadm -a -t 10.1.1.250:80 -r 192.168.10.2 -m
 
#-a  添加real server

#-r 指定real server的ip

#-m 指定使用nat模式
 
#查看建立的服务
 
ipvsadm -ln
 
##结果如下
 
IP Virtual Server version 1.2.1 (size=4096)
 
Prot LocalAddress:Port Scheduler Flags
 
  -> RemoteAddress:Port          Forward Weight ActiveConn InActConn
 
TCP  10.1.1.250:80 rr
 
  -> 192.168.10.1:80            Masq    1      0          0       
 
  -> 192.168.10.2:80            Masq    1      0          0
 
 
 
2.配置server pool下的真实主机(real server)
 
#配置服务器ip
 
ifconfig eth0 192.168.10.1
 
#配置服务器的默认网关
 
route add default gw 192.168.10.250
 
#安装apache服务
 
yum install httpd
 
#ifconfig eth0 > /var/www/html/index.html //生成一个页面用于测试
 
#启动apache服务
 
/etc/init.d/httpd restart
 
3.同理配置其他真实主机
 
4.使用客户端访问测试服务器 
 
    在这个过程中,首先,用户向分发器发送请求,该请求的目的IP地址为分发器的对外IP(10.1.1.250)、源IP为用户IP(10.1.1.1);当数据包到达分发器时,分发器对该数据包进行目的地址转换,将用户请求数据包的目的地址(10.1.1.250)转换为服务器池中的某台主机的ip(192.168.10.1),然后将数据包从对内网卡转发出来;该真实主机在接受到用户请求时,将对用户的请求进行处理,并将应答请求数据包返回给分发器,此时该应答数据包的目的IP为用户的IP地址(10.1.1.1),而其源IP地址为该真实主机的IP地址(192.168.10.1),其目的MAC为分发器的MAC地址;当分发器接受到该数据包时,将对此数据包进行源地址转换,将该数据包的源IP地址(192.168.10.1)转换成为分发器的对外IP地址(10.1.1.1),并将该数据包从分发器的对外网卡传送出去。
 
    使用NAT模式构建LVS时,当同时进行的并发很大时,大量的数据包流经分发器,容易造成分发器出现问题。

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

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