LVS/NAT实现
一、LVS简单介绍LVS(Linux Virtual Server)其实就是针对高可伸缩、高可用网络服务的需求,给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。所以,lvs需要内核有ipvs支持,linux-2.4.23以后ipvs都编译到内核里,如果你是之前版本确保你的内核支持ipvs后,只需安装ipvsadm就可以把一台服务器配置成负载调度器(Load Balancer)。对外提供服务的IP,也就是我们访问的IP称做VIP。调度器LB的任务主要是分发请求,真正处理的是真实服务器(Real Server)。
二、LVS三种模式介绍
网络地址传输模式 、直接路由模式、ip遂道模式
网络地址传输模式::LB收到用户请求包后,LB将请求包中虚拟服务器的IP地址转换为某个选定RS的IP地址,转发给RS;RS将应答包发给LB,LB将应答包中RS的IP转为虚拟服务器的IP地址,回送给用户。
lvs-nat模型特征
1、所有realserver与director在同一个子网中
2、rip真实服务器ip地址为私有地址,仅用于集群节点之间使
3、客户端的请求,响应都要经过director
4、ripserver 网关指向dip
5、可以实现端口映射 80
6、realserver可以是任何操作系统
7、dirctor可能成为系统瓶颈
DR(Direct Routing)直接路由模式。LB收到请求包后,将请求包中目标MAC地址转换为某个选定RS的MAC地址后将包转发出去,RS收到请求包后 ,可直接将应答内容传给用户。此时要求LB和所有RS都必须在一个物理段内,且LB与RS群共享一个虚拟IP。
lvs-dr模型特征 (常用)
1、集群节点必须在一个物理网络上(mac)
2、rip可以使用公网地址
3、director处理入站请求,
4、realserver网关不指向director
5、不支持端口映射
6、大多数操作系统支持realservers
7、dr dirctor 比nat director性能优越
IP隧道 (IP Tunneling)模式。LB收到用户请求包后,根据IP隧道协议封装该包,然后传给某个选定的RS;RS解出请求信息,直接将应答内容传给用户。此时要求RS和LB都要支持IP隧道协议。
lvs-tun模型特征
集群节点可跨互联网
1、director和realserver不需要在一个网络中
2、rip一定不是私有地址
3、director 仅处理入站请求
4、realserver网关不能指向director ip
5、不支持端口映射
6、仅有支持ip遂道功能操作系统才能用在realserver
三、lvs scheduling methods调度算法有10种
静态调度4个轮叫RR
加权轮叫WRR
目标地址hashDH
源地地址hashSH
动态调度6个
最少链接(Least Connections)
加权最少链接(Weighted Least Connections)WLC linux默认的调度
shortest expected delay SED
never queueNQ
基于本地的最少链接(Locality-Based Least Connections:DH)LBLC
带复制的基于本地最少链接(Locality-Based Least Connections with Replication)LBLCR
四、LVS/NAT实现过程
1、实验拓朴图
http://blog.运维网.com/attachment/201204/234827911.jpg
172.16.23.1是LVS与互联网的虚拟server ip地址,简称为VIP
192.168.23.1是LVS与内部真实服务器通信的ip地址,简称为DIP
192.168.23.2与192.168.23.3就是LVS通过一些调度算法,选择服务器响应的真实服务器地址
LVS有两块网卡,一块是桥接方式即172.16.23.1,通与互联网通信。另一块网卡仅主机方式,192.168.23.1。web1,web2都是仅主机方式。且xp里面的net1虚拟网卡设置ip为192.168.23.9
2、web1安装httpd,并使它能提供服务
yum -y install httpd
echo “server1” > /var/www/html/index.html
service httpd start
设置ip地址为192.168.23.2
Elinkshttp://192.168.23.2/index.html看能否正常访问
Web2的配置与上类似 ,这里不多数
3、LVS服务上设置
(1)、sysctl -w net.ipv4.ip_forward=1向内核传递参数开启ip转发功能,使立即生效
cat /proc/sys/net/ipv4/ip_forward 查看确保为1
(2)、安装ipvsadm
grep -i 'vs' /boot/config-2.6.18-164.el5
如果是CONFLIG_IP_VS_PROTO_TCP=y 则说明支持ipvs
(3)安装ipvsadm,可从网上下载
这里用本地yum源安装,yum源指向为Cluster
yum install ipvsadm
安装后可用rpm –ql ipvsadm 看生成那些文件及工具
(4)、用ipvsadm设置规则
ipvsadm -A -t 172.16.23.1:80 -s rr //这里定义一个集群服务 –s指调度算法为rr
ipvsadm -a -t 172.16.23.1:80 -r 192.16.23.2 –m //向集群服务添加RS-m为nat方式
ipvsadm -a -t 172.16.23.1:80 -r 192.16.23.3 –m //向集群服务添加RS-m为nat方式
可能这些命令你不太熟悉,下面将详细介绍。
ipvsadm –L –n 查看你定义的规则是否符合你的要求
(5)3.在web1和web2上设置默认网关指向DIP的地址
route add default gw 192.168.23.1
ping 172.16.23.1确保能ping通
(6)、测试是否成功
ab -c 10-n 1000 http://172.16.23.1/index.html 用ab命令做测试
watch -n1 'ipvsadm -L -n' 每秒刷新一次来查看变化
xp操作系统打开浏览器 http://172.16.23.1/index.html
刷新网页将轮询出现web1,web2页面,说明成功!
(7)ipvsadm命令详细介绍
1.定义集群服务
语法:
ipvsadm -A|-E -t|-u VIP:port -s scheduler -s指调度算法
ipvsadm -D -t|-u VIP:port
-A在虚拟服务器表中添加新的虚拟服务器记录
-E编辑内核虚拟服务器表中虚拟服务器记录。
-D删除虚拟服务器表中虚拟服务器记录。
-L 查看
-t|-u 代表tcp和udp服务
VIP指虚拟服务器ip地址,即LVS与internet通信的网卡地址
2. 真实服务器的规则定义
ipvsadm -a|e -t|u VIP:port -r REALSERVER -g|-i|-m [-w weight]
ipvsadm -d -t|-u VIP:port -r REALSERVER
-a 在虚拟服务器表的添加一条新的真实服务器
-e 编辑虚拟服务器记录中真实服务器记录
-d删除虚拟服务器记录的真实服务器记录
-r 提供服务响应的真实服务器
-g 指LVS 的工作模式为直接路由模式
-i 指LVS 的工作模式为隧道模式
-m 指LVS 的工作模式为NAT 模式
-z 清空计数器
-n 数字的方式来显示地址
--stats 状态信息
--rate 每秒速率
添加或修改集群服务:ipvsadm -A|E -t|u|f VIP:port -s 调度算法
删除一个集群服务:ipvsadm -D -t|u|f VIP:port
添加或者修改REALSERVER:ipvsadm -a|e -t|u|f VIP:port -r REALSERVER[:port] -g|-i|-m [-w 权重]
删除一个REALSERVER: ipvsadm -d -t|u|f VIP:port -r REALSERVER[:port]
五、课后知识补充 :VMware三种网络模式区别 bridged nat host-only
VMware虚拟机技术,虚拟机技术在最近的几年中得到了广泛的发展,一些大型网络服务商都开始采用虚拟机技术,不仅节省了投资成本,更节约了能源的消耗。提到VMware大家就想起了虚拟机技术,虚拟机技术在最近的几年中得到了广泛的发展,一些大型网络服务商都开始采用虚拟机技术,不仅节省了投资成本,更节约了能源的消耗。
网络模式
我们首先说一下VMware的几个虚拟设备
VMnet0:用于虚拟桥接网络下的虚拟交换机
VMnet1:用于虚拟Host-Only网络下的虚拟交换机
VMnet8:用于虚拟NAT网络下的虚拟交换机
VMware Network Adepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡
VMware Network Adepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡
1桥接网络(Bridged Networking)
桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位(虚拟网卡既不是Adepter VMnet1也不是Adepter VMnet8)。那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机。所以两个网卡的IP地址也要设置为同一网段。
2NAT模式
在NAT网络中,会用到VMware Network Adepter VMnet8虚拟网卡,主机上的VMware Network Adepter VMnet8虚拟网卡被直接连接到VMnet8虚拟交换机上与虚拟网卡进行通信。
NAT网络模式
VMware Network Adepter VMnet8虚拟网卡的作用仅限于和VMnet8网段进行通信,它不给VMnet8网段提供路由功能,所以虚拟机虚拟一个NAT服务器,使虚拟网卡可以连接到Internet。在这种情况下,我们就可以使用端口映射功能,让访问主机80端口的请求映射到虚拟机的80端口上。
VMware Network Adepter VMnet8虚拟网卡的IP地址是在安装VMware时由系统指定生成的,我们不要修改这个数值,否则会使主机和虚拟机无法通信。
3Host-Only模式
在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。
页:
[1]