错误提示没了_ESC错误排查-系统启动篇
# ECS从入门到精通(错误排查)
# Linux启动与登录问题
Linux 启动与登录问题是 ECS 的高频问题,而往往处理不及时会直接影响到 用户业务的正常可持续运行,因此也变成了我们处理问题优先级的重中之重。在云环境上影响 ECS 启动与登录的因素非常多,镜像、管控、虚拟化、底层 硬件、系统与文件异常等等,本文仅从系统与文件本身角度,在大量处理经验 的基础上,归纳总结了一些可能会引起系统启动与登录问题的排查点,并给出 几个比较常见的典型案例来具体展示和说明。
## 系统启动异常
### 1.部分 CentOS 系统启动黑屏,无异常报错的场景,可以 fsck 一下系统盘。
### 2.根分区空间满,以及 inode 数量耗尽。
### 3.升级内核或者从老的共享实例迁移到独享规格导致的启动异常。
#### 3.1 手动注入驱动 (mkinitrd virtio 相关驱动 )。
#### 3.2 修改 grub 的启动顺序,优先尝试使用老内核启动。
#### 3.3 /boot 目录下面内核的关联文件是否全(下面仅为 demo,不同系统内核版
本文件不一致,部分内核版本 boot 下的 i386 目录也是有用的)。
#### 3.4 /boot/grub/device.map 里面的 hda 改成 vda。
### 4.fstab/grub 中的 uuid 不对,可以直接修改为 /dev/vda1 这种形式尝试。
数据盘分区异常加载起不来的场景,可以去注释 fstab 所有的行,添加类似下面
的启动项尝试,也适用于系统盘快照创建云盘挂载后,uuid 一致导致的启动异
常,改成非 UUID 的挂载即可。
### 5.根目录权限 777(部分目录 777)也会导致启动异常,或者 ssh 登陆异常。
可尝试使用以下链接修复:
Linux误操作777之后的恢复方法-阿里云开发者社区
### 6.常见的关键目录缺失,有的是软链,也可以看看对应目录下面的文件数量(文件 数量要跟同内核版本或者相差不大的版本对比),简单判断。
如果参数设置不当,是会导致启动异常的,如 /etc/sysctl.conf 以及检查 rc.local
的配置,profile 的检查。
### 8. CentOS 的 selinux 需要关闭。
## root 登录异常
1. /etc/passwd /etc/shadow ( 用户名 root polikt dbus 等关键用户存在与否,文件为空,格式(dos2unix)。
2. /etc/pam.d 目录下是否有为空的文件及参数设置是否正常,如常见的 sys-tem-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. 系统日志也是一个比较重要的检查项(后面会介绍无法登陆怎么检查)。
8. Ubuntu 12.04 登陆异常 在 /etc/login.defs 里面配置了错误的 ERASECHAR 导致,恢复默认 0177 即可。
9. 输入 root 后直接 login 失败三连,日志如下。
找个同内核版本的机器对比发现没有 /etc/pam.d/login。
rpm 包校验一下,确认 login 文件没了,手动创建一个,内容拷贝过来,好了。
10. /etc/ssh/sshd_config 相关参数如 LoginGraceTime/Allowusers/Permit-RootLogin。
11. 问题不好确认的时候,可以将 shadow 密码字段清空,看看登陆是否正常,可以判断是否到密码验证阶了。
之前有过一篇关于 ssh 问题排查的文档,可参考:
一个有意思的SSH登陆案例-阿里云开发者社区
### 系统登陆不进去了,不挂盘的情况下怎么操作?
上面的检查点很多是需要切换到另外的系统环境下去做检查,比如挂载 LiveCD 或者 chroot 切换;但对于使用 ECS 的用户来说,阿里云暂还未提供实例挂载 ISO 镜像的功能,那么如何进行上面的操作呢?可以借助阿里云新推出的卸载系统盘功能,可以 把系统盘卸载掉,作为数据盘挂载到一个新的机器,这样就可以执行上面的检查了。
详见:卸载或挂载系统盘_云盘_块存储_云服务器 ECS-阿里云
###场景覆盖:
Linux 系统常见问题诊断覆盖以下场景:
Linux 系统常见启动问题修复覆盖以下场景:
## grub.conf 文件内容被清空了怎么办
简介:/boot/grub/grub.conf 被清空,系统启动就进入 grub 状态(CentOS 6.8)。
1.find /boot/grub/stage1。
显示为(hd0,0)。
2. 确认一下内核的具体版本
ls -l /boot 去看。
3. 手动设置 grub,具体步骤。
如果没有报错的话,即可成功启动,进入到系统内部后需要继续支持。
4. mount -e remount,rw / 重新挂载分区为读写。
5. service network restart。
如果提示 eth0 eth1 失败,ifconfig 看不到网卡的话
6. lsmod |grep net。
看下 virtio_net 这个驱动有没有,如果没有的话(网卡报错基本都不会有)。
7. insmod /lib/modules/2.6.32-696.3.2.el6.x86_64/kernel/drivers/net/virtio_net.ko。
8. 重启网络服务,嗨 ~ 网通了。
9. 登陆 ssh,找个同版本系统的 grub.conf拷贝一份过来,不然重启之后又进grub 了。
参考 系统诊断小技巧(8):如何修复grub损坏-阿里云开发者社区
## 巧妙利用 strace 查找丢失的文件
问题描述:客户反馈系统无法远程登陆,实际系统启动本身就有问题。
根据报错信息来看,是系统内读取 user 有问题,需要挂盘查看。
1.挂盘后 chroot 如下 ihave no name,这里本身就是有问题了,说明系统内缺少了什么文件导致异常。
2.strace 跟踪一下 chroot 的过程,看下丢失的文件。
3.查看对应文件的关系(测试机补图)。
4.确认系统上丢了最终的 libnss_files-2.12.so,尝试拷贝一个。
5.此时已经可以上网了,去拷贝一个同版本的文件试试吧。
## 小心 PAM 不让你登录
问题描述:
ssh 可以登陆,管理终端无法登陆 root,提示 login in...
先通过 ssh 方式登录系统,查看登录日志是否有异常。
似乎是 login 验证模块的问题进一步查看对应的配置文件 /etc/pam.d/login。
其中一行的作用为禁止本地登录,可以将其注释掉即可。
```
auth required pam_succeed_if.so user != root quiet
错误提示没了_ESC错误排查-系统启动篇相关推荐
- php 错误提示开启,php开启与关闭错误提示,php开启错误提示_PHP教程
php开启与关闭错误提示,php开启错误提示 windows系统开关php错误提示 如果不具备修改php.ini的权限,可以将如下代码加入php文件中: 代码如下 复制代码 ini_set(" ...
- 一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误。
一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误. 参考文章: (1)一个简单的解决方法:word文档打不开,错误提示mso.dll模块错误. (2)https://www.cn ...
- MFC工程 : view.h 包含错误, 提示 undeclared identifier 等错误
比如已有: testView.h testDoc.h resource.h mynewfile.cpp 如果要在mynewfile.cpp中添加testView.h, 有时会提示 undeclar ...
- php 错误提示,php怎么显示错误
php怎么显示错误? 调试PHP让浏览器提示错误的方法 一. php.ini中的display_errors的值改为On: 或者 php代码页顶部加上ini_set("display_err ...
- php 错误提示模板,php 关闭错误提示方法总结与性能分析
一,关闭notice错误提示 1.在php.ini文件中改动 error_reporting 改为:error_reporting=E_ALL & ~E_NOTICE 2.如果你不能操作php ...
- php访问参数错误,提示“无法访问参数错误”的4种解决方法
直接拔下usb设备而不是点击弹出.直接拔下usb设备会损坏甚至破坏扇区,是导致usb设备参数错误的原因之一.切记尽量使用"安全弹出usb"功能. usb接口问题.usb接口是电脑和 ...
- ajax php 错误提示,php – jQuery AJAX错误处理
从ajax调用返回的错误是从未成功的页面加载返回结果.可能是您的php页面返回了一个有效页面,但结果不是您想要的.这是在成功回归的情况下处理的.希望以下代码snippit有助于说明-- $.ajax( ...
- idea html 错误提示,Idea 代码编辑错误不飘红提示
洛谷P2055 [ZJOI2009]假期的宿舍 [二分图最大匹配] 题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 ...
- ad软件one pin错误是啥意思_AD19的错误提示大总结解释
AD19的错误提示大总结解释 错误提示解释 Error Reporting 错误报告选项卡共有6类: Violations Associated with Buses 有关总线电气错误的各类型(共 1 ...
最新文章
- javascript-XMLHttpRequest
- ORC文件存储格式的深入探究
- Leetcode--450. 删除二叉搜索树中的节点
- Stream中toMap引发NullPointerException____Stream的执行流程
- Web Service学习总结
- 真有钱!科大讯飞年中分红:共派发现金红利2.2亿元
- hdu 1018 Big Number(n!求位数)
- C语言输入中10A20B,C语言实验报告第3章答案.doc
- jmeter之线程组间变量的传递二
- maven 阿里下载源 setting.xml
- Python绘制污染玫瑰图
- 室外3D建图定位(0)Loam-3D激光定位算法的一些思考
- IDEA上的文字转拼音名
- 面向对象的编程(上)_方法的重载(overload)练习
- Python中flatten用法
- valgrind使用整理
- “公正”与“公平”之辨
- BMY、KMP、BM、BMHS算法性能比较
- 《算法笔记》(胡凡)day1-C语言与C++入门
- 连接服务器显示615,D-Link DIR 615无线路由器设置