开发者社区 问答 正文

Linux 挂载了错误的文件系统导致网络服务异常

云服务器 ECS Linux CentOS 7.0 系统重启以后网络不通,SSH 服务登入不了,通过管理终端登陆服务器执行 ifconfig 命令,查看到服务器外网网卡没有启动,只有 loopback 网卡。

尝试启动网络服务时,系统报不能挂载 ext3 的文件系统,报错信息如下

/etc/init.d/network restart

展开
收起
278835030529486151 2019-07-11 17:11:57 450 分享 版权
阿里云 AI 助理回答

问题分析

根据您描述的问题,云服务器 ECS Linux CentOS 7.0 系统在重启后出现以下现象: 1. 网络不通:通过管理终端登录服务器后,执行 ifconfig 命令发现外网网卡未启动,仅显示 loopback 网卡。 2. SSH 服务无法登录:由于网络不通,导致无法通过 SSH 登录服务器。 3. 文件系统挂载失败:尝试启动网络服务时,系统报错提示无法挂载 ext3 文件系统。

结合知识库中的参考资料,可以初步判断问题可能由以下原因引起: - /etc/fstab 文件中存在错误配置,导致某些文件系统(如 ext3)无法正常挂载。 - 网络服务配置文件或网卡配置存在问题,导致外网网卡未能正确启动。 - 系统关键目录或文件缺失,影响了网络服务的正常运行。


解决方案

步骤一:检查并修复 /etc/fstab 文件

  1. 进入系统维护模式

    • 如果系统启动时卡在 Give root password for maintenance 页面,请输入实例的登录密码进入维护模式。
    • 执行以下命令,将根分区挂载为可读写模式:
      mount / -o remount,rw
      
  2. 检查 /etc/fstab 文件

    • 执行以下命令查看具体报错信息:
      journalctl -xb
      
    • 根据报错信息定位 /etc/fstab 文件中存在问题的行。例如,如果报错提示无法挂载 ext3 文件系统,则可能是该文件系统对应的设备不存在或配置错误。
  3. 修改 /etc/fstab 文件

    • 使用 vim 编辑 /etc/fstab 文件:
      vim /etc/fstab
      
    • 注释掉或删除存在问题的挂载配置行。例如:
      # /dev/vdb1 / ext3 defaults 0 0
      
    • Esc 键,输入 :wq 保存并退出。
  4. 重启实例

    • 执行以下命令重启实例:
      reboot
      

步骤二:检查并修复网络服务配置

  1. 确认网卡配置文件是否存在

    • 执行以下命令查看网卡配置文件:
      ll /etc/sysconfig/network-scripts/ifcfg*
      
    • 如果发现多余的网卡配置文件(如 ifcfg-eth1),请删除:
      rm -rf /etc/sysconfig/network-scripts/ifcfg-eth1
      
  2. 检查网卡状态

    • 执行以下命令查看当前网卡信息:
      ip address show
      
    • 确认外网网卡(如 eth0)是否存在于系统中。如果不存在,可能是驱动问题或硬件故障。
  3. 手动启动网卡

    • 执行以下命令启动外网网卡:
      ifup eth0
      
    • 如果启动失败,请检查网卡配置文件(如 /etc/sysconfig/network-scripts/ifcfg-eth0)是否正确。确保以下参数配置无误:
      DEVICE=eth0
      BOOTPROTO=dhcp
      ONBOOT=yes
      
  4. 重启网络服务

    • 执行以下命令重启网络服务:
      systemctl restart network
      
    • 检查网络服务状态:
      systemctl status network
      

步骤三:检查系统关键文件是否缺失

  1. 检查 /bin/bash/bin/sh 文件

    • 执行以下命令检查关键文件是否存在:
      ls -l /bin/bash /bin/sh
      
    • 如果文件缺失,可以通过挂载系统盘到其他正常实例进行修复。具体操作如下:
      • 将异常实例的系统盘卸载,并挂载到正常实例中。
      • 从正常实例中拷贝 /bin/bash/bin/sh 文件到异常实例的系统盘中。
      • 恢复异常实例的系统盘并重启。
  2. 检查网络相关库文件

    • 如果网络服务启动时提示缺少共享库文件(如 libcrypto.so.10),请参考知识库资料进行修复:
      • 在正常实例中查找并复制缺失的库文件到异常实例。
      • 修改文件权限并创建软链接:
      chmod 755 /usr/lib64/libcrypto.so.1.0.1e
      chown root:root /usr/lib64/libcrypto.so.1.0.1e
      ln -s /usr/lib64/libcrypto.so.1.0.1e /usr/lib64/libcrypto.so.10
      

步骤四:验证修复结果

  1. 检查网络连通性

    • 执行以下命令测试外网连通性:
      ping www.aliyun.com
      
    • 如果网络连通性正常,说明问题已修复。
  2. 测试 SSH 服务

    • 从本地机器尝试通过 SSH 登录服务器:
      ssh root@<ECS实例公网IP>
      
    • 如果能够成功登录,说明问题已解决。

注意事项

  • 数据安全:在对系统文件或配置进行修改前,建议先创建快照以备份数据。
  • SELinux 配置:如果 SELinux 处于启用状态,可能会导致网络服务启动失败。建议临时关闭 SELinux:
    setenforce 0
    
  • 长期解决方案:如果问题频繁发生,建议升级操作系统内核和相关软件包至最新版本。

通过以上步骤,您可以逐步排查并解决云服务器 ECS Linux CentOS 7.0 系统重启后网络不通的问题。如果问题仍未解决,请联系阿里云技术支持获取进一步帮助。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答