62、Linux 故障排除全攻略

Linux 故障排除全攻略

1. 内核启动问题排查

1.1 内核启动过程

当你选择好要启动的内核后,引导加载程序会尝试运行内核,包括初始 RAM 磁盘的内容,这里面包含了启动特定硬件所需的驱动程序和其他软件。

启动内核时,对于 RHEL 系统,你会看到一个带有缓慢旋转图标的 Red Hat Enterprise Linux 屏幕。若想查看详细的启动过程消息滚动,按下 Esc 键即可。

1.2 关注硬件驱动加载情况

此时,内核会尝试加载使用计算机硬件所需的驱动程序和模块。需要重点关注可能导致某些功能无法正常工作的硬件故障,虽然现在这种情况比以前少见,但仍可能存在硬件没有可用驱动,或者加载了错误的驱动而导致错误。

1.3 查看内核启动消息

内核启动时产生的消息除了在屏幕上滚动显示外,还会被复制到内核环形缓冲区。计算机完全启动后,你可以登录系统,使用以下命令将这些内核消息捕获到一个文件中,再使用 less 命令查看:

# dmesg > /tmp/kernel_msg.txt
# less /tmp/kernel_msg.txt

你可以将内核消息定向到一个文件(文件名可随意选择),以便后续检查或发送给能帮助调试问题的人。要重点关注未能加载的驱动程序或显示硬件某些功能未能启用的消息。

1.4 示例问题解决

例如,曾经遇到电视调谐卡检测到错误的调谐器类型,通过调谐卡的型号信息和故障类型,向卡的驱动程序传递选

这本书是James Kirkland做系统维护工作的结晶.本文档是英文版,很值得仔细研读。 本书详细介绍了Linux系统故障的诊断排除技巧,是作者长期实践经验的结晶。全书共分15章:第1章介绍系统引导、启动和关闭问题,这是所有Linux用户都会碰到的基本问题;第2章介绍系统运行中可能出现的错误;第3章、第4章介绍性能性能相关的工具;第5章至第7章介绍主要存储硬件及其故障诊断;第8章介绍Linux进程及其故障诊断;第9章讲解了系统备份恢复中如何诊断常见问题的知识;第10章至第15章介绍了Linux系统其他方面的故障诊断排除技巧,包括打印问题、安全问题、网络问题、登录问题等。   本书适用于Linux系统管理员及高级用户,对Linux系统感兴趣的用户也可将此书作为参考书。 第1章 系统引导、启动和关闭问题 1 1.1 引导加载程序 2 1.1.1 GRUB 2 1.1.2 LILO 10 1.1.3 当GRUB或者LILO不工作时进行引导 13 1.2 init进程和/etc/inittab文件 14 1.2.1 以多用户模式启动 17 1.2.2 init错误 19 1.3 rc脚本 20 1.3.1 确认模式 24 1.3.2 rc脚本中的启动问题 25 1.4 解决root文件系统的问题 27 1.4.1 从第二个硬盘引导 28 1.4.2 从援救CD引导 28 1.4.3 使用Knoppix CD重置丢失的root密码 30 1.4.4 使用Knoppix CD重新安装GRUB 30 1.4.5 从援救软盘引导 32 1.5 小结 32 1.6 附注 32 第2章 系统挂起和严重错误 33 2.1 操作系统挂起 34 2.1.1 诊断可中断挂起故障 34 2.1.2 诊断不可中断挂起故障 42 2.2 操作系统严重错误 44 2.2.1 诊断操作系统严重错误 44 2.2.2 诊断oops导致的严重错误 47 2.3 硬件机器检查 49 2.4 小结 50 第3章 性能工具 52 3.1 top 53 3.1.1 添加和移除字段 53 3.1.2 解释输出 55 3.1.3 保存自定义 56 3.1.4 批处理模式 57 3.2 sar 58 3.2.1 sar数据收集器 58 3.2.2 CPU统计数据 59 3.2.3 磁盘I/O统计数据 62 3.2.4 网络统计数据 63 3.3 vmstat 65 3.4 iostat 67 3.5 free 69 3.6 小结 69 3.7 尾注 69 第4章 性能 70 4.1 在可能的最低层开始故障诊断 70 4.1.1 使用raw命令将原始设备绑定到块设备 71 4.1.2 原始设备性能 72 4.1.3 使用dd命令确定连续I/O速度 73 4.1.4 使用sar和iostat测量磁盘性能 74 4.1.5 理解测试性能时I/O块大小的重要性 75 4.1.6 时间的重要性 76 4.1.7 确定块大小 77 4.1.8 队列的重要性 78 4.1.9 磁盘的多线程(进程)I/O 79 4.1.10 使用条带化lvol减少磁盘I/O紧张 80 4.1.11 条带化lvol单磁盘性能的比较 82 4.1.12 多路径I/O 83 4.2 文件系统 86 4.2.1 将日志记录到单独磁盘 86 4.2.2 确定文件系统请求的I/O大小 88 4.2.3 用小块I/O传输加载文件系统 88 4.2.4 利用文件系统的关键优势 91 4.2.5 Linux和Windows性能以及调整扇区对齐 92 4.2.6 使用bonnie++进行调整性能和基准测试 93 4.2.7 评估应用程序的CPU利用率问题 95 4.2.8 使用Oracle statspak 98 4.2.9 分配共享内存时“设备上无剩余空间”错误的故障诊断 101 4.2.10 其他性能工具 102 4.3 小结 103 第5章 针对PCMCIA和USB通过SAN添加新存储 104 5.1 配置 105 5.2 内核模块 106 5.3 通过PCI添加LUN 112 5.4 通过PCMCIA/USB添加存储 119 5.5 小结 122 第6章 磁盘分区文件系统 123 6.1 背景 123 6.1.1 IDE和SCSI 124 6.1.2 位计算 124 6.2 分区表/主引导记录:定位 126 6.3 分区表/主引导记录:CHS寻址 127 6.3.1 定义主分区 128 6.3.2 确定能否创建附加分区 130 6.4 分区表/主引导记录:逻辑分区/扩展分区 132 6.5 分区表/主引导记录:逻辑块寻址(LBA) 135 6.6 分区表/主引导记录:引导加载器 137 6.6.1 在使用过的驱动器上审查字节 139 6.6.2 BIOS初始化引导加载器 141 6.7 分区表/主引导记录:备份 141 6.7.1 分区恢复过程 142 6.7.2 演示故障 143 6.7.3 挂载分区 144 6.7.4 在ext文件系统中恢复超级块和信息结点表 146 6.8 更多案例 150 6.9 小结 153 第7章 设备故障置换 154 7.1 支持的设备 154 7.2 到哪里寻找错误 156 7.3 确定故障设备 158 7.4 故障设备的置换 165 7.5 小结 170 第8章 Linux进程:结构、挂起核心转储 171 8.1 进程结构和生命周期 171 8.1.1 进程/任务概述 171 8.1.2 进程关系 172 8.1.3 Linux进程创建 172 8.1.4 Linux进程创建的示例 173 8.1.5 进程创建小结 174 8.1.6 Linux进程终止 174 8.2 Linux线程 174 8.3 确定进程挂起 180 8.4 进程核心 186 8.4.1 信号 187 8.4.2 限制 189 8.4.3 核心文件 191 8.5 小结 192 第9章 备份恢复 194 9.1 备份介质 194 9.1.1 磁带 195 9.1.2 光盘存储 202 9.1.3 硬盘存储 202 9.2 备份范围 203 9.3 基本备份和恢复命令 204 9.3.1 tar 204 9.3.2 cpio 206 9.3.3 dump和恢复 208 9.3.4 dd 209 9.3.5 mkisofs 209 9.3.6 rsync命令 209 9.4 裸机恢复 210 9.5 确定磁带的内容 210 9.6 怎样辨别磁带的问题出自硬件还是软件 211 9.7 小结 213 第10章 cronat 214 10.1 cron 215 10.1.1 cron守护程序 220 10.1.2 kcron 222 10.2 anacron 224 10.3 at 225 10.4 诊断cron 227 10.5 小结 233 第11章 打印打印机 234 11.1 什么是假脱机程序 234 11.1.1 使用假脱机程序命令 235 11.1.2 假脱机程序“管道工程” 237 11.1.3 术语定义 240 11.2 打印机类型 242 11.3 连接类型 243 11.3.1 本地串行打印 244 11.3.2 本地USB打印 246 11.3.3 本地并行打印 249 11.3.4 远程打印 249 11.3.5 原始网络套接字打印 253 11.4 页面描述语言 255 11.5 通用打印诊断 256 11.5.1 映射假脱机环境 256 11.5.2 断点 257 11.6 小结 257 第12章 系统安全 258 12.1 什么是系统安全 258 12.1.1 主机安全网络安全的比较 258 12.1.2 什么是安全漏洞 259 12.1.3 主机安全漏洞分类 259 12.1.4 安全漏洞和暴露类型 261 12.1.5 增强主机安全的一般步骤 262 12.2 预防 262 12.2.1 SSH加密 262 12.2.2 诊断典型SSH问题 266 12.2.3 连接和登录失败 266 12.2.4 使用netfilter/iptables强化系统 271 12.2.5 什么是NAT 273 12.2.6 MANGLE表 273 12.2.7 使用iptables进行配置 273 12.2.8 iptables命令示例 277 12.2.9 保存配置 277 12.2.10 终止、验证状态和启动iptables 278 12.2.11 问题诊断示例 279 12.2.12 打补丁 283 12.2.13 遭受入侵后的恢复 284 12.3 小结 284 第13章 网络问题 285 13.1 OSI和TCP/IP层简介 285 13.2 诊断网络层问题 286 13.2.1 TCP/IP物理网络访问层的诊断 286 13.2.2 诊断网络层问题(OSI第三层、TCP/IP第二层) 297 13.2.3 诊断传输层(TCP和UDP)问题 314 13.2.4 诊断应用程序级的问题:TCP/IP模型的最后一层 329 13.3 小结 329 第14章 登录问题 330 14.1 /etc/password,/etc/shadow和密码时效 331 14.1.1 /etc/password和/etc/shadow 331 14.1.2 chage、passwd和usermod 332 14.1.3 /etc/passwd和/etc/shadow损坏 337 14.1.4 pwck 337 14.2 Linux配置造成的登录失败 338 14.2.1 /etc/securetty 338 14.2.2 /etc/nologin 339 14.3 PAM 339 14.3.1 功能 340 14.3.2 优先级 340 14.3.3 模块名 341 14.3.4 参数 341 14.3.5 /etc/pam.d 341 14.3.6 /etc/pam.conf 342 14.3.7 /lib/security 342 14.3.8 Linux-PAM资源 343 14.3.9 诊断PAM故障 343 14.3.10 验证模块 345 14.3.11 PAM中的漏洞 346 14.4 shell问题 347 14.5 密码问题 348 14.6 小结 350 14.7 尾注 350 第15章 X Windows问题 351 15.1 X背景 351 15.2 X组件 352 15.2.1 X Server组件 352 15.2.2 X客户端组件 360 15.3 X显示管理器 361 15.4 X桌面管理器(环境) 362 15.5 X故障诊断案例 363 15.6 小结 365 15.7 尾注 366
基于遗传算法的新的异构分布式系统任务调度算法研究(Matlab代码实现)内容概要:本文档围绕基于遗传算法的异构分布式系统任务调度算法展开研究,重点介绍了一种结合遗传算法的新颖优化方法,并通过Matlab代码实现验证其在复杂调度问题中的有效性。文中还涵盖了多种智能优化算法在生产调度、经济调度、车间调度、无人机路径规划、微电网优化等领域的应用案例,展示了从理论建模到仿真实现的完整流程。此外,文档系统梳理了智能优化、机器学习、路径规划、电力系统管理等多个科研方向的技术体系实际应用场景,强调“借力”工具创新思维在科研中的重要性。; 适合人群:具备一定Matlab编程基础,从事智能优化、自动化、电力系统、控制工程等相关领域研究的研究生及科研人员,尤其适合正在开展调度优化、路径规划或算法改进类课题的研究者; 使用场景及目标:①学习遗传算法及其他智能优化算法(如粒子群、蜣螂优化、NSGA等)在任务调度中的设计实现;②掌握Matlab/Simulink在科研仿真中的综合应用;③获取多领域(如微电网、无人机、车间调度)的算法复现创新思路; 阅读建议:建议按目录顺序系统浏览,重点关注算法原理代码实现的对应关系,结合提供的网盘资源下载完整代码进行调试复现,同时注重从已有案例中提炼可迁移的科研方法创新路径。
【微电网】【创新点】基于非支配排序的蜣螂优化算法NSDBO求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文提出了一种基于非支配排序的蜣螂优化算法(NSDBO),用于求解微电网多目标优化调度问题。该方法结合非支配排序机制,提升了传统蜣螂优化算法在处理多目标问题时的收敛性和分布性,有效解决了微电网调度中经济成本、碳排放、能源利用率等多个相互冲突目标的优化难题。研究构建了包含风、光、储能等多种分布式能源的微电网模型,并通过Matlab代码实现算法仿真,验证了NSDBO在寻找帕累托最优解集方面的优越性能,相较于其他多目标优化算法表现出更强的搜索能力和稳定性。; 适合人群:具备一定电力系统或优化算法基础,从事新能源、微电网、智能优化等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于微电网能量管理系统的多目标优化调度设计;②作为新型智能优化算法的研究改进基础,用于解决复杂的多目标工程优化问题;③帮助理解非支配排序机制在进化算法中的集成方法及其在实际系统中的仿真实现。; 阅读建议:建议读者结合Matlab代码深入理解算法实现细节,重点关注非支配排序、拥挤度计算和蜣螂行为模拟的结合方式,并可通过替换目标函数或系统参数进行扩展实验,以掌握算法的适应性调参技巧。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值