【问题处理】linux常见问题处理

一、系统相关

1、U盘安装系统引导启动失败,提示"Could not boot"

- 问题描述:

U盘系统安装时引导失败,错误提示信息如下

dracut-initqueue[1250]:Warning:dracut-initqueue timeout - staring timeout scripts
dracut-initqueue[1250]:Warning:Could not boot.
dracut-initqueue[1250]:Warning:/dev/root does not exist

- 解决方法:

U盘系统安装时无法找到ISO路径,导致引导失败
重新进入系统安装界面,按下e编辑启动引导项,在hd:后面加上U盘路径,之后按下Ctrl-x重新引导启动
注:如服务器只有一个系统盘,则修改为hd:/dev/sdb4

2、系统升级内核之后引导启动失败,提示"warning:/dev/centos/root does not exist"

- 问题描述:

CentOS系统默认内核版本为3.10,升级内核版本至4.14后重启系统,系统引导启动失败进入dracut界面,提示"Could not boot warning:/dev/centos/root does not exist"

dracut-initqueue[1697]:Warning:dracut-initqueue timeout - staring timeout scripts
dracut-initqueue[1697]:Warning:Could not boot.
dracut-initqueue[1697]:Warning:/dev/centos/root does not exist
dracut-initqueue[1697]:Warning:/dev/centos/swap does not exist
dracut-initqueue[1697]:Warning:/dev/mapper/centos-root does not exist
Starting Dracut Emergency Shell...

【问题处理】linux常见问题处理_第1张图片

- 原因分析:

参考文档:
修改引导的硬件设备驱动
Centos7升级内核后无法启动解决办法

系统启动阶段,由于物理服务器RAID卡驱动未加载,无法读取系统盘位置,导致系统引导启动失败
驱动名称可根据服务器raid卡型号进行选择,示例将常见的几种模块(ahci megaraid_sas mpt3sas mpt2sas)都加载上

- 解决措施:
  • 修改/etc/dracut.conf配置文件,添加配置add_drivers+="ahci megaraid_sas mpt3sas mpt2sas"
[root@localhost ~]# cat /etc/dracut.conf | grep add_driver
add_drivers+="ahci megaraid_sas mpt3sas mpt2sas"
  • 执行dracut -f命令刷新内核
[root@localhost ~]# dracut -f

【问题处理】linux常见问题处理_第2张图片

二、服务相关

1、ssh连接失败,提示"ssh:connect to host xx port 22:Connection refused"

- 问题描述:

linux节点使用过程中,突然ssh连接失败,提示"ssh:connect to host xx port 22:Connection refused"
长ping节点ip网络可以互通,不能ssh连接故障节点,但是可以通过故障节点ssh其他节点

- 解决方法

检查故障节点22端口(lsof -i:22),若端口未启用,则检查openssh-server服务,尝试通过重装openssh-server服务解决

三、硬件相关

1、linux网卡识别不到,demsg提示"> ixgbe 0000:06:00.0: failed to load because an unsupported SFP+ module type was detected"

- 问题描述:

linux下可以看到网卡设备,但ip add无法查看到万兆网卡信息

[root@node45 ~]# lspci -vv | grep 10-Gigabit
02:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01)
- 解决方法:

demsg提示信息如下,万兆网卡与光模块不兼容导致

> ixgbe 0000:06:00.0: failed to load because an unsupported SFP+ module type was detected

卸载ixgbe内核模块,带allow_unsupported_sfp=1参数重新加载ixgbe模块

rmmod ixgbe
modprobe ixgbe allow_unsupported_sfp=1

注:如遇到ip add可以查看到万兆网卡,但网卡灯不亮的情况,可尝试ifup {网卡名称}解决

四、软件相关

1、运行程序报错,提示"version `GLIBCXX_3.4.22’ not found (required by xx)"

- 问题描述

环境信息及报错提示如下,当运行程序时,运行失败提示"version `GLIBCXX_3.4.22’ not found (required by xx)"

[root@node55 ~]# lsb_release -a
LSB Version:        core-4.1-amd64:core-4.1-noarch
Distributor ID:     CentOS
Description:        CentOS Linux release 7.6.1810 (Core) 
Release:            7.6.1810
Codename:           Core
[root@node56 ~]# gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
.
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by xx)
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by xx)
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by xx)
/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by xx)
/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by xx)
/lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by xx)

centos系统自带GLIBCXX版本过低(GLIBCXX_3.4.19),而软件编译使用了较高版本(GLIBCXX_3.4.22),运行时不兼容导致运行失败

[root@node56 x86_64]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX_
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH
- 解决方法

下载高版本gcc-8.4.0源码并编译安装

cd /usr/local/src
wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-8.4.0/gcc-8.4.0.tar.gz
tar -xvf gcc-8.4.0.tar.gz
cd gcc-8.4.0
sed -i "s|ftp://gcc.gnu.org/pub/gcc/infrastructure|http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure|" ./contrib/download_prerequisites 
./contrib/download_prerequisites
mkdir build
cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j16
make install

重新建立/lib64/libstdc++.so.6软链接

cp /usr/local/lib64/libstdc++.so.6.0.25 /lib64/
rm -rf /lib64/libstdc++.so.6
ln -s /lib64/libstdc++.so.6.0.25 /lib64/libstdc++.so.6

再次查看当前GLIBCXX版本,此时程序可正常运行

[root@node55 ~]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX_3
[root@node56 x86_64]# strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX_3
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.21
GLIBCXX_3.4.4

你可能感兴趣的:(Linux相关,linux,centos,服务器)