在centos6系统上基于session绑定实现nat模型的lvs集群,并在RS上安装Discuz论坛

实验环境:四台虚拟机,安装的操作系统是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)]>CREATEUSERcluster@’10.%.%.%’IDENTIFIEDBY’cluster’;MariaDB[(none)]>CREATEDATABASEcluster;MariaDB[(none)]>GRANTALLONcluster.*TO’cluster’@’10.%.%.%’;MariaDB[(none)]>FLUSHPRIVILEGES;

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

[root@node1~]#yuminstall-yphp[root@node1~]#yuminstall-yphp-mysql[root@node1~]#servicehttpdstart[root@node1Discuz]#unzipDiscuz_X2.5_SC_GBK.zip#将解压出来的upload目录复制到/var/www/html目录下[root@node1Discuz]#cpupload//var/www/html/bbs[root@node1Discuz]#cpupload//var/www/html/bbs^C[root@node1Discuz]#cd/var/www/html/bbs[root@node1bbs]#chmod-R777config/data/uc_client/uc_server/

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

#GlobalSettingsuid=nobodygid=nobodyusechroot=nomaxconnections=10strictmodes=yespidfile=/var/run/rsyncd.pidlogfile=/var/log/rsyncd.log#Directorytobesynced[backup]path=/var/www/htmlignoreerrors=yesreadonly=nowriteonly=nohostsallow=10.0.0.0/8hostsdeny=*list=trueuid=rootgid=rootauthusers=backup_transfersecretsfile=/etc/rsyncd.passwd[root@node2~]#echo”backup_transfer:redhat”>/etc/rsyncd.passwd#这个文件用于认证另外一个节点推送数据时的用户身份。backup_transfer:redhat[root@node2~]#echo”redhat”>/etc/rsyncd.passwd2#这个文件用于向对方节点推送时在脚本中指定密码文件,免去交互的过程。[root@node2~]#chmod600/etc/rsyncd.passwd[root@node2~]#chmod600/etc/rsyncd.passwd2[root@node2~]#chkconfigrsyncon[root@node2~]#servicexinetdstart

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

#!/bin/bash#/usr/local/bin/inotifywait-mrq–timefmt’%d/%m/%y%H:%M’–format’%T%w%w%f%e’-emodify,delete,create,attrib/var/www/html|whilereadfile;do/usr/bin/rsync-vzrtopg–delete–progress/var/www/html/backup_transfer@10.0.0.3::backup–password-file=/etc/rsyncd.passwd2echo”${files}wasrsynced”>>/var/log/rsync.log2>&1done

脚本中定义的传送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~]#echo1>/proc/sys/net/ipv4/ip_forward[root@director~]#ipvsadm-A-t192.168.2.1:80-srr#定义集群服务[root@director~]#ipvsadm-a-t192.168.2.1:80-r10.0.0.2-m#添加RS1[root@director~]#ipvsadm-a-t192.168.2.1:80-r10.0.0.3-m#添加RS2

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

谁是谁生命的点缀。

在centos6系统上基于session绑定实现nat模型的lvs集群,并在RS上安装Discuz论坛

相关文章:

你感兴趣的文章:

标签云: