LVS相关实验:LVS-NAT和LVS-DR(详细步骤)

  • LVS相关实验:
    • 实验一:LVS-NAT模式案例
      • 实验示意图:
        LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第1张图片
      • 实验1.1:rr调度算法:
        • 1,调整好各个实验主机的主机环境,调整IP,关闭防火墙;
        • 2,LVS、RS1和RS2安装net-tools工具,安装http;LVS上安装ipvsadm工具;
        • 3,将RS1和RS2的网卡网关指向LVS的DIP:
        • 4,开启LVS主机的IP转发功能:
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第2张图片
          • 使其生效:
            • [root@lvs ~]# sysctl -p
              • net.ipv4.ip_forward = 1
        • 5,LVS配置定义集群:
          • 1,配置调度算法,工作模式# ipvsadm -A -t 172.16.9.100:80 -s rr 
            LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第3张图片
          • 2,将后端的RS加入集群:
            LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第4张图片
            • [root@lvs ~]# ipvsadm -a -t 172.16.9.100:80 -r 192.168.17.27 -m
            • [root@lvs ~]# ipvsadm -a -t 172.16.9.100:80 -r 192.168.17.37 -m
        • 6,查看配置的结果:# ipvsadm -Ln
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第5张图片
        • 7,测试:
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第6张图片
        • 8,查看状态:# ipvsadm -Ln --stats
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第7张图片
        • 9,查看速率:# ipvsadm -Ln --rate
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第8张图片
        • 10,循环访问:# while true;do curl 172.16.9.100 ;sleep 1 ;done
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第9张图片
      • 实验2.2:增加权重:
        • 修改模式为wrr:# ipvsadm -E -t 172.16.9.100:80 -s wrr 
        • 增加权重:修改并增加权重:-w:
          • [root@lvs ~]# ipvsadm -e -t 172.16.9.100:80 -r 192.168.17.27 -m -w 3
          • [root@lvs ~]# ipvsadm -e -t 172.16.9.100:80 -r 192.168.17.37 -m -w 6
            LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第10张图片
        • 测试:# while true;do curl 172.16.9.100 ;sleep 1 ;done
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第11张图片
      • 实验2.3:实现端口映射:
        • 修改RS的http端口号为8080:
          • sed -i 's/^Listen 80/Listen 8080/' /etc/httpd/conf/httpd.conf
        • 在LVS上将RS1的端口映射修改为8080:
        • 先删除该条规则,在添加:
          • [root@lvs ~]# ipvsadm -d -t 172.16.9.100:80 -r 192.168.17.27
          • [root@lvs ~]# ipvsadm -a -t 172.16.9.100:80 -r 192.168.17.27:8080 -m -w 6
            LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第12张图片
        • 测试:
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第13张图片
      • 实验2.4:使用DH算法,源地址哈希算法
        • 将LVS集群调度算法修改sh:# ipvsadm -E -t 172.16.9.100:80 -s sh
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第14张图片
        • 测试:只要源地址不变,访问的为固定目标:
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第15张图片
      • 实验2.5:使用SH算法,目标地址哈希算法
        • 修改LVS的调度算法:# ipvsadm -E -t 172.16.9.100:80 -s dh
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第16张图片
      • 实验2.6:使用默认动态算法WLC:
        • 修改后,直接为默认算法wlc  :# ipvsadm -E -t 172.16.9.100:80 
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第17张图片
      • 实验3:RS上安装wordpress,后端增加数据库
        • 实验示意图:
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第18张图片
        • 实验步骤:
          • 1,在上面实验基础上,RS安装php-fpm,PHP-mysql模块:
            • PHP-FPM(PHP FastCGI Process Manager)意:PHP FastCGI 进程管理器,用于管理PHP 进程池的软件,用于接受web服务器的请求。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置。php-fastcgi 只是一个cgi程序,只会解析php请求,并且返回结果,不会管理(因此才出现的php-fpm)。
          • 2,在192.168.17.47主机上安装数据库:# yum -y install mariadb-server
            • 1,启动服务:# systemctl start mariadb.service 
            • 2,添加wordpress账号:# mysql -e "create database wordpress;grant all on wordpress.* to wordpress@'192.168.17.%' identified by 'hly'"
          • 3,RS1设置:
            • 1,启动php-fpm服务:# systemctl start php-fpm.service 
            • 2,修改RS1的apache配置文件,使其支持fastcgi程序:# vim /etc/httpd/conf.d/fcgi.conf
              • addType application/x-httpd-php .php
              • AddType application/x-httpd-php-source .phps
              • ProxyRequests Off
              • ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1
                LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第19张图片
            • 3,修改httpd主页面,使其支持PHP页面:# vim /etc/httpd/conf/httpd.conf 
            • 4,启动HTTP服务:# systemctl restart httpd.service 
            • 5,传入wordpress程序:解压放入/var/www/html目录下:
              • 修改# cp wp-config-sample.php wp-config.php 主配置文件名称;
              • 修改wp-config.php配置文件:# vim /var/www/html/wp-config.php 按照实际数据库信息修改:
                LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第20张图片
          • 4,RS2的主机同样设置:
          • 5,测试wordpress程序:
            • 浏览器输入VIP的地址:
            • 填写相关信息:测试正常
      • 保存ipvsadm规则信息:
        • [root@lvs ~]# ipvsadm-save > /data/ipvs.log
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第21张图片
        • 清理规则:ipvsadm -C
          • 恢复规则:ipvsadm-restore <   /data/ipvs.log
        • ipvsadm服务需要相关配置文件才能起来,需要创建/etc/sysconfig/ipvsadm文件。
        • 将配置规则导入:# ipvsadm-save > /etc/sysconfig/ipvsadm-config 
        • 起来后导入配置后,重启服务,即可。
      • 实验二:LVS-DR模型
        • 实验示意图:
          LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第22张图片
        • 实验过程:
          • 1,准备实验环境:修改相关IP地址:
          • 2,路由器主机192.168.17.57主机IP转发:关闭防火墙:
            LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第23张图片
            • 测试:客户端主机进行Ping测试:
          • 修改RS1和RS2的网关,指向Router;
          • 3,LVS-DR模型的特点:
            • (1) Director和各RS都配置有VIP
            • (2) 确保前端路由器将目标IP为VIP的请求报文发往Director
              • 在RS上修改内核参数以限制arp通告及应答级别
                • /proc/sys/net/ipv4/conf/all/arp_ignore
                • /proc/sys/net/ipv4/conf/all/arp_announce
            • (3)RS的RIP可以使用私网地址,也可以是公网地址;RIP与DIP在同一IP网络; RIP的网关不能指向DIP,以确保响应报文不会经由Director
            • (4)RS和Director要在同一个物理网络
            • (5)请求报文要经由Director,但响应报文不经由Director,而由RS直接发往 Client
            • (6)不支持端口映射(端口不能修败)
            • (7)RS可使用大多数OS系统
          • 3,LVS配置VIP:192.168.17.100  :#  ip a a 192.168.17.100/24 dev ens33
          • 4,RS1和RS2分别添加VIP,添加内核参数,通过脚本方式添加相关参数:
            LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第24张图片

            #!/bin/bash#Author:wangxiaochun#Date:2017-08-13vip=192.168.17.100mask='255.255.255.255'dev=lo:1rpm -q httpd &> /dev/null || yum -y install httpd &>/dev/null#service httpd start &> /dev/null && echo "The httpd Server is Ready!"#echo "

            `hostname`

            " > /var/www/html/index.htmlcase $1 instart)    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce​ifconfig $dev $vip netmask $mask #broadcast $vip up    #route add -host $vip dev $dev    echo "The RS Server is Ready!"    ;;stop)    ifconfig $dev down    echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore    echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce    echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce    echo "The RS Server is Canceled!"    ;;*)    echo "Usage: $(basename $0) start|stop"    exit 1    ;;esac
          • 5,添加LVS规则:默认不指定为DR模型
            • [root@lvs ~]# ipvsadm -A -t 192.168.17.100:80 -s rr
            • [root@lvs ~]# ipvsadm -a -t 192.168.17.100:80 -r 192.168.17.27
            • [root@lvs ~]# ipvsadm -a -t 192.168.17.100:80 -r 192.168.17.37
              LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第25张图片
          • 6,做测试:# while true;do curl http://192.168.17.100/index.html ;sleep 1 ;done
            LVS相关实验:LVS-NAT和LVS-DR(详细步骤)_第26张图片
        • 7,网页测试:192.168.17.100/wordpress

你可能感兴趣的:(linux进阶)