引言
在Linux
系统管理中,没有什么比发现系统因为配置错误而无法启动或登录更让人头疼的了。这次操作记录将介绍几种有效的恢复方法,减少潜在的业务中断影响。
问题描述
错误的系统配置能导致Linux
系统无法启动或使远程登录功能失效。这种情况通常发生在进行系统更新或配置调整后,并且错误难以直接在受影响的系统上修复,因为SSH
或VNC
等远程访问工具
无法使用。
系统配置文件错误、关键服务配置不当或文件权限错误等是常见的罪魁祸首。
这些错误切断了对系统的远程访问,使得直接的问题诊断和解决变得复杂。
常见系统配置错误
开始操作
准备与安全措施
- 准备正常虚拟机: 确保有一台操作系统版本与异常虚拟机一致,且可正常访问的虚拟机备用。
- 异常虚拟机快照: 在操作前,为异常虚拟机的系统盘创建快照,确保可以回滚至原始状态以防万一。
磁盘卸载与挂载
- 卸载异常虚拟机系统盘: 在异常虚拟机关机后,卸载其系统盘。
- 挂载为数据盘: 将该系统盘作为数据盘挂载到正常虚拟机上,使用
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学习的那些事儿
我的个人资源整理,满满都是干货: 可按需访问领取
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!