LVS中ipvsadm的使用方法及NAT类型集群实现

LVS中实现负载均衡调度的规则生成工具是ipvsadm,程序包就是ipvsadm。

安装:

在centos64位上安装ipvsadm:

#yum install ipvsadm –y

安装后键入#rpm –ql ipvsadm  显示出如下信息

#/etc/rc.d/init.d/ipvsadm  服务脚本

#/etc/sysconfig/ipvsadm-config  保存规则的配置文件

#/sbin/ipvsadm  主程序

#/sbin/ipvsadm-restore  从文件中恢复规则并生效的程序

#/sbin/ipvsadm-save  保存至文件程序的程序

#/usr/share/doc/ipvsadm-1.26

#/usr/share/doc/ipvsadm-1.26/README

#/usr/share/man/man8/ipvsadm-restore.8.gz  restore的man文档

#/usr/share/man/man8/ipvsadm-save.8.gz  save的man文档

#/usr/share/man/man8/ipvsadm.8.gz  主程序man文档

使用方法:

管理集群服务:创建、修改、删除

管理集群服务:

创建或修改:

ipvsadm -A|E -t|u|f service-address [-sscheduler]

-A: 添加

-E:修改

-t: 承载的应用层协议为基于TCP协议提供服务的协议;其service-address的格式为“VIP:PORT”,如“172.16.50.2:80”;

-u: 承载的应用层协议为基于UDP协议提供服务的协议;其service-address的格式为“VIP:PORT”,如“172.16.50.3:53”;

-f:承载的应用层协议为基于TCP或UDP协议提供服务的协议,但此类报文会经由iptables/netfilter打标记,即为防火墙标记;其service-address的格式为(一个数字即可)“FWM”,例如“10”;例如:可以将TCP的80端口标记上10、UDP的443端口标记上10从而将两个集群服务做成一个集群服务。

-s scheduler: 指明调度方法;默认为wlc;

举例:

删除:

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

举例:

管理集群服务上的RS:

添加或修改:

ipvsadm -a|e -t|u|f service-address -rserver-address [-g|i|m] [-w weight]

-r server-address: 指明RS,server-address格式一般为“IP[:PORT]”;注意,只支持端口映射的lvs类型中才应该显式定义此处端口;例如:-r 172.16.50.1

[-g|i|m]: 指明lvs类型,默认为dr类型

-g: gateway, 意为dr类型;

-i: ipip, 意为tun类型;

-m: masquerade, 意为nat类型;

[-w weight]:当前RS的权重;注意:仅对于支持加权调度的scheduler,权重才有意义;

举例:

删除:

ipvsadm -d -t|u|f service-address -rserver-address

举例:

清空所有集群服务的定义:

ipvsadm –C

举例:

保存及恢复集群服务及RS的定义:

ipvsadm -S > /etc/sysconfig/ipvsadm或者ipvsadm-save> /etc/sysconfig/ipvsadm或者service ipvsadm save

举例:

ipvsadm -R < /etc/sysconfig/ipvsadm或者ipvsadm-restore< /etc/sysconfig/ipvsadm或者service ipvsadm restart

举例:

查看规则:

ipvsadm -L|l [options]

-c: 列出当前所有connection;

-n, --numeric: 数字格式显示IP及端口;

举例:

--stats: 列出统计数据

举例:

--rate: 列出速率

举例:

--exact: 精确值;(据我看好像和没加这个参数显示的是一样的)

举例:

清空计数器:

ipvsadm -Z [-t|u|f service-address]

举例:(真的会清哦)

搭建NAT类型的web服务集群

如:要实现ipvs_nat类型的搭建,首先准备三个linux虚拟机,centos64位(简称:V1)用作director,centos64位(2)(简称:V2)、centos64位(3)(简称:V3)作为real server构建一个web服务集群。

由于具体实现调度功能的是ipvs,而ipvs工作在netfilter的input链上,则ipvs和iptables两者共同工作会产生冲突,所以,在集群存在的情况下,iptables一般应该关闭。

清除iptables规则并查看

在V1

一个网卡以桥接方式(vmnet0)与物理机连接

再添加一块网卡(vmnet2)以普通模式与V2、V3连接

在V2、V3上修改网卡为wmnet2

将V1中的vmnet2网卡eth1配置成192.168.50.1

同样方法,将V2的vmnet2类型网络的eth0修改为192.168.50.2,V3中vmnet2类型网络的eth0修改为192.168.50.3

设置网关为192.168.50.1并查看

分别用V2、V3测试与V1外网地址的连通性

注:若想永久有效可以在V2、V3的/etc/sysconfig/network-scripts/ifcfg-eth0添加

IPADDR=192.168.50.2

NETMASK-255.255.255.0

GATEWAY=192.168.50.1

BOOTPROTO=”none”

在V1中测试与V2、V3的连通性

ping -c 1 192.168.50.2

ping -c 1 192.168.50.3

保证在V2、V3上安装好了httpd,并在V2、V3上编辑网页

vim /var/www/html/index.html

然后启动http服务

service httpd start

然后在V1上测试下是否可以访问V2、V3的网页

curl http://192.168.50.2

curl http://192.168.50.3

见到上述页面,即可以在V1主机上配置ipvs规则了

打开V1中的路由转发功能

vim /etc/sysctl.conf

将net.ipv4.ip_forward = 0改成1

让sysctl的配置立即生效

sysctl –p

在主机浏览器中输入172.16.50.1,重复刷新看是否轮询即可。

这样基于rr规则的lvs负载均衡集群就搭建完成喽!

也可以更换规则类型实现基于其他规则的负载均衡。

妈蛋~写这么多累死了!

时间: 2024-07-31 19:13:55

LVS中ipvsadm的使用方法及NAT类型集群实现的相关文章

使用LVS+NAT搭建集群实现负载均衡

使用LVS+NAT搭建集群实现负载均衡 LVS集群简介    计算机集群简称集群是一种计算机系统,它通过一组松散集成的计算机软件或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中的单个计算机通常称为节点,通常通过局域网连接,但也有其它的可能连接方式.集群计算机通常用来改进单个计算机的计算速度和/或可靠性.一般情况下集群计算机比单个计算机,比如工作站或超级计算机性能价格比要高得多        LVS集群分布图   集群有三种类型:           

LVS+keeplived+nginx+tomcat高可用、高性能jsp集群

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://kerry.blog.51cto.com/172631/557749 #!/bin/bash # BY kerryhu # MAIL:[email protected] # BLOG:http://kerry.blog.51cto.com # Please manual operation yum of before Operation..... #yum -y install

LVS中DR类型集群实现

LVS负载均衡集群中DR类型的架构图示如下: 图中,客户端发送的请求会由路由器和交换机转发后直接达到director.再由director调度给指定的real server ,最后由real server直接响应给客户端而不经过director,在此架构中director和real server的网络架构是此类型的重点.所以,配置DR类型一定要注意以下两点: (1) 各RS要直接响应Client,因此,各RS均得配置VIP:但仅能够让Director上的VIP能够与本地路由直接通信: (2) D

LVS + Keepalived 实现高可用、负载均衡 Web 集群

简介: LVS 是 Linux Virtual Server 的简写,Linux 虚拟服务器的意思,是一个虚拟的服务器集群系统,此项目由章文嵩博士于 1998 年 5 月成立,是中国最早出现的自由软件项目之一. LVS 负载均衡集群系统的优点: 1.提高吞吐量 想获得更高的吞吐量,在 LVS 中只需增加 Real-server 即可,其开销只是线性增长.如选择更换一台更高性能的服务器来获得相当的吞吐量,开销要大很多. 2.冗余 如果 LVS 中某台 Real-server 由于需要升级或其它原因

Redis 一二事 - 在spring中使用jedis 连接调试单机redis以及集群redis

Redis真是好,其中的键值用起来真心强大啊有木有, 之前的文章讲过搭建了redis集群 那么咋们该如何调用单机版的redis以及集群版的redis来使用缓存服务呢? 先讲讲单机版的,单机版redis安装非常简单,不多说了,直接使用命令: 1 [[email protected] bin]# ./redis-server redis.conf 启动就行 在sprig文件中配置如下 1 <!-- 2 TODO: 3 开发环境使用单机版 4 生产环境务必切换成集群 5 --> 6 <!--

确定elk中的数据存储的位置-和增加集群节点

可见由 配置文件path.data决定 [[email protected] etc]# cat /usr/local/elasticsearch/config/elasticsearch.yml  | egrep -v "^$|^#" path.data: /tmp/elasticsearch/data path.logs: /tmp/elasticsearch/logs network.host: 192.168.100.10 network.port: 9200 [[email 

通过eclipse方法来操作Hadoop集群上cassandra数据库(包括创建Keyspace对象以及往数据库写入数据)

(1)下载cassandra,我所用版本为apache-cassandra-2.0.13-bin.tar.gz(hadoop版本为1.0.1),将其上传到hadoop集群,然后解压,tar -xzf apache-cassandra-2.0.13-bin.tar.gz; 并改名为 cassandra,放在目录/usr/下面,然后修改几个文件: vim cassandra.yaml  按照下面的字段修改 data_file_directories: - /usr/cassandra/data # 

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

实验环境 LVS-Master 10.0.100.201 VIP:10.0.100.203 LVS-Slave       10.0.100.204 WEB1-Tomcat 10.0.2.29 gateway:10.0.2.253 WEB2-Tomcat 10.0.100.202 (注意:应保持所有服务器的时间一致) Install LVS # ln -s /usr/src/kernels/2.6.32-431.el6.i686/ /usr/src/linux //若找不到这个目录则先安装ker

LVS+Keepalived搭建MyCAT高可用負載均衡集群

1.前面我们已经搭建好mysql主主,并且用mycat实现双写功能,主要配置文件: [[email protected] conf]# cat schema.xml <?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <schema nam