关于Linux系统启动自动加载模块

2024-06-19 18:58

本文主要是介绍关于Linux系统启动自动加载模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

故事缘由

某应用服务器搬迁至另一机柜,涉及需要重启服务器相关应用服务。

其中包括keepalived服务,此服务启动会自动检测系统自带模块ipvs模式是否加载,如果未启动,会在系统日志中频繁写入日志,最终导致磁盘被日志填满。

以上问题都是有ipvs模块未在系统启动之后自动加载导致。

由此大家开始对于系统模块自动加载开始分析

系统启动流程

  1. 读取服务器硬件信息,载入BIOS的硬件信息,并取得第一个开机装置的代号
  2. 读取第一个开机装置的MBR的bootLoader(/etc/grub.conf)的开机信息
  3. 载入系统内核(Kernel)信息,解压Kernel,尝试驱动硬件
  4. 内核(Kernel)执行init(/etc/inittab)程序并获得run-lebel信息(如3或5)
  5. 开始初始化(init)执行/etc/rc.d/rc.sysinit
  6. 启动内核外挂模块(/etc/modprobe.conf)
  7. 初始化(init)执行run-level的各种Scripts,启动系统及自启动的应用服务
  8. 初始化(init)执行/etc/rc.d/rc.local
  9. 执行/bin/login,等待用户Login
  10. 用户登录Login后进入Shell

模块自动启动

系统启动后自己调用部分模块,但是这些模块都是必须加载,有部分已经写入内核但是未加载的模块,不是必须的,比如ipvs模块。

模块地址:/lib/modules/`uname-r`/kernel/net/netfilter/ipvs

如果要让系统启动之后自己加载此类模块,其实系统已经有了说明。

打开/etc/rc.d/rc.sysinit文件

  1. Load other user-defined modules  
  2. for file in /etc/sysconfig/modules}  
  3.     module=${module%.ko}  
  4.     modprobe $module >/dev/null 2>&1  
  5.     done  
  6. fi  

重启服务器,进行测试(lsmod | grep ipvs)


原文:http://1k8k.com/?p=414

另一篇类似文章:http://ocelot1985-163-com.iteye.com/blog/980711

这篇关于关于Linux系统启动自动加载模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1075871

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n