服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Centos - 尝试CentOS8---部署集群(生产环境7.9为好)

尝试CentOS8---部署集群(生产环境7.9为好)

2023-05-09 08:02未知服务器之家 Centos

尝试CentOS8---部署集群(生产环境7.9为好) 一、LVS集群简介 什么是集群 通过网络将很多服务器集中起来,提供同一种服务,在客户端看来就像是只有一个服务器 二、LVS-NAT集群 1、环境准备 启动3台虚拟机,禁用selinux和firewalld,挂载光

尝试CentOS8---部署集群(生产环境7.9为好)

一、LVS集群简介

什么是集群

通过网络将很多服务器集中起来,提供同一种服务,在客户端看来就像是只有一个服务器

二、LVS-NAT集群

1、环境准备

启动3台虚拟机,禁用selinux和firewalld,挂载光盘文件并配置yum扩展源,安装vim、bash-completion net-tools软件包
此方案需要准备三台主机,一台lvs调度器,2台web服务器,具体要求如下所示

主机名	Ip地址	角色
Proxy	ens33: 192.168.4.5/24
ens160: 192.168.2.5/24	Lvs调度器
web1	ens33: 192.168.2.100/24	Web服务器
web2	ens33: 192.168.2.200/24	Web服务器

2、先新建一台web1服务器,配置主机名

[root@localhost ~]#  hostname web1 
[root@localhost ~]# echo web1 > /etc/hostname

3、配置IP地址,是用2网段地址

[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual  ipv4.address 192.168.2.100 /24 connection.autoconnect yes		
[root@localhost ~]# nmcli connection up ens33	

4、配置yum

[root@localhost ~]# mount  /dev/cdrom  /media
[root@web1 ~]# vi /etc/fstab
/dev/cdrom  /media  iso9660  defaults  0  0
[root@localhost ~]# rm -rf  /etc/yum.repos.d/*
[root@localhost ~]# vi /etc/yum.repo.d/media.repo
[media]
name=media
baseurl=file:///media
enabled=1
gpgcheck=0
[root@localhost ~]# yum -y install vim-enhanced bash-completion net-tools

5、可以给web1创建一个快照,方便后期还原

6、使用web1主机克隆web2主机和lvs主机,给web2配置IP为2.200,修改主机名为web2

给lvs主机另外添加一块网卡,两块网卡ens33配置ip为4.5,ens37配置IP为2.5,主机名为lvs

7、web2主机配置IP

[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual  ipv4.address 192.168.2.200/24 connection.autoconnect yes		
[root@localhost ~]# nmcli connection up ens33

8、lvs主机配置IP

[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual  ipv4.address 192.168.4.5/24 connection.autoconnect yes		
[root@localhost ~]# nmcli connection up ens33

[root@localhost ~]# nmcli connection add ifname ens37 con-name ens37 type ethernet
[root@localhost ~]# nmcli connection modify ens37 ipv4.method manual  ipv4.address 192.168.2.5/24 connection.autoconnect yes		
[root@localhost ~]# nmcli connection up ens37

三、web1,web2部署web服务器

1、Web1:部署httpd服务

[root@web1 ~]# yum -y install httpd
[root@web1 ~]# echo 192.168.2.100 > /var/www/html/index.html
[root@web1 ~]# systemctl restart httpd
[root@web1 ~]# iptables -F 		#清空防火墙策略
[root@web1 ~]# setenforce  0	

2、Web2:部署httpd服务

[root@web2 ~]# yum -y install httpd 
[root@web2 ~]# echo 192.168.2.200 > /var/www/html/index.html
[root@web2 ~]# systemctl restart httpd
[root@web2 ~]# iptables -F
[root@web2 ~]# setenforce 0

四、配置LVS调度器

1、安装ipvsadm

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

2、创建虚拟服务器

[root@lvs ~]# ipvsadm -A -t 192.168.4.5:80 -s rr		#rr为轮询算法
[root@lvs ~]# ipvsadm -Ln		#查看集群规则
添加real server
 
[root@lvs ~]# ipvsadm -a -t 192.168.4.5:80  -r 192.168.2.100:80 -m		#默认是-g DR模式
[root@lvs ~]# ipvsadm -a -t 192.168.4.5:80  -r 192.168.2.200:80 -m
[root@lvs ~]# ipvsadm -Ln

算法使用的是轮询,给服务器加了权重也不会查看,加权轮询(wrr),加权最小连接(wlc)的时候才会查看

3、Lvs开启路由转发

[root@lvs ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@lvs ~]# vim /etc/sysctl.conf     				//修改配置文件,设置永久规则
...
net.ipv4.ip_forward = 1
[root@lvs ~]# sysctl -p
[root@lvs ~]# iptables -F
[root@lvs ~]# setenforce 0

4、Web1、Web2配置网关为2.5(实现跨网段通信)

[root@web1 ~]# nmcli connection modify ens33 ipv4.method manual ipv4.gateway 192.168.2.5
[root@web2 ~]# nmcli connection up ens33
[root@web2 ~]# nmcli connection modify ens33 ipv4.method manual ipv4.gateway 192.168.2.5
[root@web2 ~]# nmcli connection up ens33
使用浏览器访问192.168.4.5进行页面测试,或者在lvs主机:curl 192.168.4.5

五、LVS-DR集群

1、环境准备

主机名	Ip地址	角色
proxy	ens33    192.168.4.5/24
ens33:0  192.168.4.15/24	Lvs调度器

web1	ens37    192.168.4.100/24
lo:0      192.168.4.15/32	Web服务器

web2	ens37   192.168.4.200/24
lo:0     192.168.4.15/32	Web服务器

2、设置lvs服务器的VIP和DIP

配置DIP 地址4.5 之前已经配置好了,此时不用配置

配置Vip地址,注意:为了防止冲突,VIP必须要配置在网卡的虚拟接口!!!

[root@lvs ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33{,:0}	#网卡需要找到192.168.4.5所对应的网卡

[root@lvs ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33:0
TYPE=Ethernet
BOOTPROTO=none
NAME=ens33:0
DEVICE=ens33:0
ONBOOT=yes
IPADDR=192.168.4.15
PREFIX=24
[root@lvs ~]# systemctl  restart network
[root@lvs ~]# ifconfig	#会有ens33:0的ip 

3、Web1、web2部署httpd服务,查看端口是否启动(前面试验做过可不用配置,如果是新的机器,参考案例一搭建web服务)

[root@web1 ~]# ss -antlp | grep 80
[root@web2 ~]# ss -antlp | grep 80

4、给web1和web2在添加一块网卡,找到 编辑虚拟机-添加网络适配器-完成,点击网络适配器-网络连接选择自定义- vmnet4

[root@web1 ~]# ip  a  s	#查看可以看到多出来的网卡

5、给web1配置RIP(真实的IP)

[root@web1 ~]# nmcli connection add con-name ens37 ifname ens37 type ethernet 
[root@web1 ~]# nmcli connection modify ens37 ipv4.method manual  ipv4.addresses 192.168.4.100/24 connection.autoconnect yes
[root@web1 ~]# nmcli connection up ens37

6、给web2配置RIP(真实的IP)

[root@web2 ~]# nmcli connection add con-name ens37 ifname ens37 type ethernet
[root@web2 ~]# nmcli connection modify ens37 ipv4.method manual  ipv4.addresses 192.168.4.200/24 connection.autoconnect yes
[root@web2 ~]# nmcli connection up ens37

7、给web1伪装VIP地址

[root@web1 ~]# cp /etc/sysconfig/network-scripts/ifcfg-lo{,:0}
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.4.15			#ip地址
NETMASK=255.255.255.255		#子网掩码,强制4个255
NETWORK=192.168.4.15		#网络位
BROADCAST=192.168.4.15		#广播地址
ONBOOT=yes					#开机启动
NAME=lo:0

此时还不能重启网络,因为会产生地址冲突,需要修改内核参数

[root@web1 ~]# vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2
#当有arp广播问谁是192.168.4.15时,本机忽略改ARP广播,不做任何回应,
#本机不要向外宣告自己的lo回环地址是192.168.4.15
[root@web1 ~]# sysctl -p	#使配置生效
[root@web1 ~]# systemctl restart network

8、给web2伪装VIP地址

[root@web1 ~]# scp /etc/sysconfig/network-scripts/ifcfg-lo:0 192.168.4.200:/etc/sysconfig/network-scripts/
[root@web1 ~]# scp /etc/sysctl.conf  192.168.4.200:/etc/

9、web2主机执行sysctl -p ,重启网络,使配置生效

[root@web2 ~]# sysctl  -p
[root@web2 ~]# systemctl restart network

六、创建LVS-DR集群

1、lvs调度器安装软件并部署LVS-DR模式调度器

安装软件(如果已经安装,此步骤可以忽略)

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

2、清理之前实验的规则,创建新的集群服务器规则

[root@lvs~]# ipvsadm -C                                #清空所有规则
[root@lvs ~]# ipvsadm -A -t 192.168.4.15:80 -s rr

3、添加真实服务器(-g参数设置LVS工作模式为DR模式,默认为DR)

[root@lvs ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.100 -g
[root@lvs ~]# ipvsadm -a -t 192.168.4.15:80 -r 192.168.4.200
[root@lvs ~]# ipvsadm -Ln

4、检查路由转发功能是否打开

[root@lvs ~]# cat /proc/sys/net/ipv4/ip_forward		#1为开启,0为关闭
1

最后防火墙和selinux一定要关闭

使用浏览器访问192.168.4.15进行页面刷新测试

延伸 · 阅读

精彩推荐
  • CentosCentos 7开启网卡自动获取IP的详细方法

    Centos 7开启网卡自动获取IP的详细方法

    本篇文章主要介绍了Centos 7开启网卡自动获取IP的详细方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    凌锋8972021-12-29
  • CentosCentOS 6.6实现永久修改DNS地址的方法

    CentOS 6.6实现永久修改DNS地址的方法

    这篇文章主要介绍了CentOS 6.6实现永久修改DNS地址的方法,涉及针对CentOS配置文件的相关设置技巧,具有一定参考借鉴价值,需要的朋友可以参考下 ...

    Linux社区4472020-08-21
  • CentosCentos7运用/dev/shm进行网站优化

    Centos7运用/dev/shm进行网站优化

    这篇文章主要介绍了LINUX中Centos7运用/dev/shm进行网站优化相关知识点,对此有兴趣的朋友参考学习下。...

    彬菌9912022-03-02
  • Centoscentos 安装与操作方法

    centos 安装与操作方法

    这篇文章主要介绍了centos 安装与操作方法,需要的朋友可以参考下...

    centos之家5272019-07-11
  • CentosCentOS下Uptime命令详解

    CentOS下Uptime命令详解

    在Linux下,我们可以使用uptime命令,而且此命令不必使用root权限。uptime命令在系统中已经默认安装了。今天小编为大家带来的是CentOS下Uptime命令详解;希望...

    CentOS之家11482019-06-19
  • CentosCentOS6.5下Redis安装与配置详细步骤

    CentOS6.5下Redis安装与配置详细步骤

    本篇文章主要介绍了CentOS6.5下Redis安装与配置详细步骤,详细介绍redis单机单实例安装与配置,服务及开机自启动。有兴趣的可以了解一下。...

    飞流11452021-12-24
  • Centoscentos不小心删除/root目录该如何解决?

    centos不小心删除/root目录该如何解决?

    一些朋友最近在问小编centos不小心删除/root目录该如何解决?今天小编就为大家分享centos不小心删除/root目录解决办法;希望对大家会有帮助,有需要的朋友...

    脚本之家8022019-05-29
  • CentosCentOS7设置日期和时间方法以及基本概念介绍

    CentOS7设置日期和时间方法以及基本概念介绍

    这篇文章主要介绍了CentOS7设置日期和时间方法以及基本概念介绍,本文讲解使用CentOS7中的新命令timedatectl设置日期时间方法,需要的朋友可以参考下 ...

    CentOS之家6522019-09-19