热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LVS负载均衡:LVSNAT搭建web群集

LVS负载均衡:LVS-NAT搭建web群集一:实验环境介绍二:实验架构三:实验目的四:实验步骤4.1:NFS服务器配置4.2:两台Apache服务的配置4.3:LVS配置五:实验

LVS负载均衡:LVS-NAT搭建web群集

  • 一:实验环境介绍
  • 二:实验架构
  • 三:实验目的
  • 四:实验步骤
    • 4.1:NFS服务器配置
    • 4.2:两台Apache服务的配置
    • 4.3:LVS配置
  • 五:实验验证


一:实验环境介绍

VMware软件
一台centos7作为LVS网关,双网卡
两台centos7作为Apache服务器
一台centos7作为NFS存储
一台win10作为客户端


二:实验架构

在这里插入图片描述


三:实验目的

win10客户机访问12.0.0.1的网址,通过nat地址转换,轮询的访问到Apache1和Apache2主机


四:实验步骤


4.1:NFS服务器配置



  • 添加两块硬盘,作为Apache1和Apache2的挂载点

[root@nfs ~]# fdisk -l //查看添加的磁盘


  • 格式化磁盘

[root@nfs ~]# fdisk /dev/sdb
//n 新建
一路回车
最后w保存退出//
[root@nfs ~]# mkfs.xfs /dev/sdb1 //创建文件系统

另一块磁盘做同样操作



  • 创建挂载点、挂载磁盘

[root@nfs ~]# mkdir /opt/apache1 /opt/apache2
[root@nfs ~]# vim /etc/fstab
//末行添加
/dev/sdb1 /opt/apache1 xfs defaults 0 0
/dev/sdc1 /opt/apache2 xfs defaults 0 0
[root@nfs ~]# mount -a
[root@nfs ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root xfs 47G 4.3G 43G 10% /
devtmpfs devtmpfs 470M 0 470M 0% /dev
tmpfs tmpfs 487M 0 487M 0% /dev/shm
tmpfs tmpfs 487M 8.6M 478M 2% /run
tmpfs tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 166M 849M 17% /boot
tmpfs tmpfs 98M 8.0K 98M 1% /run/user/42
tmpfs tmpfs 98M 32K 98M 1% /run/user/0
/dev/sdb1 xfs 5.0G 33M 5.0G 1% /opt/apache1
/dev/sdc1 xfs 5.0G 33M 5.0G 1% /opt/apache2
/dev/sr0 iso9660 4.3G 4.3G 0 100% /run/media/root/CentOS 7 x86_64


  • 安装NFS相关软件

[root@nfs ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.48.el7.x86_64 '//已经安装nfs-utils(nfs组件)'
[root@nfs ~]# rpm -q rpcbind
rpcbind-0.2.0-42.el7.x86_64 //已经安装rpcbind(远端过程调用组件)'


  • 配置共享文件

[root@nfs ~]# vim /etc/exports
/opt/apache1 192.168.100.0/24(rw,sync,no_root_squash)
/opt/apache2 192.168.100.0/24(rw,sync,no_root_squash)
'//添加上述两个配置'


  • 开启服务并查看

[root@nfs ~]# systemctl stop firewalld.service
[root@nfs ~]# setenforce 0
[root@nfs ~]# systemctl start nfs
[root@nfs ~]# systemctl start rpcbind
[root@nfs ~]# showmount -e
Export list for nfs:
/opt/apache1 192.168.100.0/24
/opt/apache2 192.168.100.0/24


  • 配置NFS服务器的网卡、IP地址
    网卡选择为仅主机模式、修改IP地址为192.168.100.120

[root@nfs ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
'//...省略内容,修改为static'
BOOTPROTO=static
'//...省略内容,尾行添加内容'
IPADDR=192.168.100.120
NETMASK=255.255.255.0
GATEWAY=192.168.100.1
[root@nfs ~]# systemctl restart network

4.2:两台Apache服务的配置



  • 两台Apache服务器安装httpd软件

[root@apache1 ~]# yum install httpd -y
[root@apache2 ~]# yum install httpd -y


  • 挂载NFS服务提供的存储空间
    首先两台Apache服务器的网络类型也要修改为仅主机模式,IP地址apache1为192.168.100.110,apache2为192.168.100.111,
    操作与上面相同

[root@apache1 ~]# vim /etc/fstab
'//尾行添加挂载配置'
192.168.100.120:/opt/apache1 /var/www/html nfs defaults,_netdev 0 0
[root@apache1 ~]# mount -a
[root@apache1 ~]# df -h //查看是否挂载成功

apache2同样操作



  • 创建测试站点文件

[root@apache1 ~]# vim /var/www/html/index.html
<h1>this is apache1 web</h1>
[root@apache2 ~]# vim /var/www/html/index.html
<h1>this is apache2 web</h1>


  • 开启Apache服务

[root@apache1 ~]# systemctl stop firewalld.service
[root@apache1 ~]# setenforce 0
[root@apache1 ~]# systemctl start httpd.service
[root@apache2 ~]# systemctl stop firewalld.service
[root@apache2 ~]# setenforce 0
[root@apache2 ~]# systemctl start httpd.service

4.3:LVS配置



  • 安装ipvsadm工具

[root@lvs ~]# yum install ipvsadm -y


  • 加载ip_vs模块

[root@lvs~]# modprobe ip_vs
[root@lvs~]# cat /proc/net/ip_vs
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn


  • 设置双网卡
    ens33作为外部网关 地址12.0.0.1
    ens36作为内部网关 地址192.168.100.1
    配置步骤可查看之前的博客



  • 开启路由转发功能



[root@lvs network-scripts]# vim /etc/sysctl.conf
net.ipv4.ip_forward=1 '//尾行插入,注意不要有#号'
[root@lvs network-scripts]# sysctl -p '//重载路由转发功能'
net.ipv4.ip_forward = 1


  • 清空防火墙表规则,并添加NAT地址转换规则

[root@lvs network-scripts]# iptables -F
[root@lvs network-scripts]# iptables -t nat -F '//清空nat地址转换表'
oot@lvs network-scripts]# iptables -t nat -A POSTROUTING -o ens36 -s 192.168.100.0/24 -j SNAT --to-source 12.0.0.1


  • 编写LVS调度脚本

[root@lvs ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
[root@lvs ~]# systemctl start ipvsadm.service
[root@lvs network-scripts]# cd /opt
[root@lvs opt]# 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.79.134:80 -m
ipvsadm -a -t 12.0.0.1:80 -r 192.168.79.135:80 -m
ipvsadm
[root@lvs opt]# chmod +x nat.sh
[root@lvs opt]# ./nat.sh
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP lvs:http rr-> 192.168.79.134:http Masq 1 0 0 -> 192.168.79.135:http Masq 1 0 0

五:实验验证

win10客户端网卡也为仅主机模式,修改IP地址为12.0.0.10
打开游览器访问http://12.0.0.1
在这里插入图片描述
点击刷新
在这里插入图片描述
注:如果不能轮询的访问两个网址,可清空游览器缓存,过一会再访问,或者换一个IP地址(12.0.0.0/8)再次访问。


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了在CentOS 7.x上进行端口映射配置的方法,通过修改内核和配置防火墙实现端口映射。作者分享了自己使用华为服务器进行端口映射的经验,发现网速比直连还快且稳定。详细的配置过程包括开启系统路由模式功能、设置IP地址伪装、设置端口映射等。同时,还介绍了如何监听本地端口的tcp请求,以及删除规则和开放的端口的方法。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
author-avatar
情非不得以1_810
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有