Red Hat Enterprise Linux内核模块与故障排除

本文发布时间: 2019-Mar-22
一、内核以及模块操作系统组成1内核2shell 3应用内核的作用1管理内存2调度任务3驱动硬件4网络功能5安全6文件系统Grub菜单的配置文件内核=内核+内核模块内核存放路径 /boot/vmlinuz-2.6.18-164.el5内核模块的存放路径 /lib/modules/`unnamed -r`/kernel内核模块目录内容如下表:查看模块信息的命令:modinfo [OPTIONS…] MODULES常用参数如下表:查看已加载的模块: lsmod Module 模块名称 Size 模块加载到内存时所占的体积大小,单位是字节(Bytes) Used by 有哪些模块正在使用这个模块。如果有多个模块,则每个模块间会以逗号间隔开来手动加载模块:Insmod MODULE_FILE[PARAMETER=VALUE…] MODULE_FILE 要加载的模块文件名,必须是绝对路径 PARAMETER是参数名称 VALUE是该参数的值手动卸载模块:rmmod [-s,--syslog]MODULE… -s 代表要将卸载的信息记录记录到系统日志服务器卸载模块同样也会遇到依赖关系的问题,Red Hat Enterprise Linux提供一个名为modprobe的工具,语法如下:modprobe 常用参数:/proc/sys/中的内核参数文件/proc/sys/重要的目录表使用sysctl配置内核参数1使用sysctl查看内核参数 sysctl -a2使用sysctl修改内核参数 sysctl -w PARAMETER(内核参数名称)=VALUE(参数值)使用yum升级内核命令: yum –d 0 –y updatekernel二、故障排除在运行安装有Red Hat Enterprise Linux的服务器上,经过长时间的运行难免会遇到大大小小的故障,那么就需要我们对故障进行排查与分析后去解决。首先我们面对出现故障的服务器应该具备以下专业素质:1、紧张但不慌张;2、了解运行原理;3、做好各种情况的应对措施故障的排除成功与否,往往取决于丰富的经验与扎实的理论基础,但是还是可以归纳出几个简单的法则:1、搜集情报;2、找出原因(由上到下、由下到上);3、解决问题;4、追踪管控。技巧:1、保持干净;2、修改配置文件前先备份;3、熟悉修复工具与技术。如果系统出现故障,如不能正常运行或启动,那么我们应该对系统的启动流程有个清晰的认识。系统启动流程(1)初始化BIOS (2)执行启动加载器(3)载入内核(4)启动init 服务对于Red Hat Enterprise Linux系统中,提供具有修复系统功能的工具有:1、Runleve 1;2、Runlevel S ;3、Runlevel emergency。这些Runlevel能够暂时修改启动流程,以避开Red Hat Enterprise Linux的错误。Runlevel 1 可以在启动加载器执行时,要求启动后直接进入Runlevel 1.当开机直接进入Runlevel 1时,Red Hat Enterprise Linux会执行下列步骤。BIOS ---启动加载器---内核---init---rc.sysinit---rc1.d由于Runlevel 1 仅执行到rc1.d 便结束了。因此可以使用Runlevel 1来解决下列错误。进入Runlevel 2、Runlevel 3、Runlevel 4、Runlevel 5时所发生的错误。因为在开机至rc1.d的过程中不会执行任何PAM的客户端,可以利用Runlevel 1解决PAM子系统造成的错误。RunlevelS 单用户模式当开机时选择进入Runlevel S时,Red Hat Enterprise Linux会执行下列的程序。BIOS---启动加载器---内核---init---rc.sysinit可以利用Runlevel S来解决下列的状况。 Runlevel 1可以解决的问题。由于Runlevel S仅执行至rc.sysinit就结束,不会执行在Runlevel 1启动的服务,因此你可以通过Runlevel S来解决因Runlevel 1发生的错误。Runlevelemergency 当开机选择进入Runlevel emergency 时,Red Hat Enterprise Linux会执行下列的程序。BIOS---启动加载器---内核----init可以利用Runlevel emergency解决下列问题。 Runlevel S可以解决的错误。 rc.sysinit发生的错误。由于进入Runlevel emergency时根文件系统是只读的状态,所以无法直接修改Red Hat Enterprise Linux中的文件。如果你的Red Hat Enterprise Linux而在启动init服务之前因发生故障停止工作,此时我们就要依赖“救援环境”了。、挂载系统光盘,在BIOS里设置光盘启动,与安装系统一样。在boot:处输入linux rescue,就可以进入救援环境。当出现下面的画面,恭喜你,Anaconda已经成功地将硬盘中的Red Hat Enterprise Linux挂载到/mnt/sysimage/目录中了。按下【Enter】键结束这个画面后,Anaconda会提供一个shell。这个时候我们可以使用chroot命令来修改救援环境下的根目录:chroot DIRECTORY[COMMSNDS] DIRECTORY是需要进入根目录的路径名称,COMMANDS是修改根目录后要执行的命令,如果省略,则默认值为bash –i。三、常见错误与解决办法1、启动器加载错误(1)启动加载器损坏解决步骤:1进入救援环境,挂载硬盘中的Red Hat Enterprise Linux环境到救援环境。2使用chroot切换至硬盘的根目录文件系统3使用grub-install 重新安装GRUB至你的硬盘。修正后结束救援环境,即可重新启动Red Hat Enterprise Linux系统。2、配置错误解决步骤:1进入救援环境,挂载硬盘中的Red Hat Enterprise Linux环境到救援环境。2使用chroot切换至硬盘的根目录文件系统。该步骤可以略过。3使用vim修正GRUB的配置文件/boot/grub/grub.conf。如果没执行上一个步骤,则GRUB配置文件为/mnt/sysimage/boot/grub/grub.conf,修正后结束救援环境即可。3、无法挂载根目录系统当init启动后,会执行下列程序文件,以便初始化Red Hat Enterprise Linux的环境。 /etc/rc.d/rc.sysinit: 用来初始化系统的环境 /etc/rc.d/rc: 负责初始化Runlevel的环境 /etc/rc.d/rc.local:定制初始化工作(1)内核启动参数错误解决方法:仔细检查/etc/fstab的内容是否正确,rc.sysinit执行过程中的许多动作都与/etc/fstab的内容有关。(2)文件系统错乱Ext2文件系统的内容紊乱,造成挂载该文件系统时,发生严重错误而导致挂载失败。画面如下:使用超级用户登录系统,登录完毕后,使用fsck来检查并修复该文件系统。完成后,结束目前的shell。系统会自动重启。4、SELinux的故障排除(1)直接浏览/var/log/messages记录文件,许多故障可以凭借这个文件来找出故障原因,我们遇到故障时,应该多看看这个系日志文件。(2)使用SELinux故障排除工具1通过系统图形界面的菜单选项【系统】→【管理】→【SELinux故障排除】命令,便可启动SELinux故障排除工具。2通过命令:在X Windows System终端机仿真程序中执行sealter –b命令。(3)查看审核报告 auserch工具查找SELinux审核记录ausearch[OPTIONS…] 常用参数:除了auserach外,还可以使用aureport工具来产生SELInux审核报表aureport[OPTIONS…] 常用参数:5、忘记密码或密码错误(1)普通用户以超级用户(root)身份登入系统,使用passwd重新设置普通用户的密码即可。(2)超级用户1重新开机,在启动加载器中直接进入Runsevel 1;2使用passwd设置新的密码。完成后,结束Runsevel 1的shell即可继续系统启动流程,启动完成后,使用新的密码登陆系统。6、账号过期可以使用change –l查看账户与密码的有效期限。如果账号已过期,系统将会禁止该用户登录系统,这时可以使用change –E重新设置新的过期日期。 作为一名网管员,在服务器运行中,我们会遇到各种各样的故障与错误,我们需要根据自己的经验与理论知识来进行故障排除,并在不断学习充电中加强我们的运行维护能力与故障排除能力。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:10pm
栏目列表