一、

5、各主机IP地址:

主机

IP

网关

Client

192.168.86.116

Router

F0/0:192.168.x.x

Fo/1:192.168.xx.xx

F0/1

Director

Eth0:192.168.86.111/24(DIP)

Eth0:1:192.168.86.254/32(VIP)

F0/1

Real 1

Eth0:192.168.86.112/24(DIP)

lo:1:192.168.86.254/32(VIP)

F0/1

Real 2

Eth0:192.168.86.113/24(DIP)

lo:1:192.168.86.254/32(VIP)

F0/1

二、配置LVS实现负载均衡

1 、在LVS_Director主机上安装负载均衡软件

# rpm -ivh

piranha*rpm ipvsadm*rpm

(配置测试时使用的ipvsadm-1.24-10.i386.rpm、piranha-0.8.4-16.el5.i386.rpm)

2、

修改内核参数

在lvs_DR修改内核参数

打开转发功能

echo "1"

> /proc/sys/net/ipv4/ip_forward

3、

配置网络脚本:

在节点1上执行setrealserver1_DR.sh

#!/bin/bash

/sbin/ifconfig eth0 192.168.86.112

netmask 255.255.255.0

/sbin/ifconfig lo:1 192.168.86.254

broadcast 192.168.86.254 netmask 255.255.255.255 up

/sbin/ ip route add default via

192.168.86.1

#echo "1" >

/proc/sys/net/ipv4/ip_forward

#关闭arp广播

echo "1" >

/proc/sys/net/ipv4/conf/eth0/arp_ignore

echo "2" >

/proc/sys/net/ipv4/conf/eth0/arp_announce

echo "1" >

/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >

/proc/sys/net/ipv4/conf/all/arp_announce

在节点2上执行setrealserver2_DR.sh

#!/bin/bash

/sbin/ifconfig eth0 192.168.86.113

netmask 255.255.255.0

/sbin/ifconfig lo:1 192.168.86.254

broadcast 192.168.86.254 netmask 255.255.255.255 up

/sbin/ ip route add default via

192.168.86.1

#echo "1" > /proc/sys/net/ipv4/ip_forward

#关闭arp广播

echo "1" >

/proc/sys/net/ipv4/conf/eth0/arp_ignore

echo "2" >

/proc/sys/net/ipv4/conf/eth0/arp_announce

echo "1" >

/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >

/proc/sys/net/ipv4/conf/all/arp_announce

4 、设置管理密码在节点 LVS-Director上初始化 piranhan 的密码

# piranha-passwd 设置密码为 123456

启动配置进程在 LVS-Director节点上启动 piranha 的配置进程,

并设置为开机自动启动

# chkconfig piranha-gui on

# /etc/init.d/piranha-gui start

5、完成之后进入图形界面并在浏览器中输入:http://localhost:3636,输入用户名:piranha和刚才定义的密码,即可进入piranha

configuration tool的配置界面:

点击login,用户名:piranha,密码:123456

在该界面中第一个要设置的地方是CONTROL/MONITORING,在该界面中将MONITOR中的选项:Auto

update勾选上,Update Interval将自动定义为10s,在服务没有启动之前LVS ROUTING TABLE和LVS PROCESS都不可见。完成之后选择Update

information now。

在该界面的第二个要设置的地方是GLOBAL SETTINGS,在该界面中:

Primary server

public IP:192.168.86.111                    (真实外部地址)

Primary server

private IP:0.0.0.0

Use network type:          direct                          (LVS方式)

选择接受配置

在该界面的第三个要设置的地方是REDUNDANCY,在该界面中:

由于没有在这个结构中加入冗余配置,所以可以将其DISABLE掉或者将其设置为ENABLE但是保持配置为空。在该例子中我的配置为空:

Redundant server

public IP:                0.0.0.0

Redundant server

private IP:

Heartbeat Interval

(seconds):          6

Assume dead after (seconds):         18

Heartbeat runs on

port:                     539

Monitor NIC links

for failure:               不勾选

选择接受配置

在该界面的第四个要设置的地方是VIRTUAL SERVERS:

serial_no = 271

primary = 192.168.86.111

service = lvs

backup_active = 1

backup = 0.0.0.0

heartbeat = 1

heartbeat_port = 539

keepalive = 6

deadtime = 18

network = direct

nat_nmask = 255.255.255.0

debug_level = NONE

monitor_links = 0

syncdaemon = 0

virtual http {

active = 1

address =

192.168.86.254 eth0:1

vip_nmask =

255.255.255.255

port = 443

send =

"GET / HTTP/1.0\r\n\r\n"

expect =

"HTTP"

use_regex =

0

load_monitor = none

scheduler =

wlc

protocol =

tcp

timeout = 6

reentry =

15

quiesce_server = 0

server

realserver1 {

address

= 192.168.86.112

active

= 1

weight

= 1

}

server

realserver2 {

address

= 192.168.86.113

active

= 1

weight

= 1

}

}

三、配置服务节点的ikey服务

1 、在real 1 和real 2分别安装ikey服务

如果linux开启了iptables防火墙的话,需要做如下设置

在realserver 上增加如下iptables

脚本:

[root@real1 lvs]#

more real_iptable.sh

service iptables

stop

#!/bin/bash

/sbin/iptables -F

/sbin/iptables -t

nat -F

REDIRECT

/sbin/iptables -A

PREROUTING -t nat -p tcp -d 192.168.86.254 --dport 800 -j REDIRECT

/sbin/iptables -A

PREROUTING -t nat -p tcp -d 192.168.86.254 --dport 22 -j REDIRECT

/sbin/iptables -A

PREROUTING -t nat -p tcp -d 192.168.86.254 --dport 3676 -j REDIRECT

/sbin/iptables -A

PREROUTING -t nat -p tcp -d 192.168.86.254 --dport 3675 -j REDIRECT

/sbin/iptables -A

PREROUTING -t nat -p tcp -d 192.168.86.254 --dport 3880 -j REDIRECT

/sbin/iptables -A

PREROUTING -t nat -p tcp -d 192.168.86.254 --dport 1812 -j REDIRECT

/sbin/iptables -A

PREROUTING -t nat -p tcp -d 192.168.86.254 --dport 1389 -j REDIRECT

service iptables save

2、在LVS -Director上添加iptables规则

DR 模式下若多端口的集群配置,我们需要以下操作,使用防火墙标记

假如我这里需要将tcp 端口80、800、443、3676、3675、3880、3890、1812、1389端口作为一个防火墙标记,在active

router 上添加如下脚本:iptables.sh

开启防火墙,把所需端口开启转发设置mark组为2

#!/bin/bash

/sbin/iptables -F

/sbin/modprobe

ip_tables

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 92.168.86.254/32 --dport 800 -j MARK --set-mark

2

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 92.168.86.254/32 --dport 443 -j MARK --set-mark

2

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 192.168.86.254/32 --dport 22 -j MARK --set-mark

2

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 192.168.86.254/32 --dport 3676 -j MARK

--set-mark 2

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 192.168.86.254/32 --dport 3675 -j MARK

--set-mark 2

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 192.168.86.254/32 --dport 3880 -j MARK

--set-mark 2

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 192.168.86.254/32 --dport 1812 -j MARK

--set-mark 2

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 192.168.86.254/32 --dport 1389 -j MARK

--set-mark 2

/sbin/iptables -t

mangle -A PREROUTING -p tcp -d 192.168.86.254/32 --dport 3890 -j MARK

--set-mark 2

service iptables

save

查看上述规则是否加入到mangle表的PREROUTING

iptables -t mangle

-L PREROUTING

3、查看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  192.168.86.254:443 wrr

-> 192.168.86.113:443            Route

1      0          0

-> 192.168.86.112:443            Route   1

0          0

若没有上面显示,在LVS_DR执行以下命令:

ipvsadm  -C清除ipvsadm规则。

然后重新添加ipvsadm规则

ipvsadm -A -f 2 -s

wrr

ipvsadm -a -f 2 -r

192.168.86.112 -g -w 5

ipvsadm -a -f 2 -r

192.168.86.113 -g -w 5

2为mark组,-g是直接路由方式,-w为权值,默认为1,权值大的优先访问,小的反之。

查看ipvsadm配置

#ipvsadm -L -n

#ipvsadm -Ln --stats -t 192.168.86.254:3890

Prot LocalAddress:Port Conns InPkts OutPkts InBytes

OutBytes

-> RemoteAddress:Port

TCP 192.168.86.90:443 5771754 101697K 0 5338M 0

-> 192.168.86.95:443 454297 13736280 0 761572K 0

-> 192.168.86.96:443 5317457 87961304 0 4576M 0

保存ipvsadm规则

ipvsadm  -S

移除相关配置

ipvsadm  -C

ipvsadm -D -f 2

ipvsadm -d -f 2 -r 192.168.86.254

4 、启动LVS进程

#

/etc/init.d/pulse start

# chkconfig pulse

on

# ipvsadm 可以看连接状态

四、测试

3、可以使用load running测试2台真机cpu是否都有负载。

lvs mysql 端口_LVS配置及多端口服务配置相关推荐

  1. apollo修改配置刷新bean_微服务配置中心完全解读

    本文作者:风卿,Nacos 社区 committer. 在撰写这篇技术选型的文章之前,是比较犹豫的.因为,以其中一个开源项目开发者的身份,去写一篇三个开源项目的对比,即便很克制的去客观的比较,也很难有 ...

  2. oracle 数据库基础配置,Oracle数据库网络服务配置基础、SQL编程详解-Oracle

    Oracle数据库是目前世界上流行的关系数据库管理系统,系统可移植性好.使用方便.功能强,适用于各类大.中.小.微机环境.Oracle数据库的主要内容包括:表空间.用户权限.四种约束等基础概念,DDL ...

  3. linux ntp时间同步配置,Linux ntp 时间同步服务配置

    一.基础环境 1.操作系统:CentOS 7.3 2.ntp:4.2.6 3.机器,服务端(192.168.1.210)客户端(192.168.1.211) 二.安装ntp yum -y instal ...

  4. Linux配置 DNS and BIND服务配置详解--缓存服务器配置 正反向解析配置

    一.DNS简介 一.DNS简介   DNS是计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的.域名服务器是 ...

  5. apollo配置mysql_携程apollo配置中心搭建

    服务jar包及初始化数据库脚本下载:(包括单机快速部署版本.加密版本.非加密版本) 云盘的Apollo是在原官方1.3版本基础上做过二次开发,请务必通过云盘链接下载相应的zip包. Apollo统一使 ...

  6. linux下启动nfs服务,linux下Samba服务和NFS服务配置的方法

    linux下Samba服务和NFS服务配置 一.Samba服务配置过程 samba的功能很简单,就是为了使linux和windows之间能够实现共享.并且利用samba搭建文件服务器,不仅比windo ...

  7. php msf 环境要求,4.6 配置 · php-msf PHP微服务框架文档 · 看云

    # 4.6 配置 配置是框架的重要组成部分,MSF框架的配置组件采用了第三方的[hassankhan/config](https://github.com/hassankhan/config),它支持 ...

  8. 七:对微服务配置中心的理解

    微服务专栏地址 专栏:微服务 微服务系列总目录 目录 微服务专栏地址 目录 1. 简介 2. 微服务配置中心是什么 3. 为什么需要微服务配置中心 4. 微服务配置中心实现技术 4.1 网罗的实现技术 ...

  9. 绝大多数人没玩过也没见过的现象:20个MYSQL进程共用1个3306端口

    各位客官听我讲,事情的过程是这样的: 10年前,公司有一个中型网站,服务器托管在IDC机房.网站是一拨老技术搞的,后来网站不商业运营了,老技术都离职,现已渺然于网络中.但网站还是要继续技术性维护(就是 ...

  10. mysql8.0创建属性,MySQL 8.0新特性 — 管理端口的使用简介

    前言 下面这个报错,相信大多数童鞋都遇见过:那么碰到这个问题,我们应该怎么办呢?在MySQL 5.7及之前版本,出现"too many connection"报错,超级用户root ...

最新文章

  1. Version 1.3.1_01 of the JVM is not suitable for this product.Version:1.4.1 or greater is required。
  2. android文件的读取方法,Android读取写入文件的方法
  3. 用python写名字代码_用python编写一个批量修改文件名的小程序
  4. mysql读锁和写锁
  5. live555学习笔记7-RTP打包与发送
  6. scp连接计算节点操作
  7. 使用Freemarker实现网页静态化
  8. 第九:Pytest进阶之xunit fixture
  9. 报表制作1(传入对象和其他参数)
  10. 密码学应用的四个进化阶段
  11. 十大进销存管理软件亮点大对比
  12. 基于STM32和SIM900A的监测系统设计(上位机基于labVIEW开发,数据库采用MySQL)
  13. [RK3566] 通过GM8775 点LVDS屏调试记录
  14. C++:[编程题]买帽子
  15. 用“掩码位图“,制作类似.png的“透明图片“①
  16. 2018年机器视觉产业技术现状、发展趋势分析及发展前景预测
  17. C语言Windows命令行编程
  18. 获取员工其当前的薪水比其manager的薪资还高的相关信息
  19. C,C++,Python实现兔子生兔子问题
  20. CFD冲蚀模拟的一些理论

热门文章

  1. mysql 视图 动态sql_sql-server – 使用动态Sql创建视图
  2. linux查看一小时之内的日志,linux – 在[timespan]内(例如最后一小时)查找日志文件中的条目...
  3. JDBC 提示:WARN: Establishing SSL connection without server's identity verification is not recommended.
  4. C语言/C++编程的起源与能力学习
  5. python中文词云图代码_Python简单实现词云图代码及步骤解析
  6. 互斥锁、条件变量、信号量浅析
  7. java订单类_基于Java创建一个订单类代码实例
  8. 手机耗电统计app_华为手机有哪些功能关掉比较好?
  9. 组态王能直接读取仪表数据吗_液晶多功能网络电力仪表PD800H
  10. python调用窗口找到文件,使用Python在Mac OS X中查找当前活动窗口