目录

关于聚合网络和日志分割的搭建

关于聚合网络和日志分割的搭建

前言:

聚合网络

聚合网络(Hybrid Network)是指结合客户端-服务器架构与对等网络(P2P)优点的网络结构。它既通过中央服务器提供核心服务(如身份验证、资源管理),又允许终端设备直接共享资源,从而提升网络的灵活性和容错性。以下是关于聚合网络的详细分析:

  1. 应用场景

    • 企业网络:通过聚合网络,企业可以更有效地管理内部资源,提高网络的可靠性和灵活性。
    • 物联网系统:物联网设备众多,通过聚合网络可以实现设备间的无缝连接和数据共享。
    • 隐私保护通信:如HOPR混合网络,通过数据包重组实现匿名路由,保护用户隐私。
  2. 典型技术

    • 链路聚合:如以太网多端口绑定,通过整合多个物理链路来提高网络的带宽和可靠性。
    • 载波聚合:无线频谱整合,通过整合不同频段的载波资源来提升无线网络容量与速率。
    • 数据流聚合:如路测数据分类展示,将多个数据流整合到一个逻辑单元中进行统一管理和分析。
  3. 原理

    • 整合不同频段(如TDD与FDD)的载波资源,提升无线网络容量与速率。
    • 主载波选择需权衡频谱效率、信令开销与终端实现难度,例如优先选择FDD作为主载波以降低上行控制负担。
  4. 混合上网策略

    • 根据业务需求动态选择流量出口,如默认集中上网+指定应用本地直连,以保障关键业务低时延,同时集中管控普通流量。
  5. 核心价值

    • 灵活适配多样化需求,如企业级高可用性、无线通信容量扩展及隐私敏感场景。
    • 通过架构融合与资源整合,解决传统网络在带宽、可靠性、隐私等方面的瓶颈。

日志分割

日志分割是指将大型或复杂的日志文件分割成更小、更易于管理和分析的部分。以下是关于日志分割的详细分析:

  1. 目的

    • 提高日志文件的可读性和可管理性。
    • 便于日志文件的存储和备份。
    • 加速日志分析过程,提高分析效率。
  2. 常见方法

    • 基于行数分割 :使用工具(如split)按指定的行数将日志文件分割成多个小文件。
    • 基于大小分割 :按文件大小(如MB、GB)将日志文件分割成多个部分。
    • 基于时间分割 :根据时间戳(如每天、每小时)将日志文件分割成不同的文件。
    • 基于内容分割 :根据日志内容中的特定标记或模式将日志文件分割成不同的部分。
  3. 工具

    • split :Linux系统下的命令行工具,用于按行数、大小或自定义模式分割文件。
    • dd :Linux系统下的另一个命令行工具,用于按大小或块数分割文件,但可能无法保持行的完整性。
    • awk :一种强大的文本处理工具,可以用于基于内容的日志分割。
    • Apache rotatelogs :Apache服务器自带的日志分割工具,可以按时间间隔(如每天)自动分割日志文件。
    • cronolog :第三方日志分割工具,支持基于时间戳的日志分割,并可以与Apache等服务器配合使用。
  4. 应用场景

    • 系统性能监控:通过分割日志文件,可以更方便地分析系统性能瓶颈和异常事件。
    • 故障排查:在出现故障时,通过分割日志文件可以快速定位问题所在。
    • 安全审计:通过分割日志文件,可以更方便地进行安全审计和异常行为分析。
    • 数据备份与恢复:将日志文件分割成较小的部分,可以更方便地进行备份和恢复操作。

一、实验内容:

聚合网络
1.1 nmcli 支持两种聚合方式:

(1)Bonding:传统的网络聚合方式,支持多种模式(如 active-backup 、 balance-rr 等)。

(2)Teaming:更现代的聚合方式,功能更强大,支持更复杂的负载均衡策略(activebackup 、

loadbalance 、 lacp 等)。

注:这里只讲Teaming 方式,

1.2 Teaming 模式配置举例

关闭虚拟机,添加两个网卡,然后启动虚拟机;

连接上两个网卡 https://i-blog.csdnimg.cn/direct/0ebfea7c658842419f63ba5eb02ab370.png

https://i-blog.csdnimg.cn/direct/11a088feb587408fb349d170d4b76b46.png

1.2.1 activebackup (主备模式)

特点:只有一个网卡处于活动状态,其他网卡作为备份。

适用场景:高可用性需求。

配置命令:

#创建名为team0 的 虚拟网卡

nmcli connection add con-name team0 type team ifname team0

#修改此team0 网卡的模式为主备模式

nmcli connection modify team0 team.config ‘{“runner”: {“name”:

“activebackup”}}’

#为虚拟网卡设置ip,并自动连接

nmcli connection modify team0 ipv4.addresses “192.168.8.200/24” ipv4.method

manual connection.autoconnect yes

#将ens33,ens44 添加到team0 中

nmcli connection add con-name slave1 type ethernet ifname ens224 master team0

nmcli connection add con-name slave2 type ethernet ifname ens256 master team0

#启用该虚拟网卡

nmcli connection up team0

#windos 客户端验证

ping -t 192.168.8.200

https://i-blog.csdnimg.cn/direct/d4067c3c0fcb417b923472accfc7dd5f.png

https://i-blog.csdnimg.cn/direct/0f2543b43566441c8c5aa27fbcbb36db.png

1.2.2 loadbalance (负载均衡模式)

特点:基于哈希算法分配流量到多个网卡。

适用场景:负载均衡。

配置命令:

nmcli connection add type team ifname team0

nmcli connection modify team0 team.config ‘{“runner”: {“name”: “loadbalance”}}’

nmcli connection add type ethernet ifname ens33 master team0

nmcli connection add type ethernet ifname ens44 master team

https://i-blog.csdnimg.cn/direct/b2a18c56026b47f0a94a9355e12e83b1.png

https://i-blog.csdnimg.cn/direct/896af5642e244bbbb742a5f79be86dcb.png

1.2.3 lacp (链路聚合控制协议)(不需要练,能看懂就行)

特点:基于 LACP 协议动态聚合链路。

适用场景:需要高带宽和冗余。

配置命令:

nmcli connection add type team ifname team0

nmcli connection modify team0 team.config ‘{“runner”: {“name”: “lacp”}}’

nmcli connection add type ethernet ifname ens33 master team0

nmcli connection add type ethernet ifname ens44 master team0

https://i-blog.csdnimg.cn/direct/5f1181ce5a974d1c91a6e37ebfc0e917.png

https://i-blog.csdnimg.cn/direct/87f84d95b477428badb6815057be9c06.png

练习:

1、nmcli的命令配置网卡信息;

https://i-blog.csdnimg.cn/direct/ac77b81c7ab14ac19d8a45b145ca9db6.png

2、nmcli 配置网络聚合的主备模式,并用客户端验证

https://i-blog.csdnimg.cn/direct/f64c0bfcb7cc4e82bbb20ef4422ee18c.png

日志分割
2.1. 安装logrotate

大多数Linux发行版默认已安装 logrotate ,如果没有安装,可以使用以下命令安装:

对于CentOS/RHEL系统

sudo yum install logrotate

https://i-blog.csdnimg.cn/direct/98ea882f4ae046cf9e42504cdb747735.png

2.2. 创建Nginx的logrotate配置文件

在 /etc/logrotate.d/ 目录下创建一个新的配置文件,例如 nginx :

sudo vim /etc/logrotate.d/nginx

2.3. 配置logrotate

在配置文件中添加以下内容:

配置项说明:

/var/log/nginx/*.log {

daily

missingok

rotate 14

compress

delaycompress

notifempty

create 0640 nginx root

sharedscripts

postrotate

if [ -f /var/run/nginx.pid ]; then

kill -USR1 cat /var/run/nginx.pid

fi

endscript

}

启动服务

systemctl status logrotate

systemctl start logrotate

systemctl enable logrotate

https://i-blog.csdnimg.cn/direct/bef365cbc7ce4bf18bc991ddc25b1b01.png

2.4测试logrotate配置

使用以下命令测试配置是否正确:

sudo logrotate -d /etc/logrotate.d/nginx

https://i-blog.csdnimg.cn/direct/6d9764c684fb4df59597275fb5504fde.png

2.5. 手动运行logrotate

如果需要立即轮换日志,可以手动运行:

-f :强制执行。

sudo logrotate -f /etc/logrotate.d/nginx

2.6. 自动运行logrotate

logrotate 通常通过 cron 自动运行,检查 /etc/cron.daily/logrotate 文件是否存在,确保其可执行:

如果文件不存在,继续下一步。

2.6.1. 创建 /etc/cron.daily/logrotate 文件

使用文本编辑器(如 nano 或 vim )创建该文件:

sudo nano /etc/cron.daily/logrota

2.6.2. 添加内容

在文件中添加以下内容:

这段脚本的作用是:

调用 logrotate 并指定配置文件为 /etc/logrotate.conf 。

检查 logrotate 的退出状态,如果非正常退出,则记录日志。 https://i-blog.csdnimg.cn/direct/0b5d7da2885e45eeb3b47ff8a5e81121.png

2.6.3. 设置文件权限

确保文件具有可执行权限:

sudo chmod +x /etc/cron.daily/logrotate

2.6.4. 验证

你可以手动运行该脚本来验证其是否正常工作:

sudo /etc/cron.daily/logrotate

二、实验结果

我们这里是进入log目录下查看是否分割日志:

https://i-blog.csdnimg.cn/direct/907a58050edf484e87f19bcd0ed961f6.png

三、实验结论

聚合网络和日志分割的实验结论表明,通过聚合网络,有效提升了数据传输效率和系统可扩展性;而日志分割技术则显著优化了日志管理和分析性能,降低了存储成本,提高了故障排查效率。两者结合,为大型系统的运维和管理提供了有力支持。