常见问题及解决问题的思路

常见问题

linux性能

客户反映服务器访问速度变慢

1.基本排查

  • top命令看cpu负荷,超过70%证明cpu算力不够
  • 查看网络连接数是否超出常态 netstat -an
  • sar 命令查看网络流量
  • 查看/var/log/messages有关键报错信息

2.怀疑硬盘有问题

  • df -Th查看磁盘是不是磁盘已满
  • dmesg看看是否网卡或者硬盘有问题

3.内存查看

  •   top命令查看负载,查看内存和swap是否过载,如果swap用量大证明内存不够

软件安装问题

软件安装不能执行或者冲突,有可能引起的是包问题,系统版本过低或者过高。常见的查看系统信息命令

命令功能
# uname -r
3.10.0-1160.11.1.el7.x86_64
1.查看系统内核版本

# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 42
model name      : Intel(R) Core(TM) i5-2537M CPU @ 1.40GHz
stepping        : 7
microcode       : 0x2f
cpu MHz         : 1806.054
cache size      : 3072 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2

....

cpu信息

# cat /proc/meminfo
MemTotal:        7782592 kB
MemFree:          138208 kB
MemAvailable:     107392 kB
Buffers:              20 kB
Cached:            94096 kB

...

 

 
 #cat /etc/system-release
CentOS Linux release 7.9.2009 (Core)
系统版本

#cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

系统详细版本

#uname -a

Linux pcserver 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
 

服务器内详细信息
 cat /proc/mounts
sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
/dev/mapper/centos-root / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=35,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=10205 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime 0 0
mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0
nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
/dev/mapper/centos-home /home xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
tmpfs /run/user/0 tmpfs rw,seclabel,nosuid,nodev,relatime,size=2452088k,mode=700 0 0
 
 
# cat /proc/swaps
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       12386300        79104   -2
 
swap 信息
# mii-tool -v  enp0s20u2
enp0s20u2: negotiated 100baseTx-FD flow-control, link ok
  product info: vendor 00:07:32, model 8 rev 2
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
查看网卡是否连接交换机
  

 

数据库

  • mysql数据库起不来

解决思路:

1)使用systemctl -l status mariadb查看出错信息,如果是配置文件出错,应该这里会有显示。起不来的话,也查看下3306端口是不是被占用,使用netstat -antpl 来查看

2)如果看不到明显出错信息,查看/var/log/maraidb/error.log. 查看服务软件的日志是最重要的一个方法。

3)如果查看不到有用信息,还需要查看/var/log/messages内容,这个log日志是syslog的日志,基本上系统级别的日志信息都会在此文件中体现。非常重要

  • mysql数据库作为主服务器,不能作为master启动

1) 基本上查看错误日志,应该没啥提示。那么就是配置文件中没有启用log-bin,记住要server_id设置唯一的数字

  • mysql数据库作为从服务器不能加入master作为slave机器。

1)master机器上有没有添加replication和slave的权限的用户让slave机器 访问

2)master上的防火墙是否没有关闭

3)slave机器上的change master命令是否将master_host写错,使用show slave status\G查看信息

4) 使用show processlist查看slave上的2个线程,io thead或sql thread是否启动

     a) 如果是io线程没启动,应该是master上没有授权或者没有关闭防火墙

     b)如果是sql线程没启动,那么应该是同步错误。

k8s

1) pod 在pengding状态

使用kubectl descibe pod podname查看出错信息

国外镜像是不是被墙

pvc是不是不成功

2)node节点加入不了

  • 看api-server的地址是否拼写错误,
  • api-server的机器防火墙是不是没关闭,
  • 每台机器上的机器名称和/etc/hosts文件中的名称是否对应,IP地址是否写正确。
  • 实在解决不了
    • 删除当前用户目录下的.kube ,.pki文件夹
    • 删除/etc/kubenetes文件夹
    • 删除/var/lib/kubenetes文件夹
    • 执行kubeadm reset 重置
    • 再执行加入命令

3)dashboard权限不够,看不到资源

创建admin user用户

4)pod起不来,PVC不能成功

  • pvc申请的读写方式和大小是否有匹配的PV,比如权限rwx的申请,不能匹配到rwo的pv
  • pvc申请的大小必须小于pv
     

web服务器

  1. nginx 404

  • root配置错误,或者配置的root下确实没有该文件,
  • 如果有这个文件,是否该资源被定向到其他的服务器,而其他的服务器返回了404

2) ningx 403

  • 1. nginx进程能否读写该资源
  • 2.文件夹下有没有默认的启动文件即:index的配置,index.html.index.htm index.php 等
  • 3) 目录下有没有打开浏览文件夹的权限,如果2没有配置好。

3) php文件直接下载

  • 1) php的配置,有没有转到9000端口
  • 2)提供9000端口的服务器是否启动
  • 提供9000端口的服务器(php-fpm)ip地址是否写错
  • 防火墙是不是没有关闭

一般的解决思路

1)查看服务器的端口,是否被占用 netstat -lnp ,一般服务器的端口列表如下

http80
mysql3306
tomcat8080
https443
pop3 接收邮箱110
dns域名解析53
nfs2049
redis6379
mongodb27017
php-fpm9000
oracle数据库服务器1521
sqlserver1433
smtp 邮件发送25
远程访问 3389
ssh ssh协议,putty,scp,ssh命令22

2)查看本服务的日志文件。一般在/var/log/xxxx/*.log

3)查看系统文件 /var/log/messages

4)防火墙 ,selinux

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老骥又出发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值