基于Vmare的虚拟Linux集群搭建-lvs+keepalived

基于Vmare的虚拟Linux集群搭建-lvs+keepalived

本文通过keepalived实现lvs服务器的的双机热备和真实服务器之间的负载均衡。这方面的blog挺多,但是每个人搭建集群的环境不同,遇到的问题也不同,本文简述配置的一些过程以及配置过程中遇到问题时的解决方案。

准本工作

1. 创建Linux虚拟机

本文是基于Vmare虚拟环境搭建集群的,所以首先在Vmare中创建一些虚拟机(安装一个Linux系统,其他的复制第一次安装的即可),本文创建4台虚拟机。网卡模式设置成桥接方式,这样可以保证虚拟机中的网络和主机IP在同一个网段,这样的好处是,给每台虚拟机设完IP之后,就可以通过同一网段的另一台主机登陆到Linux,就不用在虚拟机之间来回切换了。(Linux发行版本为CentOS 5.5)

2. 配置yum库

若本机没有yum库,最好配置安装yum库,方便软件的安装

yum库创建基本步骤

①安装createrepo

②yum -y installl createrepo

③用createrepo创建

createrepo命令用于生成yum仓库所需要的一些基本配置信息。

具体请参考“yum库的安装于配置”

集群配置

1. 设置虚拟机IP

在Vmare虚拟机中虚拟四个Linux主机

LvsMaster:192.168.10.101

LvsBak:        192.168.10.102

RealServer1: 192.168.10.121

RealServer2: 192.168.10.122

主机之间的拓扑关系图

2. 安装ipvsadm 和 keepalived

① 分别在LvsMaster和LvsBak上安装 ipvsadm

yum -y install *ipvsadm*

下载地址:wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar

②分别在LvsMaster和LvsBak上安装 keepalived

安装依赖库:yum install -y openssl openssl-devel

下载keepalived:wget  http://www.keepalived.org/software/keepalived-1.2.6.tar.gz

tar zxvf keepalived-1.2.6.tar.gz

./configure --prefix=/usr/local/keepalived

make

make install

cp /usr/local/keepalived/sbin/keepalived   /usr/sbin/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

mkdir /etc/keepalived

cp /usr/local/keepalived/etc/keepalived/keepalived /etc/keepalived.conf

③ 配置 keepalived

LvsMaster配置

global_defs {

notification_email {

[email protected]  #emial通知

}

notification_email_from [email protected]

smtp_server 192.168.200.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_sync_group test {
 #设置vrrp组

group {

loadbalance

}

}

vrrp_instance loadbalance {

state MASTER                      #设置主机类型,MASTER和BACKUP两种,必须大写 ,即太主机一台备用机

interface eth0 #设置对外服务网卡

virtual_router_id 51

priority 100                                        #设置优先级,备用主机的优先级要比主机低即可

advert_int 1#设置同步时间间隔

authentication {#设置验证类型和密码

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {#设置虚拟ip,即浮动ip

192.168.10.115

}

virtual_server 192.168.10.115 80 {

delay_loop 6 #健康检查时间间隔

lb_algo rr#负载调度算法,默认为轮训算法

lb_kind DR#负载均衡转发规则,也就是IP转发规则,DR转发方式最快,但是所有机器必须在一个网段内,还有NAT和TUNEL两种转发方式

protocol TCP

real_server 192.168.10.121 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.10.122 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

LvsBakr配置

global_defs {

notification_email {

[email protected]

}

notification_email_from [email protected]

smtp_server 192.168.200.1

smtp_connect_timeout 30

router_id LVS_DEVEL

}

vrrp_sync_group test {

group {

loadbalance

}

}

vrrp_instance loadbalance {

state BACKUP

interface eth0

virtual_router_id 51

priority 99

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.10.115

}

}

virtual_server 192.168.10.115 80 {

delay_loop 6

lb_algo rr

lb_kind DR

protocol TCP

real_server 192.168.10.121 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.10.122 80 {

weight 1

TCP_CHECK {

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

④ 启动keepalived

LvsMastrer: /etc/init.d/keepalived start

LvsBak     :  /etc/init.d/keepalived  start

查看启动状态

LvsMaster: tail -f /var/log/messages

LvsBak: tail -f /var/log/messages

用ip addr和ipvsadm查看路由情况

LvsMaster: ip addr

LvsMaster: ipvsadm

LvsBak:ip addr

LvsBak:ipvsadm

3. 设置RealServer1和RealServer2

① 编辑RealServe脚本

RealServer1和ResalServer2的脚本设置相同,都是realserver.sh,设置脚本如下

SNS_VIP=192.168.10.115

source /etc/rc.d/init.d/functions

case "$1" in

start)

ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP up

/sbin/route add -host $SNS_VIP dev lo:0

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

sysctl -p >/dev/null 2>&1

echo "RealServer Start OK"

;;

stop)

ifconfig lo:0 down

route del $SNS_VIP >/dev/null 2>&1

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce

echo "RealServer Stoped"

;;

*)

echo "Usage: $0 {start|stop}"

exit 1

esac

exit 0

脚本编辑完成后启动realserver.sh

RealServer1: ./realserver.sh start

RealServer2: ./realserver.sh start

查看IP

② 在RealServer1和RealServer2上安装apache

安装

yum -y install httpd

配置

ServerName www.example.com

NameVirtualHost 192.168.10.121:80

<VirtualHost 192.168.10.121:80>

DocumentRoot /var/www/html

ServerName   www.example.com

</VirtualHost>

在 /var/www/hmtl/下添加index.html测试主页

启动apache :/etc/init.d/httpd start

4. 测试负载均衡和双机热备

用ipvsadm 查看 LvsMaster 和 LvsBak的路由情况

LvsMaster:  ipvsadm

LvsBak: ipvsadm

5. 配置过程中应注意的问题

① 配置keepalvied应注意的问题

LvsMaster和LvsBak只有两处不同

state MASTER | BACKUP (主Lvs是MASTER,备用Lv是BACKUP)

priority 100 | 90      (主Lvs是100,备用LVS只要小于100即可)

② 要关闭iptables或者开启相应的服务端口,否则无法通过浏览器访问

基于Vmare的虚拟Linux集群搭建-lvs+keepalived

时间: 2024-10-26 23:37:45

基于Vmare的虚拟Linux集群搭建-lvs+keepalived的相关文章

基于VMware的虚拟Linux集群搭建-lvs+keepalived

通过keepalived实现lvs服务器的的双机热备和真实服务器之间的负载均衡的blog挺多的,在搭建的时候也参考了相关博文,不同人搭建的实验环境不一样,本文是基于VM搭建的虚拟集群环境,全部虚拟机网卡模式为NAT方式相连,处于同一网段. 搭建环境: 使用redhead 2.6.32-431.el6.x86_64版本的linux,创建四台,配置相关网络信息,确保同一网段下. 配置好各自ip即可,虚拟ip在配置lvs时设定. 安装配置LVS 1.在主备Lvs上安装ipvsadm和keepalive

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置

CentOS Linux 负载均衡高可用WEB集群之LVS+Keepalived配置 LB集群是locd balance集群的简称.翻译成中文是:负载均衡集群的意思:集群是一组相互独立的.通过高速网络互联的计算机相互之间构成一个组合,并以单一的系统的模式加以管理.LVS是Linux Virtual Server的简写,翻译中文是Linux虚拟服务器,是一个虚拟的服务器集群系统. 负载均衡集群:是为了企业提供更为实用,性价比更高的系统机构解决方案.负载均衡集群把用户的请求尽可能的平均分发到集群的各

Linux集群服务 LVS

linux虚拟服务器(LVS)项目在linux操作系统上提供了最常见的负载均衡软件. 集群定义: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益,其任务调度则是集群系统中 的核心技术.本文就集群系统的定义.发展趋势.任务调度等问题进行了简要论述.集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性

linux 集群及lvs

集群及LVS 集群: 一组通过高速网络互联的计算机组,并以单一系统的模式加以管理 价格很多服务器集中起来,提供同一种服务,在客户端看起来就像只有一个服务器 可以在付出较低成本的情况下获得在性能,可靠性,灵活性方面的相对较高的收益 任务调度室集群系统中的核心技术 集群目的: 提高性能:如计算密集型应用,如:天气预报,核试验模拟 降低成本:相对于百万美元级的超级计算机,价格便宜 提高可扩展性:只要增加集群节点即可 增强可靠性:多个节点完成相同功能,避免单点失败 集群分类: 高性能计算集群HPC:通过

linux集群搭建之nfs服务的搭建

第1章 NFS简介 1.1 什么是NFSNFS是Network File System的缩写,中文称为网络文件系统,它的主要功能是通过网络(一个局域网)让不同的主机系统之间可以共享文件或目录,NFS的客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器共享的数据目录挂载到NFS客户端本地系统中(就是某一个关在点下),从客户端本地看,NFS服务器端共享目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录.NFS网络文件系统很像Windo

基于Hadoop2.5.0的集群搭建

http://download.csdn.net/download/yameing/8011891 一. 规划 1.  准备安装包 JDK:http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz Hadoop:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.5.0/hadoop-2.5.0.tar.gz Hive:http://apac

大数据中Linux集群搭建与配置

因测试需要,一共安装4台linux系统,在windows上用vm搭建. 对应4个IP为192.168.1.60.61.62.63,这里记录其中一台的搭建过程,其余的可以直接复制虚拟机,并修改相关配置即可. 软件版本选择: 虚拟机:VMware Workstation 12 Pro   版本:12.5.9 build-7535481 Linux:CentOS-7-x86_64-DVD-1804 FTP工具:FileZilla-3.37.4 安装CentOS虚拟机 首先安装虚拟机,成功后重启电脑 新

Linux集群之LVS

一.LVS简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. 负载均衡集群(Load Balancing,简称为LB)从工作在协议层来划分为TCP和应用层:TCP协议层是根据请求的目标地址和端口进行调度:应用层协议是根据请求的内容进行调度,而且此种调度为"代理"方式,即反向代理. 二.LVS组成 LVS软件由ipvs和ipvsadm两个程序组成

Linux集群(四)-LVS持久连接与高可用

FWM:FireWall Mark MARK target 可用于给特定的报文打标记 --set-mark value 其中:value 为十六进制数字 借助于防火墙标记来分类报文,而后基于标记定义集群服务:可将多个不同的应用使用同一个集群服务进行调度 实现方法: 在VS主机打标记: iptables -t mangle -A PREROUTING -d $vip -p $proto –m multiport --dports $port1,$port2,- -j MARK --set-mark