|NO.Z.00006|——————————|Applications|——|LBC负载均衡集群.V3|——|6台server|
一、LVS-DR构建:硬件环境准备(个人环境说明)

### --- 实验环境:硬件环境准备。
### --- 网络:
~~~ IP 地址网段 10.10.10.0/24 255.255.255.0
### --- 6台server
~~~ 10.10.10.11/10.10.10.12/10.10.10.13/10.10.10.14/10.10.10.15/10.10.10.16
### --- 配置:
~~~ VMware 14 pro
### --- 网络类型:
~~~ 仅主机模式(把自己确定的DHCP关闭,若开启DHCP会优先抢占)
### --- 操作系统配置:
~~~ 硬件选项 2 U/1GB/20GB/2块网卡(2 UCPU/1GB内存/20GB存储空间/2块网卡)
### --- 操作系统配置:
~~~ 安装desktop桌面版(centos6.8)桌面版本的是因为PXE会借助桌面的配置。
### --- 授权版本:
~~~ GPLv2版本
### --- kdump:
~~~ 内存崩溃保护机制,内存是一次性存储器,断电后数据会丢失,
~~~ kdump功能可以在断电后把内存中的信息保存到硬盘中,是一个缓存同步机制。
二、VMware硬件环境准备
### --- VMware硬件环境准备
### --- 网络类型:仅主机模式:
~~~ 编辑——>虚拟网络编辑器——>取消选中:使用本地DHCP服务京IP地址分配给虚拟机——>END
### --- 虚拟机设置:
~~~ 编辑虚拟机设置——>网络适配器——>仅主机模式——>确定——>END
### --- 本地网路模式配置:
~~~ VMware Network Adapter VMnet1——>IPV4——>属性——>使用下面的IP地址——> IP:10.10.10.240 子网掩码:255.255.255.0——>END
### --- 操作系统硬件准备:
~~~ HA-server1:10.10.10.11
~~~ HA-server2:10.10.10.12
~~~ HA-server3:10.10.10.13
~~~ HA-server4:10.10.10.14
~~~ HA-server5:10.10.10.15
~~~ HA-server6:10.10.10.16
三、操作系统配置
### --- linux桌面环境安装,
~~~ 修改默认启动为字符界面设置:Ctrl+Alt+F3=命令行界面——>
~~~ vim /etc/inittab——>id:5:initdcfault:——>
~~~ 修改为:id:3:initdcfault:———>重启后为字符界面——>END
### --- 关闭防火墙
[root@localhost ~]# service iptables stop
[root@localhost ~]# chkconfig iptables off
### --- 关闭selinux
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
[root@localhost ~]# setenforce 0 // 0表示临时关闭selinux
[root@localhost ~]# setenforce 1 // 1表示临时开启selinux
### --- 配置网卡地址
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:FA:34:71
TYPE=Ethernet
UUID=e5be5c71-003b-46c9-be75-f576f4fbb97d
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.10.10.11
NETMASK=255.255.255.0
### --- 配置区域网yum源
~~~ 编辑虚拟机设置——>CD/DVD——>勾选:已连接,启动时连接——>确定——>END // 表示把光盘插入到光驱
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
CentOS_BuildTag EULA images Packages repodata RPM-GPG-KEY-CentOS-Debug-6 RPM-GPG-KEY-CentOS-Testing-6
EFI GPL isolinux RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-6 RPM-GPG-KEY-CentOS-Security-6 TRANS.TBL
### --- 设置开机自动挂载
[root@localhost ~]# echo "/dev/sr0 /mnt/cdrom iso9660 defaults 0 0" >>/etc/fstab
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back/
[root@localhost yum.repos.d]# cp -a back/CentOS-Media.repo .
[root@localhost yum.repos.d]# vim CentOS-Media.repo
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
### --- 安装gcc编译环境
[root@localhost yum.repos.d]# yum install -y gcc gcc-c++ lrzsz
### --- 关闭初始化环境,打快照。命名为:Justinstall
[root@localhost yum.repos.d]# shutdown -h now
四、LVS-DR

### --- 10.10.10.240:本地VMnet1配置地址;
### --- eth0:10.10.10.11 | eth0:0:10.10.10.100 负载路由器
### --- RS1:真实服务器1
### --- RS2:真实服务器2
~~~ 原地址发送数据包到负载调度器,负载调度器会进行对原地址进行修改,
~~~ 三个真实主机上的100地址是被隐藏的。
### --- arp-ignore:
~~~ 改为1 arp-announce:改为2 既不向外发出公告,别人来的时候又不会主动接收
### --- 数据报文到大不了Lo:
~~~ 配置路由规则:指一个路由规则,指定一下100地址的话,数据报文来了的情况下,接收数据;
~~~ 数据报文到达Lo;组装报文回信给客户端。完成整个工作流程
~~~ 在负载路由器关闭广播地址的公告功能。是一个优化方案
### --- Lo:
~~~ 把它的子网掩码设置为255:255:255:255 32位:32位:主机位,网络位是同一个IP地址。
~~~ 防止出现意外。
### --- 本机的IP地址为:10.10.10.240
### --- ARP通讯行为:ARP响应级别:arp-ignore
~~~ 0 只要本机配置有相应IP地址就响应
~~~ 1 仅在请求的目标地址配置在请求到达的网络接口上时,才给予响应
### --- ARP通告行为:arp-announce
~~~ 0 将本机热呢网络接口上的任何地址都向外通告
~~~ 1 尽可能避免像目标网络通告与网络不匹配的地址信息表
~~~ 2 仅向目标网络通告与其网络相匹配的地址信息
五、LVS-NAT构建

### --- LVS-NAT构建
### --- C:20.20.20.22:充当本机的客户端
### --- D:Eht0:20.20.20.11:负载路由器网卡0:公网地址:和C:20.20.20.22公网相互连接
### --- D:Eht1:10.10.10.11:负载路由器网卡1:模拟的是私有地址
### --- RS1:Eth0:10.10.10.12:私有地址:Apache充当负载路由器真实服务器地址
### --- RS2:Eth0:10.10.10.13:私有地址:Apache充当负载路由器真实服务器地址
### --- C 想访问真实服务器:C会发起一个数据包:
~~~ 原地址是:20.20.20.22;目标地址指向负载路由器的Eth0:20.20.20.11;
~~~ 访问到负载路由器的外网网卡之后,数据包会发给负载路由器,
~~~ 负载路由器LVS组件会根据自己的算法把它改为RS1或RS2机器的IP地址,此环境使用的是S-NAT转换;
~~~ 假设数据包发送给RS1,RS1接收到数据报文之后,RS1会回信给网关,
~~~ 此环境它会把网关指向负载调度器10.10.10.11,负载调度器会把这个数据报文传递给客户端。
~~~ 为了维持原目标地址对调的一致性,所以在负载路由器使用了S-NAT地址转换去保证它的一致性。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv001-lbchac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通