系统:centos6.5mini

环境:

机器名

Ip地址

角色

Vip-web:

192.168.20.50

Vip-mysql:

192.168.20.60

lvs01

192.168.20.100

Lvs

lvs02

192.168.20.200

Lvs

Web01

192.168.20.10

Web

Web02

192.168.20.20

Web

Mysql01

192.168.20.30

Mysql

Mysql02

192.168.20.40

Mysql

注: 这个实验做的是web和mysql 负载均衡

1.各个机器关掉iptables,selinux,如下命令

[root@lvs01 ~]# service iptables stop

[root@lvs01 ~]# chkconfig iptables off

[root@lvs01 ~]# getenforce

Disabled

2.web01和web02 上安装web服务,将VIP绑定到真实服务器的网口eth0,修改sysctl.conf

[root@web01 ~]# yum install -y  httpd

[root@web01 ~]# /etc/init.d/httpd restart

[root@web01 ~]# chkconfig httpd on

[root@web01 ~]# cat /var/www/html/index.html

web01

[root@web01 ~]# ip addr add 192.168.20.50/24 dev eth0

[root@web01 ~]# vi  /etc/rc.d/rc.local

ip addr add 192.168.20.50/24 dev eth0

[root@web01 ~]# vi /etc/sysctl.conf

net.ipv4.conf.eth0.arp_ignore = 1

net.ipv4.conf.eth0.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

[root@web01 ~]# sysctl -p

[root@web02 ~]# yum install -y  httpd

[root@web02 ~]# /etc/init.d/httpd restart

[root@web02 ~]# chkconfig httpd on

[root@web02 ~]# cat /var/www/html/index.html

web2

[root@web02 ~]# ip addr add 192.168.20.50/24 dev eth0

[root@web02 ~]# vi  /etc/rc.d/rc.local

ip addr add 192.168.20.50/24 dev eth0

[root@web01 ~]# vi /etc/sysctl.conf

net.ipv4.conf.eth0.arp_ignore = 1

net.ipv4.conf.eth0.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

[root@web01 ~]# sysctl -p

3.在mysql01和mysql02上安装mysql 服务,在mysql01上创建mysql01,并且赋予用户myusr01从任何服务器登录的权限,而在mysql02上创建mysql02,并且赋予用户myusr01从任何服务器登录的权限。将VIP绑定到真实服务器的网口eth0,修改sysctl.conf。

[root@mysql01 ~]# yum install -y mysql mysql-server

[root@mysql01 mysql]# /etc/init.d/mysqld start

[root@mysql01 mysql]# chkconfig mysqld on

[root@mysql01 ~]# mysql -uroot -p

Enter password:

mysql> create database mysql01;

mysql> grant all privileges on *.* to 'myusr01'@'%' identified by '00000000' with grant option;

mysql> flush privileges;

mysql> quit;

[root@mysql01 ~]# ip addr add 192.168.20.60/24 dev eth0

[root@mysql01 ~]# vi  /etc/rc.d/rc.local

ip addr add 192.168.20.60/24 dev eth0

[root@mysql01 ~]# vi /etc/sysctl.conf

net.ipv4.conf.eth0.arp_ignore = 1

net.ipv4.conf.eth0.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

[root@mysql01 ~]# sysctl -p

[root@mysql02 ~]# yum install -y mysql mysql-server

[root@mysql02 mysql]# /etc/init.d/mysqld start

[root@mysql02 mysql]# chkconfig mysqld on

[root@mysql02 ~]# mysql -uroot -p

Enter password:

mysql> create database mysql02;

mysql> grant all privileges on *.* to 'myusr01'@'%' identified by '00000000' with grant option;

mysql> flush privileges;

mysql> quit;

[root@mysql01 ~]# ip addr add 192.168.20.60/24 dev eth0

[root@mysql01 ~]# vi  /etc/rc.d/rc.local

ip addr add 192.168.20.60/24 dev eth0

[root@mysql01 ~]# vi /etc/sysctl.conf

net.ipv4.conf.eth0.arp_ignore = 1

net.ipv4.conf.eth0.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

[root@mysql01 ~]# sysctl -p

4. 在lvs01和lvs02 上安装lvs+keepalived

[root@lvs01 ~]#yum install ipvsadm  keepalived –y

[root@lvs02 ~]#yum install ipvsadm  keepalived –y

5.Keepalived的配置

[root@lvs01 ~]# vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id lvs01

}

vrrp_instance VI_1 {

state MASTER

interface eth0

virtual_router_id

priority

advert_int 1

authentication {

auth_type PASS

auth_pass

}

virtual_ipaddress {

192.168.20.50

}

}

vrrp_instance VI_2 {

state BACKUP

interface eth0

virtual_router_id

priority

advert_int 1

authentication {

auth_type PASS

auth_pass

}

virtual_ipaddress {

192.168.20.60

}

}

virtual_server 192.168.20.50 80{

delay_loop 6  #健康检查时间间隔,单位s

lb_algo rr     #负载均衡调度算法设置为加权轮叫

lb_kind DR    # LVS工作机制,这里是DR模式

nat_mask 255.255.255.0 #网络掩码,DR模式要保障真是服务器和lvs在同一网段

persistence_timeout 0  #会话保持时间,单位s,测试时数值尽量小一点,轮询结果明显。

protocol TCP  #协议

real_server 192.168.20.10 80{  #设定真实服务器地址以及端口,

weight 1  # 设置权重,数字越低,调度的比例越小。

}

real_server 192.168.20.20 80{

weight 1

}

}

virtual_server 192.168.20.60 3306{

delay_loop 6

lb_algo rr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 0

protocol TCP

real_server 192.168.20.30 3306{

weight 1

}

real_server 192.168.20.40 3306{

weight 1

}

}

[root@lvs01 ~]# /etc/init.d/keepalived restart

[root@lvs02 ~]# vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

router_id lvs02

}

vrrp_instance VI_1 {

state BACKUP

interface eth0

virtual_router_id

priority

advert_int 1

authentication {

auth_type PASS

auth_pass

}

virtual_ipaddress {

192.168.20.50

}

}

vrrp_instance VI_2 {

state MASTER

interface eth0

virtual_router_id

priority

advert_int 1

authentication {

auth_type PASS

auth_pass

}

virtual_ipaddress {

192.168.20.60

}

}

virtual_server 192.168.20.50 80{

delay_loop 6

lb_algo rr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 0

protocol TCP

real_server 192.168.20.10 80{

weight 1

}

real_server 192.168.20.20 80{

weight 1

}

}

virtual_server 192.168.20.60 3306{

delay_loop 6

lb_algo rr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 0

protocol TCP

real_server 192.168.20.30 3306{

weight 1

}

real_server 192.168.20.40 3306{

weight 1

}

}

[root@lvs02 ~]# /etc/init.d/keepalived restart

(注意:lvs+keepalived这是一种双主模式,注意route_id的不同,优先级,主备之分)

6.查看vip

[root@lvs01 ~]# ip addr list

[root@lvs02 ~]# ip addr list

7.验证web集群

7.1正常测试,可以看到的是通过vip 访问,可以以轮询的方式将客户的请求发送到web服务器上

7.2 当lvs01 down机了,可以看到vip 漂移到lvs02上,依然可以正常访问web服务

[root@lvs02 ~]# ip addr list

8.验证mysql集群

8.1 正常测试,可以看到的是通过vip 访问,可以以轮询的方式将客户的请求发送到mysql服务器上

[root@lvs01 ~]# mysql -h 192.168.20.60 -umyusr01 -p00000000 -e 'show databases'

[root@lvs01 ~]# mysql -h 192.168.20.60 -umyusr01 -p00000000 -e 'show databases'

8.2 当lvs02 down机了,vip 会飘到lvs01 上,mysql 服务依然可以正常服务

[root@lvs01 ~]# ip addr list

[root@lvs01 ~]# mysql -h 192.168.20.60 -umyusr01 -p00000000 -e 'show databases'

9.查看lvs

lvs(dr)+keepalived的更多相关文章

  1. centos LB负载均衡集群 三种模式区别 LVS/NAT 配置 LVS/DR 配置 LVS/DR + keepalived配置 nginx ip_hash 实现长连接 LVS是四层LB 注意down掉网卡的方法 nginx效率没有LVS高 ipvsadm命令集 测试LVS方法 第三十三节课

    centos   LB负载均衡集群 三种模式区别 LVS/NAT 配置  LVS/DR 配置  LVS/DR + keepalived配置  nginx ip_hash 实现长连接  LVS是四层LB ...

  2. lvs/dr+keepalived搭建成功后,开启防火墙,虚拟IP不能访问,但是真实IP却可以访问

    lvs/dr+keepalived搭建成功后,开启防火墙,虚拟IP不能访问,但是真实IP却可以访问,如果关闭防火墙虚拟IP就可以访问网站了,这个问题肯定是防火墙在作怪. 经过这两的不懈奋斗和大家的帮助 ...

  3. RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡

    原文地址:http://www.cnblogs.com/mchina/archive/2012/05/23/2514728.html 一.简介 LVS是Linux Virtual Server的简写, ...

  4. Linux下部署LVS(DR)+keepalived+Nginx负载均衡

    架构部署 LVS/keepalived(master):192.168.21.3  LVS/keepalived(Slave):192.168.21.6  Nginx1:192.168.21.4  N ...

  5. 虚拟机 搭建LVS + DR + keepalived 高可用负载均衡

    一:环境说明:   LVS-DR-Master:    10.3.0.82   LVS-DR-Backup:    10.3.0.70   VIP:                10.3.0.60  ...

  6. RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡(转)

    一.简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. ...

  7. VM虚拟机上 实现CentOS 6.X下部署LVS(DR)+keepalived实现高性能高可用负载均衡

    一.简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. ...

  8. CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2.6.32-279.el6.i686 LVS版本:ipvsadm-1.26 keepalive ...

  9. 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

    源地址:http://www.cnblogs.com/mchina/archive/2012/08/27/2644391.html 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台: ...

随机推荐

  1. Redis相关指令文档

    连接控制 QUIT 关闭连接 AUTH (仅限启用时)简单的密码验证 适合全体类型的命令 EXISTS key 判断一个键是否存在;存在返回 1;否则返回0; DEL key 删除某个key,或是一系 ...

  2. Flex弹出窗口请求Action函数

    Flex弹出窗口请求Action函数 private function askQuestion(event:MouseEvent):void { var askQuestions:AskWindow ...

  3. TCP为何采用三次握手来建立连接,若采用二次握手可以吗

    1. TCP简介 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接(连接导向)的.可靠的.基于IP的传输层协议,采用三次握手确认建立一个连接. TCP为 ...

  4. (二十二)java小练习三

    练习七:计算1-100的累加和 package demo; /**  * 计算1-100的累加和  * @author tuzongxun  */ public class Test16 {   pu ...

  5. Java汉字乱码问题

    window->preferences->输入框输入"encod" 将text file encoding 从default改成other utf-8 同理,css,H ...

  6. 【Luogu2759】奇怪的函数(数论)

    [Luogu2759]奇怪的函数(数论) 题面 题目描述 使得 \(x^{x}\)达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 \(x^ ...

  7. [BZOJ1030] [JSOI2007] 文本生成器 (AC自动机 & dp)

    Description JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群,他们现在使用的是GW文本生成器v6版.该软件可以随机生成一些文章―――总是 ...

  8. [CodeVS2370] 小机房的树 (LCA, 树链剖分, LCT)

    Description 小机房有棵焕狗种的树,树上有N个节点,节点标号为0到N-1,有两只虫子名叫飘狗和大吉狗,分居在两个不同的节点上.有一天,他们想爬到一个节点上去搞基,但是作为两只虫子,他们不想花 ...

  9. c# 多线程同步之Mutex

    说起Mutex,它的中文名字叫互斥体.它是WaitHandle家族成员之一,前面有一篇介绍过WaitHandle的家族成员构成.那么Mutex有什么作用呢?它是怎么使用的? 我们先来看看它的使用场景一 ...

  10. The program 'yum' is currently not installed. You can install it by typing:

    执行:(可以直接写成sudo su,就直接转成root了) sudo apt-get updateapt-get install lrzsz 出现:The program 'yum' is curre ...