Redhat/CentOS系统常见问题

UEFI模式下安装Redhat/CentOS 6.x或7.x系统时加载raid卡驱动教程

问题描述

UEFI模式下安装Redhat 6.x/7.x系统时,和信息技术网上系统安装教程中的leagcy模式加载驱动方式不同。

问题原因

legacy模式,和UEFI模式加载阵列卡驱动有所不同。

解决方案

如果安装中确认需要加载阵列卡raid卡驱动,

进入GRUB菜单,移至”Install Red Hat Enterprise Linux 7.X”一行上按”E”键编辑启动参数。

在linuxuefi 这行”quiet”前输入(空格)”dd”,然后按”Ctrl+X”组合键。

找到驱动所在的U盘,如”2) sda1″,输入数字”2″。

注意:如果没有识别到设备,需要先输入字母”R”刷新一次。剩余步骤和浪潮信息技术网一样。

 

安装Redhat/CentOS系统时提示Unsupported Hardware Detected(硬件不支持)

问题描述

在安装在Redhat/CentOS系统时,有时会报错如下信息:Unsupported Hardware Detected,This hardware(or a combination thereof) is not supported by RedHat. For more information on supported hardware, please refer to http://www.redhat.com/hardware

问题原因

Redhat/CentOS系统对于不同类型的CPU有不同的兼容性要求。

RedHat官方说明:https://access.redhat.com/support/policy/intel

例如:

Intel IvyBridge系列CPU E5-26xx/46xx/88xx V2需要6.4/7.0及以上版本才能支持;

Intel Haswell系列CPU E5-26xx/46xx V3需要6.5/7.0及以上版本才能支持;

Intel Haswell系列CPU E5-88xx V3需要6.6/7.1及以上版本才能支持;

Intel Broadwell系列CPU E5-26xx/46xx/88xx V4需要6.7/7.2及以上版本才能支持。

解决方案

忽略此提示继续安装即可,或者更换为上述要求的版本。当您使用PXE网络自动安装时,可在kickstart文件中添加unsupported_hardware参数(从RHEL/CentOS 6.4开始支持此参数),可以自动跳过此提示。可参考:https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-kickstart2-options.html

安装Redhat/CentOS 6.5时选择了freeipmi相关软件包,可能导致服务器不定时重启。

问题描述

服务器不定时重启,收集日志查看,在意外关闭时间点之前十几分钟到二十几分钟内,会有bmc-watchdog报错,类似如下:

/usr/sbin/bmc-watchdog[xxxx]: fiid_obj_get:’present_countdown_value’: data not available

问题原因

此问题属于Redhat/CentOS 6.5系统Bug,官方说明:https://access.redhat.com/site/solutions/628963

初步分析是freeipmi无法正确重置watchdog timer,导致watchdog timer归零,从而触发BMC发送重启指令。

解决方案

方法一:卸载掉如下4个软件包

卸载时请使用rpm -e –nodeps命令,否则在卸载freeipmi-1.2.1-3.el6.x86_64时会提示conman-0.2.7-2.el6.x86_64和这个包有依赖关系。

方法二:升级freeipmi到1.2.1-6.el6_5或更新版本。

下载地址:http://rhn.redhat.com/errata/RHBA-2013-1795.html

升级指令:yum update freeipmi

升级完成需要启动服务,使用root用户登录,在/etc/modprobe.d/watchdog‐reboot‐workaround.conf文件中添加如下内容:

alias acpi:IPI000*:* ipmi_si

alias acpi:IPI000*:* ipmi_devintf

alias acpi:IPI000*:* ipmi_msghandler

然后执行以下命令:

# modprobe ipmi_devintf

# modprobe ipmi_msghandler

# modprobe ipmi_si

# service bmc‐watchdog condrestart

UEFI模式下安装Redhat/CentOS 6.x或7.x系统时如果选择了tboot软件包,系统装完无法启动。

问题描述

UEFI模式下安装Redhat 6.x/7.x系统时如果选择了tboot软件包,系统装完无法启动。提示:invalid magic number:0 Error 13:Invalid or unsupported executable format

问题原因

tboot在UEFI模式下不工作,导致系统无法启动。

解决方案

方法一:安装系统时请不要使用UEFI模式,而是Legacy传统方式。

方法二:如果一定要用UEFI模式安装系统,请不要选择tboot包。

SATA硬盘直连主板情况下安装Linux系统时,硬盘被识别为/dev/mapper/ddf1而不是/dev/sdX问题。

问题描述

安装系统时看不到本地磁盘,并且提示:”Disk sda,sdb contain BIOS RAID metadata, but are not part of any recognized BIOS RAID sets. Ignoring disks sda, sdb”,如下图:

问题原因

硬盘以前做过SATA RAID,且RAID信息没有完全删除,而Linux系统可以识别

到硬盘上的软RAID信息,并将硬盘标记为/dev/mapper/ddf1…的设备名,而不是/dev/sda这样的名称。

解决方案

在系统安装过程中,当发现硬盘被识别为/dev/mapper/ddf1….时,请先停止安装,参考《Intel SATA RAID配置文档》确认RAID已经删除,并且BIOS中SATA模式已改成AHCI。

如果以上操作无效,硬盘仍然被识别为/dev/mapper/ddf1….此时请按键盘上的Ctrl+Alt+F2进入后台命令行,执行以下操作。

1)查看当前软RAID情况:

# dmraid -r /dev/sda

/dev/sda: ddf1, “.ddf1_disks”, GROUP, ok, 976496964 sectors, data@ 0

软Raid配置文件会保存在当前目录下,或者当前目录的dmraid下。如果没有生成ddf1文件,再执行dmraid -r -E /dev/sda

2)执行以下命令查看软Raid配置文件:

# ls -l sda_ddf1.*

-rw——- 1 root root 6144 Jun 10 04:06 sda_ddf1.dat

-rw——- 1 root root 13 Jun 10 04:06 sda_ddf1.offset

-rw——- 1 root root 10 Jun 10 04:06 sda_ddf1.size

3)清除Raid信息:

# dd if=/dev/zero of=/dev/sda seek=`cat sda_ddf1.offset` bs=1 count=6144     (count为sda_ddf1.dat文件的大小)

6144+0 records in

6144+0 records out

6144 bytes (6.1 kB) copied, 0.0217024 seconds, 283 kB/s

# dmraid -r /dev/sda No RAID disks and with names: “/dev/sda”——>阵列信息被清除。

如果以上操作依然无效,或者始终不能生成软RAID配置文件,则无法使用本方法清除RAID,需要将硬盘拿到普通PC上进行低级格式化处理,低格完成即可正常使用。

RAID卡和HBA卡共存时,RHEL/CentOS 6.x系统启动时发生盘符漂移问题。

问题描述:

在RHEL 6中安装HBA卡并映射磁盘后,出现盘符漂移情况。比如原来系统盘所在的盘符为/dev/sda,映射磁盘并重启系统后,系统盘符变为最后一个,如

/dev/sdf。

问题原因:

Linux内核中,SCSI硬盘盘符的分配与驱动扫描到的硬盘先后顺序有关,即第一块扫描到的硬盘盘符为/dev/sda,第二块盘符为/dev/sdb … 依次类推。

一般情况下,驱动扫描到的硬盘顺序与不同类型SAS/RAID控制器驱动加载顺序有关。如先加载Raid卡驱动,则该RAID控制器下的硬盘会首先分配盘符,即/dev/sda所对应的硬盘在该RAID控制器下。若先加载HBA卡驱动,则HBA卡映射过来存储卷会首先得到盘符,此时/dev/sda指的是HBA卡下面的存储。

因此,发生盘符漂移的原因是HBA/RAID控制器的驱动加载顺序发生了变化。而加载顺序是udev机制配置文件决定的。

解决方案:

在通过udev机制加载驱动前,内核先加载initramfs文件中01parse-kernel.sh脚本中的rdloaddriver参数。因此,我们只需在发生盘符漂移的机器的grub.conf文件中指定驱动的加载顺序即可。

例如先加载megaraid_sas驱动(LSI Raid卡驱动名字),再加载qla2xxx驱动(Qlogic HBA卡驱动名字),可以在grub.conf文件中kernel一行最后添加参数如下:

title Red Hat Enterprise Linux (2.6.32-358.el6.x86_64)

root (hd0,0)

kernel /vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=e3469fb3-54b0-4207-9aab-7ead38ea4f9a rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet rdloaddriver=megaraid_sas  rdloaddriver=qla2xxx

initrd /mpp-2.6.32-358.el6.x86_64.img

如果是Adaptec Raid卡,驱动名称是aacraid

如果是Emulex HBA卡,驱动名称是lpfc

如果系统下安装了RDAC多路径软件,HBA卡驱动要选择mppUpper

经验证,实际上只需添加Raid卡驱动的参数就行了。

Redhat/CentOS 6.3系统进入图形界面死机问题

问题描述:

RHEL6.3系统启动图形界面后,鼠标操作延迟,并且很快出现死机。如果进入命令行模式则正常。

 

问题原因:

此问题产生跟内核有一定的关系,6.3的内核与图形界面及部分设备的驱动存在兼容性的错误。这个错误的产生与 intel的iommu的功能有关。

查看系统日志时,会有如下报错:

Sep 21 13:32:21 localhost kernel: pcieport 0000:00:03.0: AER: Corrected error received: id=0018

Sep 21 13:32:21 localhost kernel: pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Physical Layer, id=0018(Receiver ID)

Sep 21 13:32:21 localhost kernel: pcieport 0000:00:03.0: device [8086:340a] error status/mask=00000001/00002000

Sep 21 13:32:21 localhost kernel: pcieport 0000:00:03.0: [ 0] Receiver Error (First)

解决方案:

先启动命令行界面,然后编辑/etc/grub.conf文件,可以看到里面有 intel_iommu=on内核选项,不能正常启动原因就在这里。将on更改成off,保存重启生效,可以正常进入图形化界面。

Redhat/CentOS 6.x系统下报错kernel:do_IRQ: x.x No irq handler for vector (irq -1)

问题描述:

问题原因:

驱动卸载函数中,忘记调用pci_disable_device()函数来关闭PCI设备,或者关闭PCI设备失败。导致request_irq()中申请到的中断向量vector与该PCI设备对应关系,可能不会被解除。于是当再次加载该PCI设备驱动后,PCI设备发出中断,内核仍然会以旧的中断向量vector来解析中断号。但此时vector是第一次驱动加载时,内核分配的vector;而驱动卸载调用free_irq()将vector与物理中断号irq对应关系解除。于是解析到的irq为0xffffffff。

解决方案:

编辑/etc/grub.conf文件,在kernel一行最后添加 pcie_aspm=off,保存重启生效。

Redhat部分版本连续运行208天可能触发panic或自动重启

问题描述

操作系统长时间运行达到208.5天后,会因为sched_clock()计数器溢出而导致内核崩溃kernel panic。如果操作系统配置了kdump,到时候会触发kdump机制而自动重启。

而且某些进程还会在日志中产生类似如下报错:

BUG: soft lockup – CPU#N stuck for 4278190091s!

问题原因

该问题的产生与操作系统Time Stamp Counter (TSC) clock source有关,采用TSC时钟源的系统会触发此Bug。

使用下面的命令可以查看当前系统所使用的时钟源:

cat /sys/devices/system/clocksource/clocksource0/current_clocksource

Redhat官方描述如下:

  • An insufficiently designed calculation in the CPU accelerator in the previous kernel caused an arithmetic overflow in thesched_clock()function
    • This overflow led to a kernel panic or any other unpredictable trouble on the systems using the TSC clock source
    • This problem will occur only when system uptime reaches or exceeds 208.5 days
    • This update corrects the aforementioned calculation so that this arithmetic overflow and kernel panic can no longer occur under these circumstances
  • On RHEL5, this problem is a timing issue and is very unlikely to be encountered.
  • Switching to another clocksource is usually not a workaroundfor most workloads
    • The TSC is a fast access clock, whereas the HPET and PMTimer are both slow access clocks
    • Using notsc would be a significant performance hit
    • In RHEL5, the affected sched_clock()uses the TSC regardless of clock source selection.
    • Also, in some situation, the system may hit this issue even if you set notsc to current_clocksource.

解决方案

此问题属于Redhat系统Bug,需要联系Redhat获取内核更新(只有购买了正版授权才能获取更新资料),升级内核解决。

Redhat/CentOS系统版本与内核版本对应关系

Red Hat Enterprise Linux 5 (Tikanga), 2007-03-14. kernel 2.6.18-8

5.1, also termed Update 1, 2007-11-07 (kernel 2.6.18-53)

5.2, also termed Update 2, 2008-05-21 (kernel 2.6.18-92)

5.3, also termed Update 3, 2009-01-20 (kernel 2.6.18-128)

5.4, also termed Update 4, 2009-09-02 (kernel 2.6.18-164)

5.5, also termed Update 5, 2010-03-30 (kernel 2.6.18-194)

5.6, also termed Update 6, 2011-01-13 (kernel 2.6.18-238)

5.7, also termed Update 7, 2011-07-21 (kernel 2.6.18-274)

5.8, also termed Update 8, 2012-02-20 (kernel 2.6.18-308)

Red Hat Enterprise Linux 6 (Santiago), 2010-11-10. kernel 2.6.32-71

6.1 also termed Update 1, 2011-05-19 (kernel 2.6.32-131)
6.2 also termed Update 2, 2011-12-06 (kernel 2.6.32-220)
6.3 also termed Update 3, 2012-06-20 (kernel 2.6.32-279)
6.4, also termed Update 4, 2013-02-21(kernel 2.6.32-358)
6.5, also termed Update 5, 2013-11-21(kernel 2.6.32-431)
6.6, also termed Update 6, 2014-10-13(kernel 2.6.32-504)
6.7, also termed Update 7, 2015-07-22(kernel 2.6.32-573)
6.8, also termed Update 8, 2016-05-10(kernel 2.6.32-642)

Red Hat Enterprise Linux 7 (Maipo), 2014-06-10. kernel 3.10

Release General Availability Date redhat-release Kernel Version
RHEL 7.0 Beta 2013-12-11 3.10.0-54.0.1
RHEL 7.0 GA 2014-06-09 3.10.0-123
RHEL 7.1 2015-03-05 2015-03-05 3.10.0-229
RHEL 7.2 2015-11-19 2015-11-19 3.10.0-327

Linux操作系统使用scp拷贝文件速度慢问题

问题描述

Linux系统下使用scp命令在服务器间网络拷贝文件速度慢,例如千兆网络最高可能只有30-40MB/S,远小于网络带宽和磁盘性能。

问题原因

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令。scp在拷贝文件前需要先加密,而加密需要消耗较多CPU资源,并且scp命令是单线程的,也影响了数据传输速度。

解决方案

更改加密方式:scp -c arcfour,实测在万兆网络环境下速度可以达到130MB/S。

注意:请不要使用scp拷贝文件方式测试网络带宽。

Linux系统下CPU、内存识别不全问题

问题描述

BIOS下面CPU、内存识别正常(这是前提),但系统下用cat /proc/cpuinfo和free命令查看CPU和内存比实际要少。

问题原因

常见原因有如下两个

1、/boot/grub/menu.lst文件中有nosmp参数,将smp功能禁用,所以只能识别到1个cpu的1个核心。

2、安装了虚拟化Xen内核,此时用cat /proc/cpuinfo和free命令看到的只是分配给主机的资源,其他资源是系统保留给虚拟机使用的。

解决方案

1)可以查看dmesg日志,检查有无nosmp参数,如果有,如下:

2)可以修改/boot/grub/menu.lst,将nosmp删除就可以识别cpu正常。使用uname -a查看当前系统是否是xen内核,如果是,如下:

Linux version 2.6.18-238.12.1.el5xen

应当使用xm info查看所有的cpu、内存资源。

Linux系统装完以后网卡无法使用,灯不亮问题。

问题描述

Linux系统装完以后网卡无法使用,ifconfig看不到网卡信息,插上网线网卡灯不亮。

问题原因

在安装Linux系统时如果没有配置网卡,则装完以后网卡默认不激活。

解决方案

修改网卡配置文件,激活网卡并重启网络服务。

配置文件位于/etc/sysconfig/network-scripts/目录下,例如ifcfg-eth0,内容如下:

DEVICE=eth0

ONBOOT=yes

HWADDR=00:30:48:7f:b5:ca

TYPE=Ethernet

NETMASK=255.255.255.0

IPADDR=192.168.1.100

GATEWAY=192.168.1.254

BOOTPROTO=static

请将标红部分ONBOOT参数改成yes,然后执行service network restart命令重启网络服务。