常见故障、Bug的处理
Nov
13
1.问题
因误操作,把磁盘中部分的文件删除了,需要进行恢复。
※ 注意:
在进行恢复前,不要对需要恢复的分区进行写入的操作。
如果分区在单独的磁盘上,应该把该磁盘卸载后,进行修复。(非 mount 状态)
如果分区与根分区在同一个磁盘上,那么,可以把分区挂载为 ro 只读状态;
如果需要修复的就是根分区所在的分区,那么,只能把机器关闭后,把磁盘挂载到其他的机器上进行修复。
◎ 修复的原理:
通过遍历文件系统的 journal ,找到对应的 inode 位置,然后组成正常的文件。
所以,若使用 mkfs.ext4 等格式化的磁盘,superblock 全部被刷写,则是无法修复的。
因误操作,把磁盘中部分的文件删除了,需要进行恢复。
※ 注意:
在进行恢复前,不要对需要恢复的分区进行写入的操作。
如果分区在单独的磁盘上,应该把该磁盘卸载后,进行修复。(非 mount 状态)
如果分区与根分区在同一个磁盘上,那么,可以把分区挂载为 ro 只读状态;
mount -o remount,ro /dev/sdX1
如果需要修复的就是根分区所在的分区,那么,只能把机器关闭后,把磁盘挂载到其他的机器上进行修复。
◎ 修复的原理:
通过遍历文件系统的 journal ,找到对应的 inode 位置,然后组成正常的文件。
所以,若使用 mkfs.ext4 等格式化的磁盘,superblock 全部被刷写,则是无法修复的。
Feb
7
今天收到一个老用户的电话,说一直在运行的Apache(HTTPD) 服务突然无法启动。据说没有修改任何的配置文件,就是昨晚重启机器后服务就无法起来了。类似的问题,首先排除的是系统和服务日志,messages 和httpd下面的error.log都没发现报错信息。在httpd 服务中加入-x 排错标记,发现是httpd 执行失败,怀疑与Apache 上额外的模块有关。把/etc/httpd/conf.d中的文件都移走,HTTPD服务可正常启动。逐一排除,发现问题是nss.conf 配置导致的。但从配置文件的修改时间来看,该文件在最近并没有修改,而是与其他配置一样都保持在系统刚安装的时间。
再次查看服务日志,从/var/log/httpd/nss_error_log 文件中看到如下的错误:
看来是证书过期了。
再次查看服务日志,从/var/log/httpd/nss_error_log 文件中看到如下的错误:
引用
[Thu Feb 07 05:17:42 2013] [error] Certificate not verified: 'Server-Cert'
[Thu Feb 07 05:17:42 2013] [error] SSL Library Error: -8181 Certificate has expired
[Thu Feb 07 05:17:42 2013] [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved.
[Thu Feb 07 05:17:42 2013] [error] SSL Library Error: -8181 Certificate has expired
[Thu Feb 07 05:17:42 2013] [error] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved.
看来是证书过期了。
Jul
9
某项目,使用红旗DC Server 5.0 连接远端的一台硬件VPN设备,使用PPTP(点对点隧道协议)。先按[原]Linux 下部署PPTP VPN -- 客户端一文进行配置,并加上MPPE模块支持。但连接时,后台日志报错:
引用
Jul 9 02:55:35 qktest pppd[17038]: Refusing MPPE stateful mode offered by peer
Jul 9 02:55:35 qktest pppd[17038]: MPPE required but peer negotiation failed
Jul 9 02:55:35 qktest pppd[17038]: Connection terminated.
Jul 9 02:55:35 qktest pppd[17038]: MPPE required but peer negotiation failed
Jul 9 02:55:35 qktest pppd[17038]: Connection terminated.
May
25
一台装有红旗安全操作系统 4.0(RedFlag Security OS 4.0)的机器,在启动时提示:
输入3后无法进入系统。按照《红旗安全操作系统4.0 安装分发手册》65页的“系统启动时出现大量avc提示后无法引导”一节的步骤操作,问题依旧。经分析,原来是/etc/inittab文件的安全标记与系统安全标记库不一致所造成的。
引用
Entering runlevel
输入3后无法进入系统。按照《红旗安全操作系统4.0 安装分发手册》65页的“系统启动时出现大量avc提示后无法引导”一节的步骤操作,问题依旧。经分析,原来是/etc/inittab文件的安全标记与系统安全标记库不一致所造成的。
May
23
HP 6200Pro MT安装Asianux 4.0 完成后,启动时显示“1999-Master Boot Record has changed. Press any key to enter Setup to Restore the MBR”。
May
22
把一块SATA硬盘加入机器中,安装Asianux 4.0时,报“Disk sda contains BIOS RAID metadata, but is not part of any recognized BIOS RAID sets, Ignoring disk sda” 错误。
Oct
28
某项目,使用红旗DC Server 5.0 SP4 for x86_64。在安装Oracle RAC后,本地终端无法登陆。在本地输入用户名和密码登陆,回车后,会重新返回初始登陆界面。这时,通过远程SSH方式访问,从后台日志可发现类似的报错:
经排查,故障原因是因为PAM配置文件中,调用了错误的链接库导致的。
引用
Oct 27 23:47:40 localhost login: PAM unable to dlopen(/lib/security/pam_limits.so)
Oct 27 23:47:40 localhost login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]
Oct 27 23:47:40 localhost login: PAM adding faulty module: /lib/security/pam_limits.so
Oct 27 23:47:47 localhost login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Oct 27 23:47:47 localhost login: Module is unknown
Oct 27 23:47:40 localhost login: PAM [error: /lib/security/pam_limits.so: wrong ELF class: ELFCLASS32]
Oct 27 23:47:40 localhost login: PAM adding faulty module: /lib/security/pam_limits.so
Oct 27 23:47:47 localhost login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)
Oct 27 23:47:47 localhost login: Module is unknown
经排查,故障原因是因为PAM配置文件中,调用了错误的链接库导致的。
Sep
5
Linux的引导是一个复杂的过程,像我不是搞开发的,无法理解底层实质的运作。
看过很多网络文章及书籍,感觉都不合自己的心意,集百家之长,才做出以下流程图。所谓:“一人技短,二人技长。”,还希望各位网友多多给出意见及斧正。多多益善。
看过很多网络文章及书籍,感觉都不合自己的心意,集百家之长,才做出以下流程图。所谓:“一人技短,二人技长。”,还希望各位网友多多给出意见及斧正。多多益善。
Jul
6
当系统出现问题时,我们会进入拯救模式以便进行修复。但Asianux 4.0取消了NetCat(简称nc),导致网络备份文件比较麻烦。幸好,其把sshd加进入了,所以,我们可以打开SSH服务,来满足需要。
Jul
3
用Vmware ESX 测试Asianux 4.0,无论用什么方式安装,到glibc-common时都提示介质错误。但改用真实笔记本就很正常,奇怪!后来,用最小化方式安装,又没有问题。完成后,用yum groupinstall 把各组件再加上去,暂时运行还挺正常。不过,当我修改了VMware 设置的网卡MAC 地址后,启动网卡时,报错:
这本是一个很常见的问题,本以为修改/etc/sysconfig/network-scripts/ifcfg-ethx中的HWADDR字段为新的MAC地址即可,却发现Asianux 4.0 下无效!?
引用
Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization. [FAILED]
这本是一个很常见的问题,本以为修改/etc/sysconfig/network-scripts/ifcfg-ethx中的HWADDR字段为新的MAC地址即可,却发现Asianux 4.0 下无效!?
May
10
以前只是看的枯燥的文字版的服务器返回状态码。现在,看一张比较形象的图解,希望能增强记忆。