LVS负载均衡(web网站负载均衡)

news/2024/7/10 0:51:14 标签: 负载均衡, 服务器, lvs, 运维

    一、概述
        功能强大
        转发策略比较多
        适合大型的网络高可用
    二、作用
        使用keepalived解决lvs的单点故障高可用集群
    三、环境
        1.准备6台虚拟机,2台做LVS主备调度器,2台做web服务器,1台做存储,1台客户机验证
        2.LVS主备调度器 master(192.168.1.225)backup(192.168.1.226)
        3.web1(192.168.1.221)web2(192.168.1.223)
        4.存储(192.168.1.224)
        5.客户机(192.168.1.228)
        6.虚拟ip(192.168.1.227
    四、应用场景
        商业大型高可用集群
    五、技术特点
        第四层传输层中使用
        安全性比较高
    六、架构部署
        1、部署lvs主从服务器
            LVS主服务器
                        
                    #调整master的ARP参数

vim /etc/sysctl.conf 

net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects = 0 

sysctl -p

                    #安装 keepalived ipvsadm

                 

yum install -y keepalived ipvsadm

                    #配置/etc/keepalived/keepalived.conf(master)

global_defs {
   router_id LVS_DEVEL1
}

vrrp_instance master {
    state MASTER
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.1.227        
    }
}

virtual_server 192.168.1.227 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP

    real_server 192.168.1.221 80 {
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.1.223 80 {
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

                    #启动master和backup的keepalived与ipvsadm

                    

systemctl start keepalived
systemctl start ipvsadm

                    #master和backup加载ip_vs模块

                    

modprobe ip_vs

                    #查看lvs节点状态

                  

ipvsadm -ln

            LVS从服务器
                        
                    #调整master的ARP参数

                    

vim /etc/sysctl.conf 

net.ipv4.conf.all.send_redirects = 0 
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.ens33.send_redirects = 0 

sysctl -p

                    #安装 keepalived ipvsadm

                    

yum install -y keepalived ipvsadm

                    #配置/etc/keepalived/keepalived.conf(backup)

global_defs {
   router_id LVS_DEVEL2
}

vrrp_instance backup {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
    192.168.1.227        
    }
}

virtual_server 192.168.1.227 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    #persistence_timeout 50
    protocol TCP

    real_server 192.168.1.221 80 {
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.1.223 80 {
        weight 1
        HTTP_GET {
            url {
              path /
            }
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

                    #启动master和backup的keepalived与ipvsadm

                    

systemctl start keepalived
systemctl start ipvsadm

                    #master和backup加载ip_vs模块

                    

modprobe ip_vs

                    #查看lvs节点状态

                    

ipvsadm -ln

        2、部署web1、web2服务器
                集群节点1服务器
                    step1
                        调整ARP参数

                        

vim /etc/sysctl.conf 

net.ipv4.conf.all.arp_ignore=1 
net.ipv4.conf.all.arp_announce=2 
net.ipv4.conf.default.arp_ignore=1 
net.ipv4.conf.default.arp_announce = 2 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce=2

sysctl -p 

                    step2
                        安装apache

                         

yum -y install httpd
echo "web1" >/var/www/html/index.html


                    step3
                        创建虚拟ip                        

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0

DEVICE=lo:0
IPADDR=192.168.1.227
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0

#重启网卡
systemctl restart network

                    step4
                        #创建并添加本地路由回环

                        

route add -host 192.168.1.227/32 dev lo:0

                        #启用httpd

                        

systemctl start httpd

            集群节点2服务器
                web service2

                    step1
                        调整ARP参数                        

vim /etc/sysctl.conf 

net.ipv4.conf.all.arp_ignore=1 
net.ipv4.conf.all.arp_announce=2 
net.ipv4.conf.default.arp_ignore=1 
net.ipv4.conf.default.arp_announce = 2 
net.ipv4.conf.lo.arp_ignore = 1 
net.ipv4.conf.lo.arp_announce=2

sysctl -p 

                    step2
                        安装apache

                      

yum -y install httpd
echo "web2" >/var/www/html/index.html

                    step3
                        创建虚拟ip                        

cd /etc/sysconfig/network-scripts/
cp ifcfg-lo ifcfg-lo:0

DEVICE=lo:0
IPADDR=192.168.1.227
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0

#重启网卡

systemctl restart network

                    step4
                        #创建并添加本地路由回环                        

route add -host 192.168.1.227/32 dev lo:0

#启用httpd

systemctl start httpd


        3、测试

如果web1、web2处于正常状态
            访问192.168.1.227:80

如果web1宕机访问页面
            web1停止服务访问192.168.1.227


        4、部署nfs
            #配置文件

              

vim /etc/exports

/data/www/html/ 192.168.1.224(rw,no_all_squash)

mkdir  -p /data/www/html

echo "web 1 2" >/data/www/html/index.html

            #安装nfs
                web1、web2也安装

                    yum install -y nfs-utils

            #启动nfs服务

                    systemctl start nfs

            #查看共享文件夹

                    showmount -e

            #web1、web2挂载共享文件夹

                    mount 192.168.1.224:/data/www/html /var/www/html/

            测试访问页面192.168.1.227


http://www.niftyadmin.cn/n/451171.html

相关文章

保证水库大坝安全需要做好哪方面的监测

水库安全监测是保证水库大坝安全的重要手段是确保水库大坝安全运行的基础也是做好水库安全管理的重要技术保障。根据《水库大坝安全管理条例》《水库大坝安全监测技术规范》等有关规定,对坝体变形、渗透、应力应变等进行监测,以掌握坝体、坝基和库岸的运…

普通人接了人生第一单

大家好,我是 “秋意零” ,全网同名(某平台多了一个数字0 “如:秋意零0”)。 你,相信天上掉馅饼吗? 40 分钟赚 150 你敢信? 现在我突然有点信了,为什么呢?请…

丝滑!软件开发根本不需要会编码(看我10分钟应用上线)

目录 一、前言 二、低代码基础功能及搭建 设计组件丰富 连接数据源 工作流设计 三、低代码和敏捷开发如何协同工作? 一、前言 众所周知,开发一个大型的企业级系统,公司往往需要大量的人力做支持后盾,如需要需求分析师、数据库管理…

【正点原子STM32连载】第三十七章 485实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html# 第三…

CPU调优 iostat命令

目录 一、命令描述 二、命令作用 三、命令 1.用法 2.命令参数 四、使用实例 1.CPU属性值说明 五、压力测试stress 1.stress介绍 2.stress参数 3.安装stress 四、实验 五、总结 一、命令描述 Linux 中的 iostat 是I/O statistics(输入/输出统计&#xf…

光伏电站并网雷电防护措施探讨 安科瑞 许敏

摘要: 本文指出了雷击对并网系统光伏电站的主要危害形式及所对应的雷电防护措施。依据相关的防雷及电气接地规范,针对并网系统光伏电站提出了防雷设计方案并做了详细的阐述。在光伏电站的防雷设计中,应考虑雷电会通过何种形式对哪些设施造成损害&#xf…

如何模拟一个僵尸进程

原理 子进程先于父进程退出&#xff0c;父进程还在继续运行&#xff0c;且没有调用wait函数。 实验代码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <signal.h> #include <errno.h>#define _DEBUG_INFO #ifdef _DEB…

java企业工程项目管理系统平台源码

工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…