centos6下基于session绑定nat模型的lvs集群教程

实验环境:四台虚拟机,安装的操作系统是CentOS6.5,各自的功能及IP地址如下:

Director:

    eth0 192.168.2.1(作为VIP使用),eth1:10.0.0.1(作为DIP使用)

RS1:

    eth0:10.0.0.2

RS2:

    eth0:10.0.0.3

数据库服务器:安装的mariadb

    eth0:10.0.0.4

拓扑图:

 
实验步骤:

一、准备数据库服务器,安装mariadb,创建一个用于远程连接数据库的用户,创建一个数据库,用于两台RS服务器连接时使用,授权给该用户对应的数据库所有权限。

MariaDB [(none)]> CREATE USER cluster@'10.%.%.%' IDENTIFIED BY 'cluster';
MariaDB [(none)]> CREATE DATABASE cluster;
MariaDB [(none)]> GRANT ALL ON cluster.* TO 'cluster'@'10.%.%.%';
MariaDB [(none)]> FLUSH PRIVILEGES;

二、准备两台RS服务器,这两台RS服务器都要提供httpd服务。将Discuz论坛安装程序解压后的目录文件upload复制到/var/www/html/bbs目录下,复制到其中一台就可以,以RS1为例。使用系统自带的httpd

[root@node1 ~]# yum install -y php
[root@node1 ~]# yum install -y php-mysql
[root@node1 ~]# service httpd start
[root@node1 Discuz]# unzip Discuz_X2.5_SC_GBK.zip  #将解压出来的upload目录复制到/var/www/html目录下
[root@node1 Discuz]# cp upload/ /var/www/html/bbs
[root@node1 Discuz]# cp upload/ /var/www/html/bbs^C
[root@node1 Discuz]# cd /var/www/html/bbs
[root@node1 bbs]# chmod -R 777 config/ data/ uc_client/ uc_server/

在RS1和RS2上都安装xinetd并将rsync启动为服务,以便将/var/www/html目录的内容做到同时同步的效果,以达到两台服务器上内容一致。编辑/etc/rsyncd.conf文件,内容为:

# Global Settings
uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
# Directory to be synced
[backup]
path = /var/www/html
ignore errors = yes
read only = no
write only = no
hosts allow = 10.0.0.0/8
hosts deny = *
list = true
uid = root
gid = root
auth users = backup_transfer
secrets file = /etc/rsyncd.passwd

[root@node2 ~]# echo "backup_transfer:redhat" > /etc/rsyncd.passwd  #这个文件用于认证另外一个节点推送数据时的用户身份。
backup_transfer:redhat
[root@node2 ~]# echo "redhat" > /etc/rsyncd.passwd2 #这个文件用于向对方节点推送时在脚本中指定密码文件,免去交互的过程。
[root@node2 ~]# chmod 600 /etc/rsyncd.passwd
[root@node2 ~]# chmod 600 /etc/rsyncd.passwd2
[root@node2 ~]# chkconfig rsync on
[root@node2 ~]# service xinetd start

提供脚本文件,以便在两台服务器中站点数据目录内的文件发生变化时,可以自动推送文件。脚本的内容为:

#!/bin/bash
#
/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w %w%f %e' -e modify,delete,create,attrib /var/www/html | while read file;
do
/usr/bin/rsync -vzrtopg --delete --progress /var/www/html/ backup_transfer@10.0.0.3::backup --password-file=/etc/rsyncd.passwd2
echo "${files} was rsynced" >> /var/log/rsync.log 2>&1
done

脚本中定义的传送IP为对方服务器的IP地址,只需要修改这一点就可以,其他的配置可以完全一样,就不再重复。

另外可以在站点根目录下各添加index.html文件,简单的在文件中写入对应的主机名称,之后方便在测试的时候查看director在调度的时候调度请求到不同的主机的效果。

由于是在虚拟机中模拟实验,所以两台RS与Director之间的通信需要RS指向Director的DIP作为网关。

[root@node1 ~]# route add default gw 10.0.0.1 #两台RS上都要设置。

三、设置Director

Director上配置了两块网卡一个作为连接外网的网卡使用,即VIP:192.168.2.1,另外一块网卡作为内网的网关使用,IP地址为10.0.0.1,另外要打开IP地址转发功能,这样在模拟的实验环境中RS1和RS2才可以和192.168.2.1正常通信:

[root@director ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@director ~]# ipvsadm -A -t 192.168.2.1:80 -s rr   #定义集群服务
[root@director ~]# ipvsadm -a -t 192.168.2.1:80 -r 10.0.0.2 -m   #添加RS1
[root@director ~]# ipvsadm -a -t 192.168.2.1:80 -r 10.0.0.3 -m   #添加RS2

先在浏览器内测试默认主页的效果:

时间: 2024-08-02 16:34:37

centos6下基于session绑定nat模型的lvs集群教程的相关文章

window下myeclipse的插件连接linux的hadoop集群

问题描述 window下myeclipse的插件连接linux的hadoop集群 解决方案 MyEclipse 配置 Hadoop 插件hadoop-1.2.1 win7 myeclipse 插件编译windows/ Linux下 myeclipse和eclipse下安装配置hadoop插件 解决方案二: http://www.silverlightchina.net/html/windows8/study/2013/0203/21803.html

[个人翻译]Redis 集群教程(下)

[个人翻译]Redis 集群教程(上) [个人翻译]Redis 集群教程(中) 官方原文地址:https://redis.io/topics/cluster-tutorial 水平有限,如果您在阅读过程中发现有翻译的不合理的地方,请留言,我会尽快修改,谢谢.      一个更有趣的示例程序      我们上边写的那个示例程序不够好玩.他以简单的方式写入到集群而没有检查写入的正确性.      从我们的观点看,集群接收写入命令可能每次操作总是把键foo写入 为42,并且我们一点也没有注意到.  

基于云计算的自组织可伸缩网络服务集群系统的设计与实现

基于云计算的自组织可伸缩网络服务集群系统的设计与实现 北京邮电大学  邓学刚 本文阐述了一种基于企业自身的需求,而部署的一种IaaS(基础设施即服务)的私有云平台.首先介绍了云计算在国内外的研究现状和研究成果,以及一些与云计算相关的技术背景,包括体系结构.私有云.服务层次等内容:其次论述了所部署的云平台的需求分析.详细设计和实现的全部过程,同时,基于该云平台之上,设计和实现了一种自组织可伸缩网络服务的集群系统:然后,针对整个云系统的各部分进行详细的测试和分析:最后,对系统开发的成果以及作者开发过

一键部署NAT功能的ECS集群

应用场景 专有网络环境下,云服务器ECS实例不能直接访问公网,需要通过挂载EIP来获得公网访问的能力.但是往往集群内部多台ECS都能对外提供服务,这时如果每一台都挂载EIP不仅耗费带宽资源,还破坏了整个网络结构.本文介绍一种SNAT网关访问公网的方式如下图所示 : 解读: 拿其中一台ECS做为VPC网络的NAT网关,然后在路由表中添加其他实例的转发规则. 首先这台ECS实例要在指定的VPC网络中, 然后给它绑定EIP,然后在这台ECS实例上的iptables配置SNAT和DNAT, 最后在VPC

如何正确配置基于Informix数据库的WPS v6.12集群应用系统

引言 基于SOA并且实现各种业界标准的WebSphere Process Server(以下称为WPS),主要用于实现人.工作流.应用程序.系统.平台和体系结构的业务流程自动化.当前越来越多的企业用户选择基于WPS搭建集成的业务系统,如金融,通信等.它们要求系统的高吞吐量和高可用性.在实际的规划和实施中,采用集群的配置和部署是通用且有效的方式.本文章主要阐述在Unix 环境(AIX,Solaris或者HP-UX)下,如何安装WPS v6.1.2 产品和基于Informix v9.4 数据库配置集

基于corosync+pacemaker的nginx高可用集群安装配置

  一.corosync.pacemaker介绍 corosync是用于高可用环境中的提供通讯服务的,它位于高可用集群架构中的底层(Message Layer),扮演着为各节点(node)之间提供心跳信息传递这样的一个角色; pacemaker是一个开源的高可用资源管理器(CRM),位于HA集群架构中资源管理.资源代理(RA)这个层次,它不能提供底层心跳信息传递的功能,它要想与对方节点通信需要借助底层的心跳传递服务,将信息通告给对方.通常它与corosync的结合方式有两种: pacemaker

windows server 下使用gpfdist 并行导入数据到 greenplum集群

          windows server 使用gpfdist教程  linux 下请参考 linux gpfdist 由于工作需要, 需要将在SQL server 上的数据迁移到Greenplum集群 所以 采取并行导入CSV的工具gpfdist 实现并行导入数据 一.部署安装环境   首相去官网下载gpload.exe 点击安装  安装路径要记住    我的安装路径是D: 盘 gpfdist.exe在 D:\bin\ 二.启动windows 服务 2.1 命令行创建服务 win+R 输

【Hadoop Summit Tokyo 2016】基于容器规格的Apache Hadoop/Spark集群框架

本讲义出自Akiyoshi SUGIKI与Phyo Thandar Thant在Hadoop Summit Tokyo 2016上的演讲,主要分享了Hokkaido大学的学术云的发展历史以及对于大数据分析的支撑情况,并介绍了基于容器规格的Apache Hadoop集群框架,以及对于Hadoop的多目标优化方案.

centos6.4 32/64位机 hadoop2.2.0集群安装

1.准备环境 安装VMware10 ,三台centos6.4 版本,安装在VMware虚拟机下. 1)安装中文输入法: 1.需要root权限,所以要用root登录 ,或su root 2.yum install "@Chinese Support" 2)安装ssh或者vsftp 使用chkconfig --list来查看是否装有vsftpd服务: 使用yum命令直接安装: yum install vsftpd 查看与管理ftp服务: 启动ftp服务:service vsftpd sta