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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 在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免费资料,持续发布中...

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

相关文章
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
76 3
|
4天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
28 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
27天前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
115 48
|
24天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
17 3
|
29天前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
48 4
|
27天前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
28 1
|
27天前
|
网络协议 Linux 虚拟化
如何在 Linux 系统中查看进程的详细信息?
如何在 Linux 系统中查看进程的详细信息?
56 1
|
27天前
|
Linux
如何在 Linux 系统中查看进程占用的内存?
如何在 Linux 系统中查看进程占用的内存?
|
1月前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
74 3
|
11天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。