Liunx-Lvs配置项目练习
1.实验环境配置
Lvs调度器有两块网卡 一块仅主机和一块nat网卡,客户端nat模式,两台服务器为仅主机模式
2.集群和分布式简介
集群与分布式系统简介
集群 (Cluster)
集群是指将多台计算机(通常为同构的)通过高速网络连接起来,作为一个整体对外提供服务。
主要特点:
- 高可用性:当某个节点故障时,服务可以快速转移到其他节点
- 负载均衡:工作负载可以分配到多个节点上
- 可扩展性:可以通过增加节点来提升整体性能
- 共享存储:通常使用共享存储系统
常见集群类型:
- 高可用集群:确保服务持续可用(如数据库集群)
- 负载均衡集群:分散请求到多个节点(如Web服务器集群)
- 高性能计算集群:用于科学计算等需要大量计算资源的场景
分布式系统 (Distributed System)
分布式系统是由多台计算机通过网络连接,协同完成任务的系统,这些计算机可以位于不同地理位置。
主要特点:
- 资源共享:可以共享硬件、软件和数据
- 并发性:多个节点可以同时处理不同请求
- 透明性:用户无需知道具体由哪个节点提供服务
- 容错性:部分节点故障不影响整体系统运行
- 可扩展性:可以方便地增加节点
关键技术:
- 分布式计算:如MapReduce
- 分布式存储:如HDFS、分布式数据库
- 分布式通信:如RPC、消息队列
- 一致性协议:如Paxos、Raft
集群与分布式的区别
特性 | 集群 | 分布式系统 |
---|---|---|
节点位置 | 通常在同一数据中心 | 可以跨地域分布 |
节点类型 | 通常同构 | 可以异构 |
通信延迟 | 低(局域网) | 可能较高(广域网) |
管理复杂度 | 相对简单 | 更复杂 |
典型应用场景 | Web服务器、数据库集群 | 云计算平台、大型互联网服务 |
两者在实际应用中常常结合使用,例如分布式系统可能由多个集群组成。
3.lvs-nat模式数据逻辑
1.客户端发送访问请求,请求数据包中含有请求来源(cip),访问目标地址(VIP)访问目标端口(9000port)
2.VS服务器接收到访问请求做DNAT把请求数据包中的目的地由VIP换成RS的RIP和相应端
3.RS1相应请求,发送响应数据包,包中的相应保温为数据来源(RIP1)响应目标(CIP)相应端口(9000port)
4.VS服务器接收到响应数据包,改变包中的数据来源(RIP1-->VIP),响应目标端口(9000-->80)5.VS服务器把修改过报文的响应数据包回传给客户端
6.Ivs的NAT模式接收和返回客户端数据包时都要经过lvs的调度机,所以vs的调度机容易阻塞
4.lvs-nat实验配置
首先利用事先编写的peizhi.sh 的shell脚本给四台主机配好ip
确保两台的http服务为开启状态
给两台http服务器的index编写内容,实际情况下两台服务器发布配置内容应该为一模一样,为方便后续实验验证,将两台服务区分开
将两台服务器的网关设置为调度服务器的vip 192.168.182.123
在lvs调度服务器上安装ipvsadm
首先将lvs调度服务器上开启ip转发功能
编写lvs调度策略
最后在客户机上访问http服务
修改策略再次验证一下
可以看见访问一次122 访问两次121
5.lvs的dr模式和nat模式的区别
LVS(Linux Virtual Server)的 NAT 模式 和 DR 模式 是两种最常用的负载均衡实现方式,它们在架构、性能、配置复杂度等方面有显著区别。以下是两者的核心对比:
1. 数据包转发原理
特性 | NAT 模式 | DR 模式(Direct Routing) |
---|---|---|
修改内容 | 修改请求和响应的 IP 地址/端口 | 仅修改请求的 MAC 地址 |
请求路径 | 客户端 → LVS → 真实服务器 → LVS → 客户端 | 客户端 → LVS → 真实服务器 → 客户端(直接返回) |
响应路径 | 必须经过 LVS 调度器(SNAT) | 真实服务器直接返回客户端(不经过 LVS) |
2. 性能对比
特性 | NAT 模式 | DR 模式 |
---|---|---|
吞吐量 | 较低(LVS 是瓶颈) | 极高(仅处理入站请求) |
延迟 | 较高(两次经过 LVS) | 低(响应不经过 LVS) |
适用场景 | 小规模集群、需要端口转换 | 高性能场景(如大型网站) |
3. 网络配置要求
特性 | NAT 模式 | DR 模式 |
---|---|---|
真实服务器(RS)网关 | 必须指向 LVS 调度器 | 可指向其他路由器 |
IP 转发 | 需启用 net.ipv4.ip_forward=1 | 不需要 |
IP 地址 | RS 使用私有 IP,LVS 需要公网 IP | RS 和 LVS 需在同一局域网,且 RS 可隐藏 |
4. 配置复杂度
特性 | NAT 模式 | DR 模式 |
---|---|---|
LVS 配置 | 简单(只需 DNAT/SNAT) | 需配置 ARP 抑制和 MAC 重写 |
真实服务器配置 | 简单(改网关即可) | 需绑定 VIP 到 lo 接口,并配置 ARP 规则 |
典型命令 | ipvsadm -A -t VIP:80 -s rr ipvsadm -a -t VIP:80 -r RIP:80 -m | ipvsadm -A -t VIP:80 -s rr ipvsadm -a -t VIP:80 -r RIP:80 -g |
5. 优缺点对比
NAT 模式
- 优点:
- 支持端口映射(VIP 和 RIP 端口可不同)。
- 真实服务器可隐藏在内网。
- 缺点:
- LVS 容易成为性能瓶颈。
- 需要维护连接状态(消耗内存)。
DR 模式
- 优点:
- 性能接近物理极限(响应直接由 RS 返回)。
- LVS 仅处理入站请求,吞吐量高。
- 缺点:
- 要求 RS 和 LVS 在同一局域网。
- 需配置 ARP 抑制,防止 IP 冲突。
6.lvs的dr实验配置
1.客户端发送数据帧给vs调度主机帧中内容为客户端IP+客户端的MAC+VIP+VIP的MAC
2.VS调度主机接收到数据帧后把帧中的VIP的MAC该为RS1的MAC,此时帧中的数据为客户端IP+客户端的MAC+VIP+RS1的MAC
3.RS1得到2中的数据包做出响应回传数据包,数据包中的内容为VIP+RS1的MAC+客户端IP+客户端IP的MAC
我们将server服务器的vip配置在回环接口上,lvs的vip添加在仅主机网卡上。在添加一台主机模拟路由器装置。
两台服务器以及lvs调度器的网关都为路由器相应的网段;两台服务器上配置回环接口vip将lvs调度器的vip添加到网卡上;
编写回环接口配置vip为192.168.182.200
利用scp命令将配置文件直接传输给server2
然后将两台服务器和lvs的arp回应关闭
其他主机依次操作,在路由器上开启火墙的ip伪装服务,实现五台主机互相连通
在lvs调度服务器上配置调度策略
在客户端验证策略是否生效。
客户端成功访问服务器的http服务,且根据策略调度。
7.利用wireshark抓包软件验证dr模式的特性
可以观察到数据包里的ip只在CIP和VIP之间转换
数据包的mac地址一直在变化