Linux—LVS负载均衡—NAT模式
一.群集类型
1.负载均衡群集:以提高应用系统的响应能力、尽可能处理更多的访问请求、以减少延迟为目标,获得高并发、高负载的整体性能。如“DNS轮询”,“应用层交换”,“反向代理”等都可用作负载均衡群集。
2.高可用群集:以提高系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用的容错效果。
3.高性能运算群集:以提高应用系统的cpu运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算能力。
二.NAT工作模式
地址转换(NAT):简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器点的网关,即作为客户机的访问入口,也是各个节点回应客户机的访问出口。服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式。
三.构建LVS-NAT模式
(1).配置环境:
一台LVS调度器,两台web服务器,一台NFS存储服务器,一台外部客户端
(2).配置实验 :
1).配置NFS存储服务器
1.添加两块硬盘
fdisk /dev/sdb
fdisk /dev/sdc
2.格式化磁盘
[root@localhost ~]# mkfs.xfs /dev/sdb1
[root@localhost ~]# mkfs.xfs /dev/sdc1
3.创建过载点
[root@localhost ~]# mkdir /opt/kgc /opt/accp
4.设置自动挂载
[root@localhost ~]# vim /etc/fstab
/dev/sdb1 /opt/kgc xfs defaults 0 0
/dev/sdc1 /opt/accp xfs defaults 0 0
5.开启自动挂载
[root@localhost ~]# mount -a
6.查看挂载情况
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 20G 3.5G 17G 18% /
devtmpfs devtmpfs 897M 0 897M 0% /dev
tmpfs tmpfs 912M 0 912M 0% /dev/shm
tmpfs tmpfs 912M 9.0M 903M 1% /run
tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 xfs 6.0G 179M 5.9G 3% /boot
/dev/mapper/centos-home xfs 10G 37M 10G 1% /home
tmpfs tmpfs 183M 12K 183M 1% /run/user/42
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/sdb1 xfs 20G 33M 20G 1% /opt/kgc
/dev/sdc1 xfs 20G 33M 20G 1% /opt/accp
7.关闭防火墙
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
8.设置nfs
[root@localhost ~]# vim /etc/exports
/opt/kgc 192.168.100.0/24(rw,sync,no_root_squash)
/opt/accp 192.168.100.0/24(rw,sync,no_root_squash)
9.开启服务并查看:
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# showmount -e
Export list for localhost.localdomain:
/opt/accp 192.168.100.0/24
/opt/kgc 192.168.100.0/24
10.修改网卡为仅主机模式,并修改IP地址:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
11.重启网卡,并查看
[root@localhost ~]# service network restart
2)配置两台web服务器
1.安装httpd:
yum install httpd -y
2.关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
3.设置为仅主机模式,修改网卡
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]# service network restart
Restarting network (via systemctl): [ 确定 ]
4.查看NFS服务站点:
[root@localhost ~]# showmount -e 192.168.100.120
Export list for 192.168.100.120:
/opt/accp 192.168.100.0/24
/opt/kgc 192.168.100.0/24
5.添加挂载点:
[root@localhost ~]# vim /etc/fstab
192.168.100.120:/opt/kgc /var/www/html nfs defaults,_netdev 0 0
192.168.100.120:/opt/accp /var/www/html nfs defaults,_netdev 0 0
[root@localhost ~]# mount -a
6.配置主页面信息
[root@localhost ~]# cd /var/www/html
[root@localhost html]# vim index.html
h1>this is kgc web</h1>
h1>this is accp web</h1>
7.开启服务
systemctl start httpd
3)配置LVS调度器
1.安装ipvsadm
[root@localhost ~]# yum install ipvsadm -y
2.添加双网卡,修改为仅主机模式,修改IP地址信息
3.开启路由转发功能,最后加入:
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
4.重新加载
sysctl -p
5.清除转发表
iptables -F
6.清除nat地址转换表
iptables -t nat -F
7.添加防火墙规则
iptables -t nat -A POSTROUTING -o ens36 -s 192.168.100.0/24 -j SNAT --to-source 12.0.0.1
8.加载LVS内核模块
modprobe ip_vs
9.保存到systemctl中
ipvsadm --save > /etc/sysconfig/ipvsadm
10.开启模块功能
systemctl start ipvsadm.service
11.编写脚本
vim /opt/nat.sh
#!/bin/bash
ipvsadm -C
ipvsadm -A -t 12.0.0.1:80 -s rr
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.110:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.111:80 -m
ipvsadm
12.添加权限
chmod +x /opt/nat.sh
13.执行脚本:
[root@localhost opt]# ./nat.sh
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP localhost.localdomain:http rr
-> 192.168.100.110:http Masq 1 0 0
-> 192.168.100.111:http Masq 1 0 0
4)将外部客户机改为仅主机模式,IP地址修改为:12.0.0.12,模拟外部客户访问,进行验证
总结:
按照轮询,两台服务器会来回切换进行访问。