本文介绍ECS实例操作系统内部(GuestOS)的常见问题,以及对应的修复方案。
Linux操作系统(GuestOS)常见问题与解决方案
无法正常启动
检查fstab文件中的块设备信息是否存在
如果实例中存在块设备,但块设备信息在fstab文件中不存在,重启系统时可能导致系统无法正常启动。您必须移除
/etc/fstab
文件中不存在的块设备信息。具体操作,请参见如何移除Linux实例“/etc/fstab”文件中不存在的块设备。检查fstab文件中块设备是否正确挂载
如果未正确挂载块设备,重启系统时可能导致系统无法正常启动。具体操作,请参见Linux实例中存在未正确挂载的磁盘。
检查fstab文件内容格式是否正确
如果
/etc/fstab
配置文件存在格式错误,重启系统时可能导致系统无法正常启动。具体操作,请参见Linux实例的“/etc/fstab”配置文件存在格式错误。使用fsck命令检查系统文件
如果文件系统损坏,可能会导致实例无法正常启动。具体操作,请参见Linux实例的文件系统检查与修复。
无法正常登录
检查limits设置是否正确
Linux系统的
/etc/security/limits.conf
配置文件可以对系统资源进行限制,如果系统中nofile
参数值超过了nr_open
参数值,则可能导致无法远程连接实例。具体操作,请参见调整Linux实例中limits系统参数的方法。检查关键系统用户(即root账号)的密码是否存在
实例中关键的系统用户信息丢失,会导致无法登录Linux实例。具体操作,请参见Linux实例中关键的系统用户不存在。
检查系统关键文件格式
一些关键文件的格式如果不是Unix格式,可能会导致无法登录Linux实例。具体操作,请参见Linux实例中修改文件为Unix格式的方法。
检查SSH的访问权限配置是否正确
Linux实例中关于SSH的访问权限配置异常,会导致无法登录Linux实例。具体操作,请参见SSH的访问权限异常导致无法远程连接Linux实例。
检查SSH访问所需要的关键文件或目录是否存在
Linux实例中SSH访问所需要的关键文件或目录丢失,例如实例中缺少
sshd_config
配置文件,可能会导致无法登录Linux实例。具体操作,请参见检查Linux实例是否存在SSH服务所需的必备文件或目录。检查大页内存设置是否过大
当实例的大页内存设置过大,可能会导致无法登录Linux实例,需要调整
/etc/sysctl.conf
文件中大页内存的值。具体操作,请参见调整Linux实例大页内存的方法。检查操作系统是否OOM
如果存在OOM问题,可能会导致无法登录Linux实例。具体操作,请参见Linux实例存在OOM问题的处理方法。
检查系统防火墙是否打开
如果服务器开启了防火墙,并设置了屏蔽外界访问的规则,那么在远程连接该服务器时,可能会导致访问失败。具体操作,请参见开启或关闭Linux实例中的系统防火墙。
检查TCP SACK是否开启
当Linux实例未开启TCP SACK时,可能会影响Linux实例的网络性能。具体操作,请参见Linux实例开启TCP SACK的方法。
检查UDP缓存是否溢出
在Linux实例内如果存在UDP缓存溢出的现象,可能会影响Linux实例的网络性能,导致无法登录Linux实例。具体操作,请参见Linux实例UDP缓存溢出导致无法远程连接。
检查SELinux是否开启
如果系统启用了SELinux服务,可能在远程连接实例时报错。具体操作,请参见Linux实例中由于SELinux服务开启导致SSH远程连接异常。
无法通过SSH或VNC登录实例
您可以卸载异常实例的系统盘,然后挂载到其他实例作为数据盘,在其他实例中进行相应的操作。具体操作,请参见卸载Linux实例的系统盘并挂载到其他ECS实例作为数据盘的方法。
连接实例时报错
使用root用户通过SSH登录Linux实例时,报
Permission denied, please try again
错误。具体操作,请参见使用root用户通过SSH登录Linux实例时报“Permission denied, please try again”的错误。
无法访问实例
检查NAT环境内核参数是否正确
本地网络通过NAT共享的方式上网,并且Linux系统相关内核参数配置异常,导致无法通过SSH连接Linux实例,访问该实例上的HTTP服务也出现异常。具体操作,请参见Linux系统内核配置问题导致NAT环境访问实例出现异常。
检查进程是否启动以及常见业务端口是否处于监听状态
如果您无法访问Linux实例中的服务,可能的原因之一是该服务对应的进程未处于运行中。具体操作,请参见Linux实例启动常见服务并查询端口监听状态的方法。
网络不通
检查DHCP配置是否正确
ECS实例默认使用DHCP为弹性网卡自动分配IP地址,并获得IP地址租约到期时间。如果网卡配置文件存在错误,或者网卡对应的dhclient进程未运行可能引发Linux实例的DHCP服务出现异常,导致实例网络不通。具体操作,请参见Linux实例中本地网卡的DHCP配置检查与修复。
检查网络相关进程是否存在
Linux系统内对应的网络进程不存在,且网络配置为DHCP,则会在IP地址的租约到期之后,出现无法续租导致网络中断的问题。具体操作,请参见Linux系统网络进程不存在。
检查网卡多队列是否开启
网卡多队列指实例规格支持的最大网卡队列数。单台ECS实例CPU处理网络中断存在性能瓶颈时,您可以将实例中的网络中断分散给不同的CPU处理,从而提升性能。具体操作,请参见配置网卡多队列。
性能问题
检查TCP backlog是否溢出
在Linux实例内如果存在TCP backlog缓存溢出的现象,可能会影响Linux实例的网络性能,导致无法登录Linux实例。具体操作,请参见Linux实例TCP backlog缓存溢出导致无法远程连接实例。
CPU使用率是否过高
如果CPU持续保持高使用率,则会对系统稳定性和业务运行造成影响。具体操作,请参见Linux系统CPU负载的查询和案例分析。
磁盘无法写入文件
随着业务的发展和应用数据增长,您可以在线扩容指定云盘的容量,包括系统盘和数据盘。具体操作,请参见在线扩容云盘或者离线扩容云盘。
Windows操作系统(GuestOS)常见问题与解决方案
无法正常登录
检查Windows网卡是否打开
Windows实例中系统网卡不可用,会导致无法登录实例。具体操作,请参见Windows实例中系统网卡处于不可用状态。
检查Windows系统的3389端口是否开放
使用远程桌面连接RDP服务,可以方便地管理和操作Windows实例。如果您未开启远程桌面连接RDP服务,则无法进行远程桌面连接。具体操作,请参见Windows实例如何启动远程桌面连接RDP服务。
检查virtio驱动的版本是否过低
如果virtio驱动版本过低,可能导致无法登录实例。具体操作,请参见Windows实例更新RedHat VirtIO驱动。
检查防火墙是否设置正确
防火墙设置不当,可能导致无法登录实例。具体操作,请参见Windows Server实例防火墙策略的配置方法。
性能问题
CPU使用率是否过高
如果CPU持续保持高使用率,则会对系统稳定性和业务运行造成影响。具体操作,请参见Windows实例中CPU使用率较高问题的排查及解决方法。
检查Windows操作系统的版本
微软已经于2020年01月14日停止对Windows Server 2008和Windows Server 2008 R2操作系统提供支持。因此阿里云不再对使用上述操作系统的ECS实例提供技术支持。如果您有使用上述操作系统的ECS实例,请尽快更新至Windows Server 2012或以上版本。当前支持的镜像请参见公共镜像概述,您也可以在售卖页查看。
检查磁盘容量
Windows系统有时会出现C盘的磁盘空间不断减小的情况,导致系统不能正常操作。具体操作,请参见Windows系统临时文件占用过多磁盘空间。