这些年积攒的系统起不来以及root登陆异常排查的点

简介: 最近在整理文档,这些年陆陆续续写了好多个不同排查点的文档去记录系统起不来,以及root登陆异常的案例,今天整理一下放出来,希望大家可以喜欢

> 作者:牧原

系统启动异常:
1,部分centos启动黑屏,无异常报错的场景,可以fsck一下系统盘

2,根分区空间满,以及inode耗尽

3,升级内核或者从老的共享实例迁移到独享规格导致的启动异常
3.1 手动注入驱动 (mkinitrd virtio相关驱动 )
3.2 修改grub 的启动顺序,优先尝试使用老内核启动
3.3 boot目录下面内核的关联文件是否全(下面仅为demo,不同系统内核版本文件不一致,部分内核版本boot下的i386目录也是有用的)

config-4.9.0-7-amd64 
initrd.img-4.9.0-7-amd64  
System.map-4.9.0-7-amd64 
vmlinuz-4.9.0-7-amd64

3.4 /boot/grub/device.map里面的hda改成vda

4,fstab/grub中的 uuid不对,可以直接修改为/dev/vda1这种形式尝试
数据盘分区异常加载起不来的场景,可以去注释ftab所有的行,添加类似下面的启动项尝试,也适用用系统盘快照创建云盘挂载后,uuid一致导致的启动异常,改成非UUID的挂载即可

/dev/vda1 / ext4 defaults 1 1

5,根目录777(部分目录777)也会导致启动异常,或者ssh登陆异常  
可参考我之前的文章仅限修复尝试
https://yq.aliyun.com/articles/761371

6,常见的关键目录缺失,有的是软链,也可以看看对应目录下面的文件数量(文件数量要跟同内核版本或者相差不大的版本对比),简单判断

/bin  /sbin /lib  /lib32 /lib64 /etc /boot /usr/bin /usr/sbin /usr/lib /usr/lib64等目录或文件缺失
for i in /bin  /sbin /lib  /lib32 /lib64 /etc /boot /usr/bin /usr/sbin /usr/lib /usr/lib64 ;do ls -l $i |wc -l ;done

7,影响启动的参数
如果参数设置不当,是会导致启动异常的,如/etc/sysctl.conf以及检查rc.local的配置,profile的检查

vm.nr_hugepages 
vm.min_free_kbytes

8,centos的需要selinux需要关闭,走

# cat /etc/selinux/config   
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled 把这一行改成disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

root登录异常类:

1,/etc/passwd /etc/shadow (用户名 root polikt dbus等关键用户存在与否,文件为空,格式乱(dos2unix)

2,/etc/pam.d 目录下是否有为空的文件及参数设置是否正常,如常见的 system-auth passwd

3,/etc/pam.d 下面所有文件里面涉及的so文件,看看文件是否存在,是否为空 /usr/lib64/security  

4,查/etc /lib64 /bin /sbin /usr/bin /usr/sbin等目录有没有size为0的文件

5,/etc/profile /etc/profile.d(打印列表)  /etc/bashrc /root/.bash_profile /root/.bashrc 等涉及登陆环境设置的文件是否异常

6,注意内核版本,是否存在新老内核,多更换几个内核试下  

7,系统日志也是一个比较重要的检查项(后面介绍下无法登陆怎么检查)

9,ubuntu1204登陆异常 在/etc/login.defs 里面配置了错误的ERASECHAR导致,恢复默认0177即可

configuration error - cannot parse erasechar value

10,输入root后直接login失败三连,日志如下
找个同内核版本的机器对比发现没有/etc/pam.d/login 有一个login.defs
rpm包校验一下,确认login没了,手动创建一个,内容拷贝过来,好了

[root@iZbp1cabe6lyx26ikmjie2Z pam.d]# rpm -V util-linux
missing   c /etc/pam.d/login
[root@iZbp1cabe6lyx26ikmjie2Z pam.d]# rpm -ql util-linux|egrep -vi "gz|mo|share"
/etc/mtab
/etc/pam.d/chfn
/etc/pam.d/chsh
/etc/pam.d/login
/etc/pam.d/runuser
/etc/pam.d/runuser-l
/etc/pam.d/su
/etc/pam.d/su-l

12,/etc/ssh/sshd_config 相关参数如 LoginGraceTime/Allowusers/PermitRootLogin

13,问题不好确认的时候,可以将shadow密码字段清空,看看登陆是否正常,可以判断是否到密码验证阶段了

之前有些过一篇关于ssh问题排查的文档,可参考
https://yq.aliyun.com/articles/540769

系统登陆不进去了,不挂盘的情况下怎么操作?

阿里云新推出的卸载系统盘功能,可以把系统盘卸载掉,作为数据盘挂载到一个新的机器,这样就可以执行上面的检查了
详见:https://help.aliyun.com/document_detail/146752.html

嫌麻烦?

目前上面这些点,包括一些常见的参数优化,我们正在开发一套 “一键处理”及“一键检查”的系统,在控制台点点授权,上面涉及的很多常见的问题排查就可以自动处理了(通过oos创建一个新实例,把坏掉的实例系统盘挂载到新实例为数据盘,然后做检查修复等)~敬请期待

场景覆盖
Linux系统常见问题诊断覆盖以下场景:
image
Linux系统常见启动问题修复覆盖以下场景:
image

脚本共享给大家~


OS优化脚本github链接:https://github.com/huigher/os-performance-optimization

相关文章
|
运维 监控 安全
【ELK入门】Elastic中文社区运维监控实战之架构篇
阿里云MVP曾勇撰写的《ELK运维监控入门实战》系列,以Elasticsearch中文社区网站运维监控体系搭建作为案例,讲解了ELK监控系统的相关原理和技术实现,可作为对ELK感兴趣的同学的入门级文章。本篇作为第一篇,介绍了项目背景和技术架构。
7479 0
|
Cloud Native 架构师 测试技术
如何画好一张架构图?(内含知识图谱)
架构图是什么?为什么要画架构图?如何画好架构图?有哪些方法?本文从架构的定义说起,分享了阿里文娱高级技术专家箫逸关于画架构图多年的经验总结,并对抽象这一概念进行了深入地讨论。内容较长,同学们可收藏起来细细阅读。
16166 0
如何画好一张架构图?(内含知识图谱)
|
Arthas SQL 监控
重启大法好!线上常见问题排查手册
本文从线上实际问题和故障的排查出发,分享如何快速定位和恢复线上常见问题和故障,总结了很多实操的方法,希望对大家有用。
10963 3
重启大法好!线上常见问题排查手册
|
存储 弹性计算 运维
性能调优-ossutil 调优
使用 osstuil 工具遇到隐藏的性能提升参数,和排查小技巧;
4193 0
性能调优-ossutil 调优
|
容器 双11 Cloud Native
重磅发布 | 《不一样的 双11 技术,阿里巴巴经济体云原生实践》电子书开放下载
2019 双11,订单创新峰值达到 54.4 万笔/秒,单日数据处理量达到 970PB,面对世界级流量洪峰,今年的阿里巴巴交出了一份亮眼的云原生技术成绩单,并实现了100% 核心应用以云原生的方式上云: 双11 基础设施 100% 上云 支撑 双11 在线业务容器规模达到 200 万 采用神龙弹性裸金属服务器计算性价比提升 20%  这些数据背后是对一个个技术问题的反复尝试与实践。
46766 0
重磅发布 | 《不一样的 双11 技术,阿里巴巴经济体云原生实践》电子书开放下载
|
Cloud Native 安全 Java
架构简洁之道:从阿里开源应用架构 COLA 说起
COLA 的主要目的是为应用架构提供一套简单的可以复制、可以理解、可以落地、可以控制复杂性的”指导和约束"。在实践中作者发现 COLA 在简洁性上仍有不足,因此给 COLA 做了一次“升级”,在这次升级中,没有增加任何新的功能,而是尽量多删减了一些概念和功能,让 COLA 更简洁有效。
15361 1
架构简洁之道:从阿里开源应用架构 COLA 说起
|
开发者 数据库 容器
阿里开发者技术交流钉钉群汇总【2022】
欢迎大家扫码或者点击链接进群,有缺失的技术方向请在评论里提出,我们可以一起共建
62744 1
|
存储 关系型数据库 Java
【最佳实践】阿里云Logstash JDBC实现Elasticsearch与关系型数据库保持数据同步
为了充分利用阿里云 Elasticsearch 提供的强大搜索功能,很多公司都会在关系型数据库的基础上,部署 Elasticsearch。这种情况下,则需要确保 Elasticsearch 与所关联关系型数据库中的数据保持同步。 在本篇博文中,我会演示如何使用 Logstash 高效复制数据,将关系型数据库阿里云 RDS 中的数据更新同步到 Elasticsearch 中。
3305 0
【最佳实践】阿里云Logstash JDBC实现Elasticsearch与关系型数据库保持数据同步
|
存储 运维 监控
阿里云Elasticsearch日志增强版介绍
阿里云Elasticsearch官方在2017年的时候达成了非常紧密的战略合作关系。自此以后,一直在云上致力于为大家提供全链路的ElasticStack生态内所有的能力的一个托管服务。阿里云产品专家,洪阳和阿里云技术专家,志宸两位专家为大家带来阿里云Elasticsearch增强版的介绍。
41142 0
阿里云Elasticsearch日志增强版介绍
|
存储 监控 固态存储
【最佳实践】阿里云 Elasticsearch 索引数据生命周期管理
索引生命周期管理(ILM)是指:ES数据索引从设置,创建,打开,关闭,删除的全生命周期过程的管理;为了降低索引存储成本,提升集群性能和执行效率,我们可以通过对存储在阿里云 Elasticsearch 的数据做生命周期管理。
11143 0
【最佳实践】阿里云 Elasticsearch 索引数据生命周期管理