marty001 发表于 2019-1-3 08:54:31

LVS的简单示例(一)

LVS的简单示例
1.使用NAT模型的TCP协议类型的lvs服务负载均衡一个php应用,如Discuz!论坛或者phpMyAdmin;
   必要条件:三台主机(一个调度器两个服务器)
   声明:172.16.1.11作为调度器,192.168.100.2和192.168.100.3作为服务器
      第一步:给调度器配置一个网络适配器,配置其IP地址为192.168.100.1
      第二步:
      服务器配置(Real Server即RS):
          配置两个RS的为同一网关:
            # route add default gw 192.168.100.1
          搭建LAMP来提供php服务:
            安装httpd,php,php-mysql,mariadb-server(mysql-server)
            # yum insatll httpd php php-mysql mariadb-server(mysql-server)
          RS1:1) 配置虚拟主机:
            # cd /etc/httpd/conf.d/
            # vim vhost1.conf
            
               ServerName www.ytc.com

               DocumentRoot "/myweb/vhost1"
               DirectoryIndexindex.php
               
                   OptionsNone
                   AllowOverride None
                   Require all granted

               

            

             2) 完善虚拟主机的目录要求:
             # mkdir -pv /myweb/vhost1
             # cd /myweb/vhost1/
            3)做测试页面,查看php能否提供服务
                # vim index.php

            Real Server 1
            ?php>
                phpinfo();
            ?>
             4) 开启httpd服务:
             # systemtl start httpd.service
   

          RS2:1) 配置虚拟主机

             # cd /etc/httpd/conf.d/
             # vim vhost2.conf
            
               ServerName www.ytc.cn

               DocumentRoot "/myweb/vhost2"
               DirectoryIndexindex.php
               
                   OptionsNone
                   AllowOverride None
                   Require all granted

               

            

          2) 完善虚拟主机的目录要求:
             # mkdir -pv /myweb/vhost2
             # cd /myweb/vhost2/
          3)做测试页面,查看php能否提供服务
                # vim index.php

            Real Server 2
            ?php>
                phpinfo();
            ?>
          4) 开启httpd服务:
             # systemtl start httpd.service


      第三步:调度器配置:
          1)开启核心路由转发功能:
             # echo 1 > /proc.sys/net/ipv4/ip_forward
          2) 创建集群服务:
             # ipvsadm -A -t 172.16.1.11:80 -s rr(前提安装ipvsadm:yum install ipvsadm )
          3) 向集群中添加RS:
             # ipvsadm -a -t 172.16.1.11:80 -r 192.168.100.2:80 -m -w 1
             # ipvsadm -a -t 172.16.1.11:80 -r 192.168.100.3:80 -m -w 1
          注意:需注意SElinux 和 iptables的干扰:
            我将三台主机做了如下操作:
             # iptables -F
                # setenforce 0
       配置完毕后:
            web端测试:
            第一次输入:172.16.1.11/

                               http://s1.运维网.com/images/20180608/1528426684710351.png
                               第二次输入:172.16.1.11/
          http://s1.运维网.com/images/20180608/1528426825317920.pngf

                           测试完后,php可以成功提供服务:
          接下来,在RS1和RS2上配置wordpress应用:
          将wordpress应用分别传送到RS1的/myweb/vhost1和RS2的/myweb/vhost2目录下并解压:
         # tar xf wordpress-4.2-zh_CN.tar.gz
          在web端测试:
         输入172.16.1.11/wordpress/index.php
         http://s1.运维网.com/images/20180608/1528431684802567.png
                     需要注意的是:
            1)调度器需要进行会话保持,如果不进行会话保持,登录则不会成功;
            2)RS1和RS2需要进行数据库共享,不然RS1服务器损坏后,用woedpress时,之前的信息全部丢失,
            所以,RS1和RS2需共享存储;
                           

          1):调度器设置会话保持功能:
               # ipvsadm -E -t 172.16.1.11:80-srr-p5
                              2):服务器配置:
         开启MySQL服务,为wordpress创建一个数据库,并授权用户登录wordpress
            # systemctlstart mariadb.service
             MariaDB [(none)]> create database wordpressdb;
                 MariaDB [(none)]> grant allon*.* to 'wpuser'@'192.168.%.%' identified by '123456';

           共享数据库:
               NFS实现:

                首先在RS1上创建共享目录/data并修改其权限:
            ~]# mkdir /data
            ~]# chmod 757 /data
            编辑/etc/exports文件,声明共享目录:
            即在文件中添加一行:
            /data    *(rw,no_root_squash)
            开启NFS服务并查看2049端口是否被监听:
            ~]# systemctl start nfs
            然后在RS2创建目录/mydata
            ~]# mkdir /mydata
               将RS1的共享目录/data挂载到RS2的/mydata下
            ~]# mount -t nfs 172.16.1.20:/data /mydata

            将本地的mysqld服务的数据目录设置为/mydata:
            ~]# vim /etc/my.cnf
            将datadir设置为/mydata
            
            datadir=/mydata
            把资源放到/mydata下并查看/mydata:
            ~]# cp -a /var/lib/mysql/* /mydata/
            ~]# ls /mydata
               ibdata1ib_logfile0ib_logfile1mysqlmysql.socktestultraxytcytc123ytc.txt
            开启数据库服务:
            ~]# service mysqld start
            Starting mysqld:                                 
            

            完成后在web端访问:
            输入172.16.1.11/
            http://s1.运维网.com/images/20180608/1528433913793186.png
                                              输入用户名密码后:
                                              http://s1.运维网.com/images/20180608/1528433944314317.png
                                             这样就可以使用wordpress了;

           



      

                                                

            


























  如



页: [1]
查看完整版本: LVS的简单示例(一)