紧急恢复指南:当Linux系统的启动或远程登录受阻

简介: 在Linux系统管理中,没有什么比发现系统因为配置错误而无法启动或登录更让人头疼的了。这次操作记录将介绍几种有效的恢复方法,减少潜在的业务中断影响。

linux.jpg

引言

Linux系统管理中,没有什么比发现系统因为配置错误而无法启动或登录更让人头疼的了。这次操作记录将介绍几种有效的恢复方法,减少潜在的业务中断影响。

问题描述

错误的系统配置能导致Linux系统无法启动或使远程登录功能失效。这种情况通常发生在进行系统更新或配置调整后,并且错误难以直接在受影响的系统上修复,因为SSHVNC远程访问工具无法使用。

系统配置文件错误、关键服务配置不当或文件权限错误等是常见的罪魁祸首。这些错误切断了对系统的远程访问,使得直接的问题诊断和解决变得复杂。

常见系统配置错误

开始操作

准备与安全措施

  • 准备正常虚拟机: 确保有一台操作系统版本与异常虚拟机一致,且可正常访问的虚拟机备用。
  • 异常虚拟机快照: 在操作前,为异常虚拟机的系统盘创建快照,确保可以回滚至原始状态以防万一。

磁盘卸载与挂载

  • 卸载异常虚拟机系统盘: 在异常虚拟机关机后,卸载其系统盘。
  • 挂载为数据盘: 将该系统盘作为数据盘挂载到正常虚拟机上,使用fdisk -l确认挂载点,并通过mount命令完成挂载。

fdisk -l

#命令格式
mount <数据盘分区> <挂载点>

#执行命令
mount /dev/vdb1 /mnt  #以数据盘分区为/dev/vdb1,挂载点为/mnt为例

  • 数据盘分区:以上图查询到的分区为准,比如:/dev/vdb1
  • 挂载点:正常虚拟机的本地目录,比如:/mnt

修复过程

现在可以在正常虚拟机中进行对应操作来修复这块数据盘了,常见的四种场景如下:

场景一:修正文件配置错误: 如/etc/fstab错误,使用vim编辑并修正。

  • 在正常虚拟机上,对数据盘中的/mnt/etc/fstab文件进行修复,执行以下命令,对文件配置错误的内容进行编辑修改。

vim /mnt/etc/fstab

  • 文件编辑修改完成后,按Esc键退出编辑模式,并输入:wq保存后退出。
  • 说明: 本示例以异常虚拟机/etc/fstab文件修复为例,其他文件配置错误的修复请修改对应文件的目录。例如:/etc/ssh/sshd_config文件对应数据盘上的目录为/mnt/etc/ssh/sshd_config

场景二:恢复缺失的文件或目录: 如缺失的/etc/security,通过cp命令从正常系统复制。

  • 在正常虚拟机上,执行以下命令,对数据盘中的/mnt/etc/security目录缺失进行修复。

cp -rfa /etc/security /mnt/etc/

  • 说明: 本示例以异常虚拟机/etc/security目录缺失进行修复为例,其他文件或目录缺失的修复请修改对应文件的目录。例如:/etc/ssh/sshd_config文件缺失则执行cp -rfa /etc/ssh/sshd_config /mnt/etc/ssh命令进行修复。

场景三:调整文件权限: 如更正/etc/ssh目录下的权限问题,确保文件具有正确的读写执行权限。

  • 在正常虚拟机上,执行以下命令,对数据盘中的/mnt/etc/ssh/ssh_host_ecdsa_key文件进行权限修复。

chmod 600 /etc/ssh/ssh_host_ecdsa_key

  • 说明: 本示例以异常虚拟机/etc/ssh/ssh_host_ecdsa_key文件修复为例,其他文件权限配置错误的修复请修改对应文件的目录。例如:/etc/ssh/ssh_host_ed25519_key文件对应数据盘上的目录为/mnt/etc/ssh/ssh_host_ed25519_key

场景四:调优内核参数: 根据需要调整诸如vm.nr_hugepages的参数,优化系统性能。

  • 在正常虚拟机上,执行以下命令,对数据盘中的/mnt/etc/sysctl.conf文件中的内核参数进行配置优化。

vim /mnt/etc/sysctl.conf

  • /键,输入nr_hugepages,按回车键搜索定位到该配置项所在的位置。
  • i键,编辑该配置项,并将该配置项调低至合理的数值,如果未搜索到该配置项则新增如下配置项。

vm.nr_hugepages=4

该数值需要保证vm.nr_hugepages * hugepagesize < memory_total,具体值请根据实际业务需要进行计算。

  • 修改完成后,按Esc键退出编辑模式,并输入:wq保存后退出。
  • 执行如下命令,使配置生效。

sysctl -p

恢复与验证

  • 恢复系统盘: 完成所有修复后,卸载数据盘,然后重新挂载至异常虚拟机。
  • 开机测试: 重启异常虚拟机,验证修改是否成功并确保系统稳定运行。

最后

通过上述的方法,不仅能够有效应对由于配置错误导致的启动或登录问题,还能确保系统的持续稳定运行。

重要的是在操作前进行适当的备份和准备工作,以减少修复过程中的风险。希望这份指南能帮助遇到的小伙伴能从容面对类似的紧急情况~


最后~欢迎关注我! @Linux学习的那些事儿

我的个人资源整理,满满都是干货: 可按需访问领取

200T免费资料,持续发布中...

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

相关文章
|
3月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
287 3
Linux系统禁用swap
|
3月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
439 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
394 0
Linux系统初始化脚本
|
4月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
288 18
|
3月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
335 1
|
3月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1058 1
|
4月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1649 10
|
4月前
|
安全 Linux 数据安全/隐私保护
为Linux系统的普通账户授予sudo访问权限的过程
完成上述步骤后,你提升的用户就能够使用 `sudo`命令来执行管理员级别的操作,而无需切换到root用户。这是一种更加安全和便捷的权限管理方式,因为它能够留下完整的权限使用记录,并以最小权限的方式工作。需要注意的是,随意授予sudo权限可能会使系统暴露在风险之中,尤其是在用户不了解其所执行命令可能带来的后果的情况下。所以在配置sudo权限时,必须谨慎行事。
660 0
|
4月前
|
Ubuntu Linux 开发者
国产 Linux 发行版再添新成员,CutefishOS 系统简单体验
当然,系统生态构建过程并不简单,不过为了帮助国产操作系统优化生态圈,部分企业也开始用国产操作系统替代 Windows,我们相信肯定会有越来越多的精品软件登录 Linux 平台。
354 0
|
4月前
|
Ubuntu 安全 Linux
Linux系统入门指南:从零开始学习Linux
Shell脚本是一种强大的自动化工具,可以帮助您简化重复的任务或创建复杂的脚本程序。了解Shell脚本的基本语法和常用命令,以及编写和运行Shell脚本的步骤,将使您更高效地处理日常任务。
596 0