CentOS系统“Dropped”(意外终止/无法启动)的应对与预防指南
“Dropped”通常指系统意外终止、无法启动或网络连接被中断,常见诱因包括:
若系统无法正常启动,可通过以下步骤进入单用户模式或救援模式:
e
键编辑,找到linux
或linux16
行末尾添加init=/bin/bash
,按Ctrl+X
启动;或修改ro
为rw init=/sysroot/bin/sh
并切换根分区(chroot /sysroot
)修改关键配置(如/etc/fstab
)。/mnt/sysimage
),修复引导文件(如/boot/efi
下的shim.efi
)或重新生成GRUB配置(grub2-mkconfig -o /boot/grub2/grub.cfg
)。通过日志分析“Dropped”的根本原因:
journalctl -xe
查看近期系统日志(重点关注红色错误信息);/var/log/messages
(系统通用日志)、/var/log/secure
(安全日志)中的error
或fail
关键词(如ip_conntrack: table full
表示连接跟踪表溢出)。fsck -y /dev/sdXY
(sdXY
为故障分区,如/dev/sda1
)强制检查并修复;systemctl restart service_name
(如network
、httpd
)重启服务;yum update kernel
更新内核并重启(reboot
)。tar xvpfz backup.tgz -C /
恢复系统(恢复前需重新创建/proc
、/lostfound
等目录);若无备份,可使用extundelete
工具恢复误删除文件(需关闭服务避免数据覆盖);yum update
更新系统包,修复已知漏洞;/etc/sysconfig/network-scripts/ifcfg-eth0
(网卡名),设置BOOTPROTO=static
、IPADDR
、NETMASK
、GATEWAY
、DNS1
等参数,避免动态IP变更导致的中断;/etc/sysctl.conf
增加TCP缓冲区大小(net.core.rmem_max=16777216
)、调整连接超时(net.ipv4.tcp_fin_timeout=30
),减少半打开连接占用资源;firewalld
或iptables
限制不必要的端口访问(如仅允许SSH端口22),避免恶意流量冲击。/etc/selinux/config
设置SELINUX=enforcing
,并根据业务需求调整策略(如setenforce 1
临时启用);auditd
监控关键文件(如/etc/passwd
、/etc/shadow
)的访问,及时发现异常操作;/etc/ssh/sshd_config
中的PermitRootLogin no
),使用普通用户+sudo
提升权限;设置复杂密码(包含大小写字母、数字、特殊字符,长度≥10位)。top
、htop
、vmstat
等工具监控CPU、内存、磁盘I/O使用情况,及时扩容(如内存不足导致系统频繁swap);tar
、rsync
等工具制定自动备份计划(如每日备份/home
、/etc
目录),备份数据存储至异地(如云存储),确保数据可恢复。