LVS-NAT 部署案例
案例环境
LVS负载调度器作为Web服务器迟的网关,LVS两张网卡,分别连接内网和外网,使用轮询(rr)调度算法;
两个节点的首页文件保存在NFS远程共享目录中
3台linux主机先使用NAT模式安装好各自所需软件,再切换成仅主机模式,构建出局域网。配置之前,要将防火墙和核心防护关闭
主机名 | IP地址 | 角色 | 软件包 |
LVS |
外网:192.168.0.104 内网:192.168.100.10 |
LVS负载均衡调度器 | 加载LVS内核模块;ipvsadm软件包 |
node1 | 192.168.100.20 | web节点1 | httpd软件包 |
node2 | 192.168.100.30 | web节点2 | http的软件包 |
nfs | 192.168.100.40 | 耐腐蚀远程共享目录 | nfs-util软件包 |
实验步骤
NFS服务器安装
1.安装nfs-utils软件包,启动rpcbind和nfs
[root@localhost ~]# rpm -q rpcbind#查看软件包是否安装过 rpcbind-0.2.0-42.el7.x86_64 [root@localhost ~]# yum -y install nfs-utils 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile 软件包 1:nfs-utils-1.3.0-0.48.el7.x86_64 已安装并且是最新版本 无须任何处理
[root@localhost ~]# systemctl start rpcbind [root@localhost ~]# systemctl start nfs
2、创建共享目录并剪辑配置文件并发布共享目录
[root@localhost ~]# mkdir /opt/test01 [root@localhost ~]# mkdir /opt/test02 [root@localhost ~]# cd /opt [root@localhost opt]# chmod 777 test01 [root@localhost opt]# chmod 777 test02 [root@localhost ~]# exportfs -rv exporting 192.168.100.0/24:/opt/test02 exporting 192.168.100.0/24:/opt/test01
3、在两个节点上安装HTTPD服务,分别查看共享目录,分别进行挂载
node1 [root@server2 ~]# showmount -e 192.168.100.40 Export list for 192.168.100.40: /opt/test02 192.168.100.0/24 /opt/test01 192.168.100.0/24 [root@server2 ~]# vim /etc/fstab 192.168.100.40:/opt/test01 /var/www/html nfs defaults 0 0 mount-a systemctl start httpd [root@server2 ~]# netstat -anpt | grep httpd tcp6 0 0 :::80 :::* LISTEN 57721/httpd
node2 [root@server2 ~]# showmount -e 192.168.100.40 Export list for 192.168.100.40: /opt/test02 192.168.100.0/24 /opt/test01 192.168.100.0/24 [root@server2 ~]# vim /etc/fstab 192.168.100.40:/opt/test01 /var/www/html nfs defaults 0 0 mount-a systemctl start httpd [root@server2 ~]# netstat -anpt | grep httpd tcp6 0 0 :::80 :::* LISTEN 57721/httpd
4、在两个节点上分别配置首页内容
vim /var/www/html/index.html <h1>this is test01</h1> #192.168.100.20节点中写 <h1>this is test02</h1> #192.168.100.30节点中写
LVS-NAT服务部署
1、加载LVS 内核模块
[root@server1 ~]# modprobe ip_vs [root@server1 ~]# cat /proc/net/ip_vs IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
2、安装ipvsadm管理工具
[root@server1 ~]# yum -y install ipvsadm
3、使用脚本设置NAT工作模式,只要在LVS服务器上配置,web服务器上不需要添加配置
[root@server1 ~]# vim nat.sh #!/bin/bash echo "1" > /proc/sys/net/ipv4/ip_forward ipvsadm -C ipvsadm -A -t 192.168.0.104:80 -s rr ipvsadm -a -t 192.168.0.104:80 -r 192.168.100.20:80 -m ipvsadm -a -t 192.168.0.104:80 -r 192.168.100.30:80 -m ipvsadm
ipvsadm命令选项解析:
-C:清除内核虚拟服务器表中的所有记录
-A:增加一台新的虚拟服务器
-t:说明虚拟服务器提供的是tcp的服务
-s rr:启用轮询算法
-a:在一个虚拟服务器中增加一台新的真实服务器
-r:指定真实服务器
-m:指定LVS的工作模式为NAT模式
ipvsadm:启用LVS功能
[root@server1 ~]# vim nat.sh [root@server1 ~]# sh nat.sh IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.104:http rr -> 192.168.100.20:http Masq 1 0 0 -> 192.168.100.30:http Masq 1 0 0
4、在浏览器中输入192.168.0.104地址验证是否为轮询调度
第一次是访问节点1的网页内容,刷新后,第二次访问的是节点2网页的内容。
项目成功