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

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

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

自然环境:四台vm虚拟机,安装CentOS6.5 *** 作系统,具有以下功能和IP地址:

导演:

0eth192.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网络服务器,必须显示httpd服务项目。Discuz社区论坛安装程序进程缓解压力后上传文件目录文档到/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/ [email protected]::backup --password-file=/etc/rsyncd.passwd2 echo "${files} was rsynced" >> /var/log/rsync.log 2>&1 done

脚本中定义的传输IP是对方网络服务器的IP地址,只需要改变这一点。如果其他设备能完全一样,就不重复了。

此外,还可以在网站的根目录下添加index.html文档,在文档中简单加载匹配的服务器名称,方便在检测的情况下,在生产调度的情况下,查询导演的生产调度需求在不同服务器上的实际效果。

因为是在vm虚拟机上实验的,所以两个RS和Director之间的通信必须是作为网关ip的Director的RS偏置Dip。

[root@node1~]#route添加默认GW10.0.0.1#上面要设置两个RS。

第三,设置导演

该控制器配有两个网络端口,一个是Vip:192.168.2.1,用于连接外部网络。另外有一个网络端口作为内网的网关IP应用,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

首先,在电脑浏览器中检查默认主页的实际效果:

4.安装discuz。检测之后,从集群服务项目中删除node2,并在node1上安装Discuz社区论坛。删除的目的是为了在整个安装过程中更好地定位到node1上。在电脑浏览器中键入192.168.2.1/bbs安装社区论坛。安装完成后,将node1添加到集群服务项目中。

#[root@director~]#ipvsadm-d-t192.168.2.1:80-r10.0.0.3

在node1上安装discuz后,启动rsync的脚本文件,然后更新node2上的数据库文件。类似地,在node2上启动脚本文件,以便将数据信息更新到node1。

[root@node1 ~]# ./rsync.sh &

将node2添加到集群服务项目中,以便主管可以将客户的需求生成并安排到不同的RS。

[root@director ~]# ipvsadm -a  -t 192.168.2.1:80 -r 10.0.0.3

因为会话信息的内容存储在服务器中,并且两个RS之间开启了相互Rsync,所以会话数据信息会一致。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/784359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存