|
LVS (Linux Virtual Server) :Linux虚拟服务器。主要用于负载均衡场景,解决单节点服务器的压力,提高了容灾能力
LVS根据实现的方式不同分为:LVS-Nat、LVS-Dr、LVS-Tun、LVS-Fullnat
LVS-nat特点:
1.调度器director配置双网卡,一块配置外部网络IP为VIP,另外一块网卡为DIP,必须和后端服务器RS的RIP在同一网络中,并且RIP的Gateway必须指向DIP
2.请求报文和响应报文都通过Director,因此,如果在较高的负载情况下,Director可能成为瓶颈
3.客户端请求资源时做到并不清楚后端主机的情况,因此可以隐藏后端服务器,防止被攻击
本次实验的场景是采用LVS-NAT模型搭建一个discuz,一共使用四台主机,一台LVS主机提供负载均衡,两台LAMP主机提供访问,一台NFS提供远程存储
LVS-NAT服务器 | LAMP1服务器 | LAMP2服务器 | NFS服务器 | DIP:192.18.254.122 | RIP1:192.18.254.123 | RIP2:192.18.254.124 | 192.18.254.125 | VIP:172.18.254.122 |
|
|
|
主机4:作为NFS服务器
1.启动NFS服务
1
| systemctl start nfs.service
|
2.创建一个目录专门用来远程共享
3.定义可以访问此NFS的主机
1
2
| vim /etc/exports
/web/html 192.18.254.123(rw),192.18.254.124(rw)
|
4.重新导出文件系统
5.创建一个用户并指明UID号
6.修改用户权限,使用户可以对目录进行相应操作
1
| setfacl -m u:web:rwx /web/html
|
主机3:作为http php mysql 服务器
1.创建一个目录用来专门挂载NFS
2.创建和NFS服务器同ID的用户
3.挂载远端NFS到本地
1
| mount -t nfs 192.18.254.125:/web/html
|
4.查看挂载状态是否正常
5安装http php mysql
1
| yum -y install http php php-mysql mariadb
|
6.修改http.conf中的配置
7.启动httpd服务
1
| systemctl start httpd.service
|
8.在 /hm/html 创建一个index.html并且写入一些字符
1
| echo "httpd test" > /hm/html
|
9.启动数据库
1
2
| systemctl start mariadb.service
mysql_secure_installation
|
9.以root用户和密码进入数据库创建discuz需要用到的数据库,远程登录的主机
1
2
3
4
| mysql -uroot -p
CREATE DATABASE disdb;
GRANT ALL ON disdb.* TO 'disuser'@192.18.%.% IDENTIFIED BY 'dis';
FLUSH PRIVILEGES;
|
10.测试PHP能否连接mariadb。将/hm/html/目录下的index.index为index.php
1
2
3
4
5
6
7
| <?php
$conn=mysql_connect('172.18.254.124','disuser','dis');
if($conn)
echo "ok";
else
echo"failure";
?>
|
11.登录浏览器输入主机名查看是否正常
12.下载Discuz到/hm/html/dis目录下,解压并创建连接
1
| unzip Discuz_X3.2_SC_UTF8.zip
|
13.进入/hm/html/Dis/upload/config修改config_global_default.php
1
| vim config_global_default.php
|
修改其中的 dbhost dbuser dbpw diname
14.修改config下的data uc_server
1
2
| chmod 777 data
chmod 777 uc_server
|
15.启动浏览器键入www.discuz.com/dis一步步安装完成。
16.修改DocumentRoot
1
| DocumentRoot "/hm/html/dis"
|
主机2的配置和主机3基本一致
主机1:LVS服务器
1.安装ipvsadm
2.添加转发规则
1
2
3
| ipvsadm -A -t 172.18.254.122:80 -s rr
ipvsadm -a -t 192.18.254.122:80 -r 192.18.254.123:80 -m
ipvsadm -a -t 192.18.254.122:80 -r 192.18.254.124:80 -m
|
3.查看LVS规则表
4.开启路由转发功能
1
2
3
| vim /etc/sysctl
net.ipv4.ip_forward = 1
sysctl -p
|
5.查看防火墙和selinux是否处于关闭状态
1
2
| iptables -nvL
getenforce
|
6.打开浏览器键入 172.18.254.122
注意:
1. 测试LVS的过程中可以在两台LAMP的DocumetRoot下的index.php放入不同的内容以便查看是否基于rr进行负载均衡。
2.LVS-NAT中Director需要打开路由转发功能。
3.NFS服务器需要授对应主机能够挂载对应目录,并且客户端必须有和NFS服务端有同UID的账户。
|
|
|