linux系统构架 - LB集群之LVS的DR设置
在lvs的nat模式的基础上
1.清空ipvsadm规则
ipvsadm -C 查看
ipvsadm -ln
2.清空iptables规则
iptables -t nat -F
3.修改rs的网卡配置,修改回来网关
vi /etc/sysconfig/network-scripts/ifcfg-eth0 重启eth0
ifdown eth0; ifup eth0
4.dir网卡
ifdown eth1
dirIP:192.168.1.118 rs1IP:192.168.1.116 rs2IP:192.168.1.115 都视为外网IP。
在dir上面添加虚拟IP,vip
vim /usr/local/sbin/lvs_dr.sh
#! /bin/bash
echo > /proc/sys/net/ipv4/ip_forward
ipv=/sbin/ipvsadm
vip=192.168.1.100
rs1=192.168.1.116
rs2=192.168.1.115
ifconfig eth0: $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev eth0:
$ipv -C
$ipv -A -t $vip: -s rr
$ipv -a -t $vip: -r $rs1: -g -w
$ipv -a -t $vip: -r $rs2: -g -w
echo 1 > /proc/sys/net/ipv4/ip_forward //打开端口转发
ipv=/sbin/ipvsadm
vip=192.168.1.100
rs1=192.168.1.116
rs2=192.168.1.115
ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up //VIP子网掩码是4个255,只发不收
route add -host $vip dev eth0:0 //增加一条路由
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1
sh !$
ifconfig 虚拟网卡已经出来了
eth0: Link encap:Ethernet HWaddr :0C::CC::E7
inet addr:192.168.1.100 Bcast:192.168.1.100 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU: Metric:
ipvsadm -ln 多出来一个VIP
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.1.100: rr
-> 192.168.1.115: Route
-> 192.168.1.116: Route
5.rs1-2都写个脚本
vim /usr/local/sbin/lvs_rs.sh
#! /bin/bash
vip=192.168.1.100
ifconfig lo: $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:
echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
ifconfig 启动了回环虚拟网卡
lo: Link encap:Local Loopback
inet addr:192.168.1.100 Mask:255.255.255.255
UP LOOPBACK RUNNING MTU: Metric:
6.测试
在第四台机器上curl vip
linux系统构架 - LB集群之LVS的DR设置的更多相关文章
- linux系统构架 - LB集群之LVS介绍
LB 集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有 nginx.lvs.keepalived ,商业的硬件负载设备 F5.Netscale. LB ...
- linux系统构架 - LB集群之LVS的NAT
1.环境说明 三台服务器,一台叫dir,两台叫rs1和rs2 (director 和 real server) dir外网ip:192.168.192.129 内网ip:192.168.1.114 ...
- Linux系统构架 - HA集群配置
一.安装 HA 即(high available)高可用,又被叫做双机热备,用于关键性业务. 简单理解就是,有两台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至 ...
- 关于Linux系统下zookeeper集群的搭建
1.集群概述 1.1什么是集群 1.1.1集群概念 集群是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系 ...
- linux系统搭建zookeeper集群
转载至:https://blog.csdn.net/weixin_38111957/article/details/82927878 一.引言 今天咱们就来搭建一下zookeeper集群,当然搭建集群 ...
- Linux系统搭建Hadoop集群
一.环境说明 IP地址 主机名 备注 操作系统 192.168.92.11 hserver1 namenode Ubuntu 16.04 192.168.92.12 hserver2 datanode ...
- 负载均衡集群之LVS的DR模型详解(Diretor Routing)
LVS的默认模型:默认模型DR DR模型原理图--> 在讲DR模型要点之前,需要了解网络的相关知识: 接收的报文拆解顺序:帧(MAC)-->数据包(IP)-->数据报文(port) ...
- linux 集群及lvs
集群及LVS 集群: 一组通过高速网络互联的计算机组,并以单一系统的模式加以管理 价格很多服务器集中起来,提供同一种服务,在客户端看起来就像只有一个服务器 可以在付出较低成本的情况下获得在性能,可靠性 ...
- Linux集群服务 LVS
linux虚拟服务器(LVS)项目在linux操作系统上提供了最常见的负载均衡软件. 集群定义: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性 ...
随机推荐
- web端高德地图javascript API的调用
[转载https://www.cnblogs.com/zimuzimu/p/6202244.html]web端高德地图javascript API的调用 关于第三放地图的使用,腾讯.百度.高德 具体怎 ...
- Could Not Launch Appium Inspector
环境: macOS High Sierra 10.13.2 appium GUI 1.5.3 出现如上图报错时,尝试将App Path和Device Name勾选,如下图:
- 出让执行权:Task.Yield, Dispathcer.Yield
Yield 这个词很有意思,叫做“屈服”“放弃”“让步”,字面意义上是让出当前任务的执行权,转而让其他任务可以插入执行.Task.Dispatcher.Thread 都有 Yield() 方法,看起来 ...
- GCD 深入理解(二)
转自@nixzhu的GitHub主页(译者:Riven.@nixzhu),原文<Grand Central Dispatch In-Depth: Part 2/2> 欢迎来到GCD深入理解 ...
- 《DSP using MATLAB》示例Example7.3
由图上可以看出,与幅度谱对应的相位谱是分段线性函数,而与振幅谱对应的相位谱是真正线性函数. 幅度谱和振幅谱的区别也很明显.
- tidb 安装试用&&以及安装几个问题解决
备注: tidb 听说已经很长时间了,一直无安装部署(主要是不像cockrouchdb 不见那么简单) 1. 环境准备(官方建议使用6台机器) // 我的机器准备(阿里云的,同时大家最好选择 ...
- C# 线程间不能调用剪切板的问题
最近做一个项目,需要用到线程,而且要用到剪切板,创建了一个子线程之后发现在子线程中剪切板上获取不到数据,当时特别纳闷,上网查资料,最后终于搞定,现将解决方法归纳如下: 第一步: public void ...
- [LeetCode系列]括号生成问题
给定n, 返回所有匹配的n对括号的可能形式. 如 给定 n = 3, 一个解集是: "((()))", "(()())", "(())()" ...
- c++里面有没有什么办法做到 判断某个给定的未知数是double类型还是int类型 呢?
c++里面有没有什么办法做到 判断某个给定的未知数是double类型还是int类型 呢? 如果只是double和int, 可以用sizeof 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- git 清除本地无效的分支
远程服务器的分支已经删掉了,但是本地分支还存在 $ git fetch -p 如果不行,使用下面的指令 $ git remote prune origin