環境環境:
共五臺服務器
一臺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