一、NAT模型实验:

1、安装ipvsadm

通常ipvs在linux内核中会有支持,可以查看内核配置文件检查是否支持。

[root@localhost ~]# grep -i ipvs /boot/config-2.6.32-573.el6.x86_64

# IPVS transport protocol load balancing support

# IPVS scheduler

# IPVS application helper

检查linux是否安装了ipvsadm。

[root@localhost ~]# 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

/usr/share/man/man8/ipvsadm-save.8.gz

/usr/share/man/man8/ipvsadm.8.gz

安装ipvsadm工具包

[root@localhost ~]# yum install ipvsadm

已加载插件:fastestmirror

设置安装进程

Loading mirror speeds from cached hostfile

* base: mirrors.tuna.tsinghua.edu.cn

* extras: mirrors.btte.net

* updates: mirrors.tuna.tsinghua.edu.cn

包 ipvsadm-1.26-4.el6.x86_64 已安装并且是最新版本

2、常用命令讲解

ipvsadm -A|E -t|u|f service-address [ -s scheduler] [-p [timeout]] [-o] [-M netmask]

-A:创建一个负载均衡的方法,指明规则、模型。

-E:编辑负载均衡的方法。

-t|u|f:指定服务器工作在哪个协议上。工作在网络层

service-address:指定vip:port

-s:指定调度方法。rr、wrr、ldlc、

-D:删除一个负载均衡方法。

ipvsadm -a|e -[tuf] service-address -r real-serveraddress -[gim] [-w weight] [-x upper] [-y lower]

-a|e:添加、编辑一个负载均衡方法,实际就是添加rip。

指定lvs模型类型:

-g:DR模型、默认

-i:tun模型

-m:nat模型

查看ipvsadm工作状态

主参数:-L 查看ipvsadm状态

辅助参数:—stats -n

3、保存配置文件

service ipvsadm save

默认存储位置:/etc/sysconfig/ipvsadm

手动指定保存位置:ipvsadm -S >/root/ipvsadm.conf

[root@localhost ~]# ipvsadm -S >/root/ipvsadm.conf

[root@localhost ~]# more ipvsadm.conf

-A -t 10.40.0.230:http -s wrr

手动恢复保存的配置文件:ipvsadm -r </root/ipvsadm.conf

[root@localhost ~]# ipvsadm -R </root/ipvsadm.conf

[root@localhost ~]# service ipvsadm status

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.40.0.230:80 wrr

4、实例配置nat负载均衡模型

将DR负载均衡器设置为可以实现转发功能:echo “1” /proc/sys/net/ipv4/ip_forward

关闭防火墙相关选项。

创建负载均衡的工作方式及查看状态。

[root@localhost ~]# ipvsadm -A -t 10.40.0.230:80 -s wrr

[root@localhost ~]# service ipvsadm status

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.40.0.230:80 wrr

添加RIP主机到负载均衡LVS中。

[root@localhost ~]# ipvsadm -a -t 10.40.0.230:80 -r 192.168.1.10 -m

[root@localhost ~]# ipvsadm -a -t 10.40.0.230:80 -r 192.168.1.20 -m

查看ipvsadm当然工作状态。

[root@localhost ~]# ipvsadm -L -n

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.40.0.230:80 wrr

-> 192.168.1.10:80              Masq    1      0          0

-> 192.168.1.20:80              Masq    1      0          0

lvs配置很简单,应用中注意各个网卡的设置,特别是路由设置,建议检查一下,通常使用虚拟机时这些问题注意的比较多。

二、DR模型实验

1、禁止realserver上的VIP直接和前端路由进行通信的三种方案:

1、修改路由,使用静态arp,arp绑定

2、在realserver上使用arptables,禁止响应对vip的广播请求。

3、在realserver上修改其内核参数,并将vip配置在与rip不同的接口上,通常是lo。

arp_ignore:用来定义arp响应限制级别

0:响应任意本地接口的请求

1:如果目的ip地址是本地进入的接口,就响应,非直连接口不响应。

arp_announce:定义arp通告级别

0:通告任何针对本地地址的请求,任意端口都通告。

1:尽量不通告目标接口不是此接口的请求,比如eth0接口不会通告针对本地eth1接口的请求。

2:使用最合适的本地接口进行通告。绝对不响应非本接口请求,比2严格。

2、强制realserver使用vip作为源地址发送响应报文,通常使用一条路由在进行强制。

3、网络规划

3.1RIP/DIP/VIP在同一个网络中,网关可以指向同一个路由,配置最简单。

我的实验是在虚拟机上完成的,具体虚拟机配置如下:

director server

eth0:10.40.0.58 桥接模式

[root@localhost ~]# ifconfig eth0:1 10.40.0.51 broadcast 10.40.0.51 netmask 255.255.255.255 up

[root@localhost ~]# route add -host 10.40.0.51 dev eth0:1

[root@localhost ~]# ipvsadm -A -t 10.40.0.51:80 -s wlc

[root@localhost ~]# ipvsadm -a -t 10.40.0.51:80 -r 10.40.0.54:80 -g -w 1

[root@localhost ~]# ipvsadm -a -t 10.40.0.51:80 -r 10.40.0.55:80 -g -w 1

[root@localhost ~]# ipvsadm -a -t 10.40.0.51:80 -r 10.40.0.56:80 -g -w 1

[root@localhost ~]# ipvsadm

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.40.0.51:http wlc

-> 10.40.0.54:http            Route   1      0          0

-> 10.40.0.55:http            Route   2      0          0

-> 10.40.0.56:http            Route   2      0          0

Realserver1:

eth0:10.40.0.54 桥接模式

Realserver2:

eth0:10.40.0.55 桥接模式

Realserver3:

eth0:10.40.0.56 桥接模式

具体配置如下:

[root@10.40.0.54~]$ifconfig eth0 10.40.0.54/24

[root@10.40.0.54~]$ echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@10.40.0.54~]$ echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@10.40.0.54~]$ echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@10.40.0.54~]$ echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@10.40.0.54 ~]# ifconfig lo:0 10.40.0.51 broadcast 10.40.0.51 netmask 255.255.255.255 up

[root@10.40.0.54 ~]# route add -host 10.40.0.51 dev lo:0

[root@10.40.0.55~]$ifconfig eth0 10.40.0.55/24

[root@10.40.0.55~]$ echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@10.40.0.55~]$ echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@10.40.0.55~]$ echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@10.40.0.55~]$ echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@10.40.0.55 ~]# ifconfig lo:0 10.40.0.51 broadcast 10.40.0.51 netmask 255.255.255.255 up

[root@10.40.0.55~]# route add -host 10.40.0.51 dev lo:0

[root@10.40.0.56~]$ifconfig eth0 10.40.0.56/24

[root@10.40.0.56~]$ echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@10.40.0.56~]$ echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@ 10.40.0.56~]$ echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@10.40.0.56~]$ echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@10.40.0.56~]# ifconfig lo:0 10.40.0.51 broadcast 10.40.0.51 netmask 255.255.255.255 up

[root@10.40.0.56~]# route add -host 10.40.0.51 dev lo:0

3.2RIP同VIP不在同一个网段,在需要另外指定添加一个路由器用于和rip相连,并指定网关为此路由器,然后此路由在自由选择出口方法

我的实验是在虚拟机上完成的,具体虚拟机配置如下:

director server

eth0:10.40.0.58 桥接模式  有线网卡

eth1:192.168.1.10 桥接模式   wifi网卡

具体配置如下:

1、配置vip、dip(dip就是eth1的ip地址了),关闭防火墙,开启ip_forward转发

[root@localhost ~]# ifconfig eth0:1 10.40.0.51 broadcast 10.40.0.51 netmask 255.255.255.255 up

[root@localhost ~]# route add -host 10.40.0.51 dev eth0:1

[root@localhost ~]# ipvsadm -A -t 10.40.0.51:80 -s wlc

[root@localhost ~]# ipvsadm -a -t 10.40.0.51:80 -r 10.40.0.54:80 -g -w 1

[root@localhost ~]# ipvsadm -a -t 10.40.0.51:80 -r 10.40.0.55:80 -g -w 1

[root@localhost ~]# ipvsadm -a -t 10.40.0.51:80 -r 10.40.0.56:80 -g -w 1

[root@localhost ~]# ipvsadm

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  10.40.0.51:http wlc

-> 192.168.1.11:http            Route   1      0          0

-> 192.168.1.12:http            Route   2      0          0

Realserver1:

eth0:10.40.0.54 桥接模式   wifi网卡

Realserver2:

eth0:10.40.0.55 桥接模式   wifi网卡

Realserver3:

eth0:10.40.0.56 桥接模式   wifi网卡

[root@192.168.1.11~]$ifconfig eth0 192.168.1.11/24

[root@192.168.1.11~]$ echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@192.168.1.11~]$ echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@192.168.1.11~]$ echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@192.168.1.11~]$ echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@localhost ~]# ifconfig lo:0 10.40.0.51 broadcast 10.40.0.51 netmask 255.255.255.255 up

[root@localhost ~]# route add -host 10.40.0.51 dev lo:0

[root@192.168.1.11~]$route add default gw 192.168.1.1

[root@192.168.1.11~]$ifconfig eth0 192.168.1.12/24

[root@192.168.1.11~]$ echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

[root@192.168.1.11~]$ echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

[root@192.168.1.11~]$ echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

[root@192.168.1.11~]$ echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

[root@localhost ~]# ifconfig lo:0 10.40.0.51 broadcast 10.40.0.51 netmask 255.255.255.255 up

[root@localhost ~]# route add -host 10.40.0.51 dev lo:0

[root@192.168.1.11~]$route add default gw 192.168.1.1

转载于:https://blog.51cto.com/137783/1968766

linux集群之LVS入门和企业级实战(续一)相关推荐

  1. Linux集群服务 LVS

    linux虚拟服务器(LVS)项目在linux操作系统上提供了最常见的负载均衡软件. 集群定义: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性 ...

  2. 容器集群k8s从入门到精通实战第一天 kubernetes集群简介及其实例

    第一章 kubernetes介绍 本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念.组件和工作原理. 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署 ...

  3. Linux集群架构(LVS DR模式搭建、keepalived + LVS)

    为什么80%的码农都做不了架构师?>>>    LVS DR模式搭建 准备工作:三台机器 分发器,也叫调度器(简写为dir):192.168.248.128 rs1 :192.168 ...

  4. Linux集群架构(下)——DR模式、keepalived+LVS

    2019独角兽企业重金招聘Python工程师标准>>> Linux集群架构(下) 八.DR模式搭建 8.1 准备工作 试验需求三台机器: 分发器,也叫调度器(简写为dir) : 19 ...

  5. linux lvs公网ip,Linux集群架构(2)LVS介绍、LVS的调度算法、NAT模式搭建、 DR模式、keepalive...

    负载均衡集群介绍 LVS介绍 1.LVS NAT模式:(,目标ip转发.适用于小型集群,机器数量不多10台左右) 2.LVS IP Tunnel模式(将目标ip进行更改) (在这个模式下的rs机器都是 ...

  6. Linux集群和自动化运维

    Linux/Unix技术丛书 Linux集群和自动化运维 余洪春 著 图书在版编目(CIP)数据 Linux集群和自动化运维/余洪春著. -北京:机械工业出版社,2016.8 (Linux/Unix技 ...

  7. 【资源分享】高俊峰老师作品《linux集群应用实战》 视频源码分享

    [size=medium][size=x-small]大家好, 与大家分享一些linux集群的学习资料,对开发入门或者是想提升技术高度的同学可能会比较有用,希望可以帮助到大家,祝大家都能够学习进步,事 ...

  8. Linux Linux 集群

    Linux 集群 Page navigation 什么是集群? 集群分类 基于 Linux 的集群 Linux 服务器集群系统 Linux 高性能计算集群 集群系统 MOSIX 构建 Linux 集群 ...

  9. Linux集群和自动化维1.3 如何根据服务器应用选购服务器

    1.3 如何根据服务器应用选购服务器 无论物理服务器是选用IDC托管还是AWS EC2云主机(以下为了简略说明,将它们统称为服务器),我们都要面临一个问题,那就是选择服务器的硬件配置,选购硬件配置时要 ...

最新文章

  1. 社会计算研究组研究方向
  2. 收藏几个有意思的SQL脚本
  3. elementUI+vue-cli el-table=》excel
  4. coreldraw的线条怎么变成圆头_别再穿到处撞的小白鞋了,这五款春夏小皮鞋,不管怎么搭配都好看...
  5. Android—打包aar以及module依赖操作
  6. Android之简单背景颜色渐变实现
  7. 稀疏自编码器_自编码(AutoEncoder)模型及几种扩展之二
  8. 性能计数器驱动_【Nature Sustainability】机械力驱动的摩擦电高效空气负离子发生器...
  9. python自动部署环境_在 CentOS 上初始化 Python 环境的自动部署脚本
  10. selenium之 chromedriver与chrome版本映射表(更新至v2.43)
  11. python装饰器实现用户密码认证(简单初形)
  12. Spring Boot配置文件yml格式详解
  13. 零基础如何学习java?
  14. 三方协议,劳动合同,劳务合同的区别
  15. OSPF DR选举详解
  16. struts2 配置文件中 result的用法
  17. 软件项目管理:教你如何做好团队管理
  18. 大青云不显示服务器,《大青云》8月30日合服公告
  19. RFID技术在图书管理应用中的优势
  20. 7、A kernel method for multi-labelled classification

热门文章

  1. cenyos7安装 yum不可用_小区阳台隐形网横管不可用扁管,要改再去安装,还有问题...
  2. jsp 页面刷新,EasyUI刷新、加载
  3. 当layer动态加载无法勾选 多个复选框时
  4. java寻路算法_具有指定距离/节点数的寻路算法
  5. tkinter 中给某个文本加上滚动条_Python Tkinter自制文本编辑器
  6. 区块链开发指南_区块链软件开发详解
  7. 前端 linux ps,Linux ps命令
  8. idea无法导入java文件_java – IntelliJ IDEA无法解析spring导入的文件
  9. 添加组件_苹果ios14怎么添加删除小组件 小组件叠放添加设置教程
  10. ATAC-seq原理及现有技术的比较