环境环境:
共五台服务器
一台load调度器(网关):两块网卡 外:12.0.0.1 内:192.168.200.1
两台sever-web网站服务器:apache web01:192.168.200.110 web02:192.168.200.120
一台shave共享存储 192.168.200.130
一台interent客户端 12.0.0.12
注:在虚拟机环境下做实验,由于服务器要处于仅主机模式下,
所以需提前将每个服务器所需下载的安装包配置好。
实验步骤:
------------------------------------1、安装所需环境包:----------------------------------------- #shave: yum install -y nfs-utils rpcbind #server-web01 yum install -y httpd #server-web02 yum install -y httpd #load yum install -y ipvsadm ----------------------------------2、五台服务器都设置网卡为仅主机模式,配置ens33------------------------- #slave、web01、web02、load、win10 vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="39248c70-2e9e-4b84-8a0b-34e261c03851" DEVICE="ens33" ONBOOT="yes" IPADDR="192.168.200.130" NETMASK="255.255.255.0" GATEWAY="192.168.200.1" systemctl restart network systemctl stop firewalld.service setenforce 0 #load ens36 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens36" DEVICE="ens36" ONBOOT="yes" IPADDR="12.0.0.1" NETMASK="255.255.255.0" ----------------------------------------3、编辑slave配置文件--------------------- systemctl start rpcbind systemctl start nfs vim /etc/exports /usr/share *(ro,sync) /opt/benet 192.168.200.0/24(rw,sync) /opt/accp 192.168.200.0/24(rw,sync) #共享目录通过只读,同步方式允许范围*为所有人 #为节点服务器创建的两个站点,benet和accp,目录创建好之后通过lvm挂载过去,允许范围200网段,可读可写 #创建共享目录: mkdir benet accp chmod 777 accp/ benet/ ls -l ------------------------------------------4、slave发布共享--------------------------------------- exportfs -rv exporting 192.168.200.0/24:/opt/accp exporting 192.168.200.0/24:/opt/benet exporting *:/usr/share -----------------------------------------5、配置web01、web02-------------------------------- #web01 systemctl start httpd netstat -natp | grep 80 ping 192.168.200.130 showmount -e 192.168.200.130 mount.nfs 192.168.200.130:/opt/accp /var/www/html df -h tmpfs 183M 24K 183M 1% /run/user/0 192.168.200.130:/opt/accp 38G 3.5G 35G 10% /var/www/html cd /var/www/html //创建测试文件 echo "this is accp web" > index.html #shave //查看备份是否成功 cd /opt/accp ls #web02 //web02 为benet systemctl start httpd showmount -e 192.168.200.130 mount.nfs 192.168.200.130:/opt/benet /var/www/html cd /var/www/html //创建测试文件 echo "this is benet web" > index.html ---------------------------------------6、配置load------------------------------------------ #添加一块网卡 #两块网卡都配置静态ip #不用关闭防火墙 systemctl restart network ifconfig ------------------------------#做路由转发 vim /etc/sysctl.conf //末行插入 net.ipv4.ip_forward=1 sysctl -p //加载生效 iptables -t nat -F //清空nat缓存 iptables -F //清空转发表 iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1 #使用web01验证 ping 12.0.0.12 ---------------------#回到load,做调度 -------加载lvs内核 modprobe ip_vs cat /proc/net/ip_vs ipvsadm --save > /etc/sysconfig/ipvsadm //保存 systemctl start ipvsadm.service //启动管理工具 vim 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.200.110:80 -m ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.120:80 -m ipvsadm #清楚缓存 #添加虚拟服务器,指定服务器,指定算法 #通过服务器找到真实的节点服务器,-m 指定nat模式 source nat.sh //启动脚本 ----------------------------------------测试实验结果------------------------------------------- win10 网站访问:12.0.0.1