Linux集群(三)-ipvsadm工具

ipvsadm是什么

LVS由两部分由ipvs与ipvsadm组成,ipvs是LVS的核心实现需要借助管理工具ipvsadm定义LVS集群规则,ipvs根据定义好的规则进行工作。

ipvsadm的相关文件

服务名:         ipvsadm.service
主程序:        /usr/sbin/ipvsadm
规则保存工具:  /usr/sbin/ipvsadm-save
规则重载工具:  /usr/sbin/ipvsadm-restore
配置文件:      /etc/sysconfig/ipvsadm-config

ipvsadm语法

管理集群服务

ipvsadm -A|E -t|u|f service-address:port [-s scheduler] [-p [timeout]]
-A  创建一个LVS集群
-E  修改一个LVS集群
-C  清空LVS规则
-R  重载LVS规则,重载规则时需要利用重定向<
-S  保存
-Z  清空计数器
-L  查看LVS规则
    -n:        以数字形式输出地址和端口号
    --exact:   扩展信息,精确值
    -c:        当前IPVS连接输出
    --stats:   统计信息
    --rate :   输出速率信息

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

service-address:
    -t|u|f:创建LVS集群服务为tcp/udp/firewall mark服务
    -t: TCP协议的端口,VIP:TCP端口
    -u: UDP协议的端口,VIP:UDP端口
    -f:firewall MARK,标记,一个数字

[-s scheduler]:指定集群的调度算法,默认为wlc(加权最少链路)

管理集群服务上的RealServer

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

server-address:
格式:rip[:port] 如省略port,不作端口映射

-a  添加一个RealServer到集群中。
-d  删除一个RealServer服务器
-r  指定将要添加的Realserver的IP地址。
-m  表示LVS集群的工作模式为LVS-NAT模式
-g  表示LVS集群的工作模式为LVS-DR模式,默认
-i  表示LVS集群的工作模式为LVS-TUN模式
-w  权重

实例

拓扑图

LVS-NAT集群

1.开启调度器VS主机的包转发功能

# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf && sysctl -p

2.创建一个LVS-NAT集群

在LVS主机上:
# ipvsadm -A -t 172.18.44.220:80 -s rr

3.添加RealServer

# ipvsadm -a -t 172.18.44.220:80 -m -r 192.168.7.201:80
# ipvsadm -a -t 172.18.44.220:80 -m -r 192.168.7.203:8080

4.检验

# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.18.44.220:80 rr
  -> 192.168.7.201:80             Masq    1      0          0
  -> 192.168.7.203:8080           Masq    1      0          0 

5.保存ipvs

# ipvsadm-save -n > /etc/sysconfig/ipvsadm

6.测试

在外网的客户机
# for ((i=1;i<=10;i++));do curl 172.18.44.220;done
nginx on RS1
nginx on RS2
nginx on RS1
nginx on RS2
nginx on RS1
nginx on RS2
nginx on RS1
nginx on RS2
nginx on RS1
nginx on RS2

7.调整下调度算法和RealServer权重

# ipvsadm -E -t 172.18.44.220:80 -s wrr
# ipvsadm -e -t 172.18.44.220:80 -m -r 192.168.7.201:80 -w 2
# ipvsadm -e -t 172.18.44.220:80 -m -r 192.168.7.203:8080 -w 1
# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.18.44.220:80 wrr
  -> 192.168.7.201:80             Masq    2      0          0
  -> 192.168.7.203:8080           Masq    1      0          0

8.测试

# for ((i=1;i<=10;i++));do curl 172.18.44.220;done
nginx on RS1
nginx on RS1
nginx on RS2
nginx on RS1
nginx on RS1
nginx on RS2
nginx on RS1
nginx on RS1
nginx on RS2
nginx on RS1

注意:LVS规则修改后会立即生效。

LVS-DR集群

LVS配置

#!/bin/bash
vip=‘192.168.7.250‘
iface=‘eth0:1‘
mask=‘255.255.255.255‘
port=‘80‘
rs1=‘192.168.7.201‘
rs2=‘192.168.7.203‘
scheduler=‘rr‘
type=‘-g‘

case $1 in
start)
    ifconfig $iface $vip netmask $mask
    iptables -F

    ipvsadm -A -t ${vip}:${port} -s $scheduler
    ipvsadm -a -t ${vip}:${port} -r ${rs1} $type
    ipvsadm -a -t ${vip}:${port} -r ${rs2} $type
    echo "The VS Server is Ready!"
    ;;
stop)
    ipvsadm -C
    ifconfig $iface down
    echo "The VS Server is Canceled!"
    ;;
*)
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac

RS配置(2台)

#!/bin/bash
vip=192.168.7.250
mask=‘255.255.255.255‘
dev=lo:1

case $1 in
start)
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    ifconfig $dev $vip netmask $mask
    #route add -host $vip dev $dev
    echo "The RS Server is Ready!"
    ;;
stop)
    ifconfig $dev down
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo "The RS Server is Canceled!"
    ;;
*)
    echo "Usage: $(basename $0) start|stop"
    exit 1
    ;;
esac

客户机

# for ((i=1;i<=10;i++));do curl 192.168.7.250;done
RS2
RS1
RS2
RS1
RS2
RS1
RS2
RS1
RS2
RS1

原文地址:http://blog.51cto.com/191226139/2090656

时间: 2024-08-05 18:30:20

Linux集群(三)-ipvsadm工具的相关文章

linux集群运维工具:clustershell和pssh

由于需要安装hadoop集群,有10台机器需要安装,一开始打算用SCP复制,后来觉得不可接受(实际现场可能数倍的机器集群,就是10台也不想干).后来在网上找了,发现了clustershell和pssh这两个工具.这两个工具随便用其中一个就可以了. 环境说明:centos6.5机器10台 需求:确定一个主机A,通过在A上执行命令即可同步在其他节点上执行. 前提:首先配置好A对各个机器的密码SSH登陆. pssh参考网址:http://www.linuxidc.com/Linux/2011-12/4

【免费下载】全套最新 6.Linux集群 视频教程+教学资料+学习课件+源代码+软件开发工具

6.Linux集群视频教程 网盘地址: 链接:https://pan.baidu.com/s/1roYoSM0jHqa3PrCfaaaqUQ 提取码:41py 加公众号 获取更多新教程 教程目录大纲 ./6.Linux集群 └── 集群视频 └── 视频 ├── 1.集群概念 │?? ├── 01.-Linux云计算-集群- 集群概述 │?? │?? ├── 01.-Linux云计算-集群-集群概述.mp4 │?? │?? ├── 02.-Linux云计算-集群-集群分类.mp4 │?? │??

Linux集群-负载均衡lvs介绍及lvs-nat实现https

一.Linux集群 Linux集群系统保护集群管理器和集群节点两部分组成.集群节点简称为节点.服务器或服务器节点,是用来提供资源,进行集群的实际工作.一般来说,它必须进行配置后才能称为集群的一部分,同时也要运行集群用到的应用程序.Linux集群管理器再将各节点捆绑在一起,它用于将任务分解到所有的节点.简单的说,就是按照某种方式把服务器连起来来完成一种特定的任务,提高服务器的响应能力. scale on 在单台主机上提高服务器性能, scale out 增加服务器的数量来提高,负载均衡的集群. 二

第十八章 Linux集群架构

18.1 集群介绍集群概述根据功能划分为两大类:高可用和负载均衡.1)高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务的机器宕机,冗余将接替继续提供服务实现高可用的开源软件有:heartbeat.keepalived.后者好用,前者好久未更新了.2)负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理,在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2.实现负载均衡的开源软件有LVS.keepalived.haprox

新书《Linux集群和自动化运维》目录

推荐序一 在全球"互联网+"的大背景下,互联网创业企业的数量如雨后春笋般大量产生并得到了快速发展!对"互联网+"最有力的支撑就是Linux运维架构师.云计算和大数据工程师,以及自动化开发工程师等! 但是,随着计算机技术的发展,企业对Linux运维人员的能力要求越来越高,这就使得很多想入门运维的新手不知所措,望而却步,甚至努力了很久却仍然徘徊在运维岗位的边缘:而有些已经工作了的运维人员也往往是疲于奔命,没有时间和精力去学习企业所需的新知识和新技能,从而使得个人的职业发

Linux集群监控工具简介:Ganglia和Nagios

11年时候,曾经对 Ganglia 和 Nagios有一定接触,这是两个用于监视数据中心的工具.这两个工具被大量用于高性能计算(HPC)环境中,但是它们对于其他环境也具有很大的吸引力(例如云.呈现集群和托管中心).此外,两者对监视的定义也采取了不同的侧重点.Ganglia 更多地与收集度量数据并随时跟踪这些数据有关,而 Nagios 一直致力于成为一种报警机制. 真么多年过去了,这两个工具还是挺有用的.,这里有一定的介绍:http://os.51cto.com/art/201104/255361

Linux集群详解

Linux集群详解 集群或者说是群集:其目的是为了实现将多台计算机组合以来完成特定的任务,比如天气预报,大型网络游戏,这些都需要很大的运算量,单台计算机实现成本太高,而且不显示.那么就需要通过集群的方式,将废弃的或者正在使用的计算机联合起来,结合整体的力量来解决这些问题 集群类型: 1.  负载均衡集群 load blancing ,简称LB 2.  高可用性集群 high availibility,简称 HA 3.  高性能集群 high performance,简称 HP 作用: 1.  负

Linux 集群

原文地址 Linux 集群 计算 Linux 中集群项目的数量就象计算硅谷中创业公司的数量一样.不象 Windows NT 已经受其自身的封闭环境阻碍,Linux 有大量的集群系统可供选择,适合于不同的用途和需要.但确定应该使用哪一个集群的工作却没有因此变得简单. 问题的部分原因在于术语集群用于不同场合.IT 经理可能关心如何使服务器运行时间更长,或使应用程序运行得更快,而数学家可能更关心在服务器上进行大规模数值计算.两者都需要群集,但是各自需要不同特性的群集. 本文调查了不同形式的集群以及许多

Linux集群系列之一——集群基础概念

PHP高级工程师之LInux集群(多态主机组合起来,完成一个任务) 在这里和大家分享一下多数网络黑客常用的攻击方式及预防措施. 如有不善,多提意见(QQ:1595068971-邮箱:[email protected]) 负载均衡集群LB(提高服务的病发处理能力为根本)增加处理能力 衡量标准: 病发处理能力(一次性能够处理多少个请求) 高可用集群HA(提升服务的始终在线能力为根本,不会因为宕机而导致服务不可用)增加服务可用性 衡量标准:在线时间 / (在线时间+故障处理时间) 99%,99.9%,