LVS产生背景、原理及LVS-DR应用实例(二)

六、LVS-DR应用实例 

 

      (一)基本构建思路:   

       Director: 通过Director实现访问调度到RS1,RS2,实现负载均衡,RS3负责动态分离。

       基本拓扑图如下:          

                   

    

 

   

 模型图.png

 

  (二) 实现方法

     

             

             1) 设置nfs 共享目录, /data/wwwroot/wordpress/

 

              yum install -y nfs-utils

              service  rpcbind  start

              service  nfs  start   

 

              mkdir -pv /data/wordpress/         

              useradd  -M -r -s /sbin/nologin -u 3307 www             

              chown www:www /data/wwwroot/wordpress/ 

           

             vim /etc/exports
            /data/wordpress/   181.163.10.0/24(rw,no_root_squash)

 

            2)将wordpress安装包解压到此目录,并安装PHP,mariadb,修改权限和相应配置        

               

              修改共享文件目录及文件权限

              chown -R www:www /data/wwwroot/wordpress/  

 

             php-fpm.conf 配置修改 

             listen = 9000   #监听 9000 端口
listen.allowed_clients = 181.163.10.9,181.163.10.10,127.0.0.1  #允许IP   

 

            建立数据库

            mysqladmin -u root -p create dbase_wordpress_01;

            use dbase_wordpress_01;  

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
    -> ON dbase_wordpress_01.*
    -> TO 'localhost'
    -> IDENTIFIED BY 'root';
 Query OK, 0 rows affected (0.00 sec)      

              

          

 

          3)RS1 RS2  设置vip 及lo

              echo "0">/proc/sys/net/ipv4/ip_forward

              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 lo:0 $vip netmask 255.255.255.255 broadcast $vip
             route add -host $vip dev lo:0

             

            执行脚本完成LVS_Realserver.sh ,RS1结果如下

 

               lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet 181.163.11.254/0 scope global lo:0:1
    inet 181.163.11.254/32 brd 181.163.11.254 scope global lo:0
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever          

               

        4)挂载共享目录

                mount -t nfs   181.163.10.11:/data/wwwroot/wordpress/     /data/wwwroot/wordpress/

      

        5)   修改 nginx.conf 文件

                   root  /data/wwwroot/wordpress/;                

                  fastcgi_pass 181.163.10.11:9000;

 

       6)Director 设置

            yum install ipvsadm -y     

     

            ipvsadm -A -t $VIP:80 -s rr -p 120

            ipvsadm -a -t $VIP:80 -r $RIP1:80 -g

            ipvsadm -a -t $VIP:80 -r $RIP2:80 -g

            echo "0">/proc/sys/net/ipv4/ip_forward

            ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up

            route add -host $VIP dev eth0:0

 

            运行脚本完成添加集群服务及集群节点:LVS_Director.sh

 

            查看结果: ipvsadm -L -n

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  181.163.11.254:80 rr persistent 120
  -> 181.163.11.2:80              Route   1      0          0        
  -> 181.163.11.3:80              Route   1      0          0    

         

 

(三)、结果截图

     结果1.png

结果2.png

    

                

              

 

 

      

        

             

      

 

     

原创文章,作者:Acheng,如若转载,请注明出处:http://www.178linux.com/55184

(0)
上一篇 2016-10-29 00:26
下一篇 2016-10-29 00:44

相关推荐

  • n28-第四周

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 答:install 复制文件并设置属性 -d, –directory:复制所有参数为目录名 -m, –mode=MODE:设置文件属性,相当于chmod # install -d -m u=rwx /e…

    Linux干货 2017-12-24
  • 网络N23期第二周心得

    1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp 文件复制        常用选项:            -i:交互式            -r, -R: 递归…

    Linux干货 2016-12-05
  • 千万不要把 bool 设计成函数参数

    我们有很多Coding Style 或 代码规范。但这一条可能会经常被我们所遗忘,就是我们经常会在函数的参数里使用bool参数,这会大大地降低代码的可读性。不信?我们先来看看下面的代码。 当你读到下面的代码,你会觉得这个代码是什么意思? widget->repaint(false); 是不要repaint吗?还是别的什么意思?看了文档后,我们才知道这个…

    Linux干货 2016-07-10
  • man手册的使用

    在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法。下面来介绍下man 环境CentOS6.8 man – format and display the on-line manual pages 在线使用手册格式及展示通俗点来说它就是命令的使用手册。它共分九个章节 1、用户命令2、系统调用3、C库调…

    Linux干货 2016-10-19
  • shell脚本之变量类型、算数运算符、条件测试

    一、bash中的变量类型     本地变量:仅对当前shell有效,对其子shell无效             变量赋值:name=value      &n…

    Linux干货 2016-08-15

评论列表(1条)

  • 马哥教育
    马哥教育 2016-11-02 16:13

    详实有料,生动有趣,能加入一些注释信息、架构的解说会更好,加油!