云服务器内容精选

  • 检查备案与域名解析是否正常(使用域名无法访问时适用) 完成上述的排查后,请使用弹性公网IP进行访问。如果使用IP地址可以访问,但是域名访问失败,则可能是域名备案或者解析相关问题造成网站无法访问。 网站的访问与域名的状态、域名实名认证状态、网站备案状态、解析是否生效、网站网络环境等多个环节有关系。在这些环节中,任意一个环节出现问题,都会导致网站无法访问。 关于域名与备案解析的排查思路请参考网站无法访问排查思路(排查域名与备案解析)。 检查域名备案。 备案是中国大陆的一项法规,网站的域名和服务器IP需要进行备案,备案成功后您的域名才可以指向服务器开通访问。 如果您使用中国大陆节点服务器提供互联网信息服务,需要先在服务器提供商处提交备案申请,备案成功后域名才可以指向服务器开通访问。如何备案? 如果您使用的是中国大陆地区以外的服务器(包括中国港澳台及其他国家、地区)提供互联网信息服务,无需备案。 如果您的域名已在其他接入商办理过备案并取得备案号,现在更换到华为云服务器进行域名解析(或者二级域名指向华为云),因接入商有变更,需要您在华为云做接入备案。 请确保网站内容与备案信息一致,且备案信息真实有效。 如果您的网站已备案成功仍无法访问,请等待一个工作日。由于信息同步延迟,备案通过一个工作日后网页会自动开放。 检查域名解析。 如果域名已备案,但未正确配置域名解析也可能会导致域名无法Ping通。 您可以DNS服务控制台查看域名解析详情。 检查DNS服务器配置。 如果ping 域名显示找不到主机可能是DNS服务器速度慢,导致的访问卡顿,建议您参考案例:弹性云服务器访问中国大陆外网站时加载缓慢怎么办?进行优化。
  • 排查思路 如果打开网站有报错提示信息,首先应该根据报错提示信息,排查可能的原因。 您可以参考通用请求返回值中错误码说明排查可能原因。 如果报错提示信息无法帮助您准确定位问题,请记录资源信息和问题时间,然后单击提交工单,填写工单信息,获取技术支持。 你还可以根据以下排查思路进行问题定位,排查思路根据可能原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。 如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。 图1 网站无法访问排查思路 表1 网站无法访问排查思路 可能原因 处理措施 检查端口通信 检查Web端口是否正常监听,详细操作请参考检查端口通信问题。 检查安全组规则 检查安全组是否放通Web端口,详细操作请参考检查安全组规则。 检查防火墙配置 测试防火墙关闭后是否可以正常访问,详细操作请参考检查防火墙配置。 检查云服务器路由配置 查看云服务器路由表中网关信息配置是否正确,详细操作请参考检查云服务器路由配置。 检查本地网络 更换手机热点或其他网络测试是否可以正常访问,详细操作请参考检查本地网络。 检查云服务器CPU利用率 定位影响云服务器CPU利用率高的进程并优化进程,详细操作请参考检查云服务器CPU利用率。 检查域名解析(适用于域名访问的场景) 域名解析配置是否配置正确,详细操作请参考检查备案与域名解析是否正常(使用域名无法访问时适用)。 检查域名备案(适用于域名访问的场景) 网站的域名和服务器IP是否备案成功,详细操作请参考检查备案与域名解析是否正常(使用域名无法访问时适用)。
  • 检查端口通信问题 确保服务进程和端口正常工作,处于LISTEN状态。表2为常见TCP状态。 Linux操作系统云服务器端口通信问题排查 使用netstat -antpu命令检查服务的状态,确认端口是否正常监听。 例如:netstat -antpu |grep sshd 图2 查看端口监听状态_linux 如果端口被正常监听,请执行检查安全组规则。 如果端口没有被正常监听,请检查Web服务进程是否启动或者正常配置。 Windows操作系统云服务器端口通信问题排查 使用远程端口检测命令: 打开CMD命令行窗口。 执行netstat -ano | findstr “端口”命令查看进程使用的端口号。 例如:netstat -ano | findstr “80” 图3 查看端口监听状态_windows 如果端口被正常监听,请执行检查安全组规则。 如果端口没有被正常监听,请检查Web服务进程是否启动或者正常配置。 表2 常见TCP状态 TCP状态 说明 对应场景 LISTEN 侦听来自远方的TCP端口的连接请求 正常TCP服务端 ESTABLISHED 代表一个打开的连接 正常TCP连接 TIME-WAIT 等待足够的时间以确保远程TCP接收到连接中断请求的确认 已关闭的TCP连接,一般1分钟后清除。 CLOSE-WAIT 等待从本地用户发来的连接中断请求 应用程序BUG,没有关闭socket。出现在网络中断后。一般是进程死循环或等待其他条件。可以重启对应进程。 FIN-WAIT-2 从远程TCP等待连接中断请求 网络中断过,需要12分钟左右自行恢复。 SYN-SENT 再发送连接请求后等待匹配的连接请求 TCP连接请求失败。一般是服务端CPU占用率过高,处理不及时导致。DDos攻击也会出现此情况。 FIN-WAIT-1 等待远程TCP连接中断请求,或先前的连接中断请求的确认 网络中断过,此状态可能不会自行修复(等15分钟以上确认),如果长期占用端口需要重启OS恢复。
  • 检查云服务器路由配置 Linux操作系统云服务器 使用route命令查看路由策略,确保0.0.0.0的默认路由指向网关,使用的IP和网关在相同网段,如下图第1行和第3行所示。 使用ifconfig或者ip addr命令查看实例的IP地址。 图4 ifconfig命令查看IP地址 图5 ip addr命令查看IP地址 使用route -n命令通过路由表查看网关。 图6为示例,具体以云服务器网关实际地址为准。 图6 route -n命令查看网关
  • 检查云服务器CPU利用率 云服务器的带宽和CPU利用率过高可能导致网站无法访问。如果您已经通过云监控服务创建过告警任务,当CPU或带宽利用率高时,系统会自动发送告警给您。 定位影响云服务器带宽和CPU利用率高的进程。 Windows操作系统本身提供了较多工具可以定位问题,包括任务管理器、性能监视器(Performance Monitor)、资源监视器(Resource Monitor)、Process Explorer、Xperf (Windows server 2008 以后)和抓取系统Full Memory Dump检查。 Linux操作系统执行top命令查看当前系统的运行状态。 问题处理:排查进程是否正常,并分类进行处理。 正常进程:优化程序,或参考变更规格通用操作变更云服务器配置。 异常进程:建议您手动关闭进程,您也可以借助第三方工具关闭进程。
  • 原因分析 丢包或时延较高可能是链路拥塞、链路节点故障、服务器负载高、系统设置问题等原因引起。 在排除云服务器自身原因后,您可以使用Tracert或MTR工具进行进一步诊断。 使用网络诊断工具MTR可以帮助您确认网络问题的根因。 本节操作导航: Windows: (推荐使用)Windows操作系统Tracert介绍和使用。 Windows操作系统WinMTR介绍和使用。 Linux: Linux操作系统MTR介绍和使用。
  • Windows操作系统WinMTR介绍和使用 登录Windows云服务器。 通过浏览器访问外网,搜索并下载WinMTR安装包。 解压缩WinMTR安装包,WinMTR无需安装,可以直接解压运行。 双击WinMTR.exe,打开WinMTR工具。 在WinMTR窗口的Host处,输入目的服务器IP地址或者域名,单击“Start”。 根据实际情况,等待WinMTR运行一段时间,单击“Stop”,结束测试。如下图所示: 测试结果的主要信息如下: Hostname:到目的服务器要经过的每个主机IP或域名。 Nr:经过节点的数量。 Loss%:对应节点的丢包率。 Sent:已发送的数据包数量。 Recv:已接收到响应的数量。 Best:最短的响应时间。 Avrg:平均响应时间。 Worst:最长的响应时间。 Last:最近一次的响应时间。
  • WinMTR和MTR的报告分析处理 以下图为例分析WinMTR和MTR的报告。 服务器本地网络:即图中A区域,代表本地局域网和本地网络提供商网络。 如果客户端本地网络中的节点出现异常,则需要对本地网络进行相应的排查分析。 如果本地网络提供商网络出现异常,则需要向当地运营商反馈问题。 运营商骨干网络:即图中B区域,如果该区域出现异常,可以根据异常节点的IP查询其所属的运营商,向对应运营商进行反馈。 目标端本地网络:即图中C区域,即目标服务器所属提供商的网络。 如果丢包发生在目的服务器,则可能是目的服务器的网络配置原因,请检查目的服务器的防火墙配置。 如果丢包发生在接近目的服务器的几跳,则可能是目标服务器所属提供商的网络问题。
  • Windows操作系统Tracert介绍和使用 Tracert是路由跟踪程序,Tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。Tracert命令功能与Ping命令类似,但获得的信息要比Ping命令详细,它可以显示数据包所走的全部路径、节点的IP以及时间。 登录Windows云服务器。 打开cmd命令窗,执行以下命令跟踪IP地址。 tracert IP地址/网站地址 例如:tracert www.example.com 对数据节点分析如下: Tracert默认最大跳数30,第1列为起跳顺序号。 Tracert每次会发送三个数据包,第2、3、4列为对应三个数据包的返回时间。第5列为跳转的IP节点。 假如某一层中出现了“* * * request timed out”,那么则需要定位这层的问题,可能这里导致连接不到目标节点。
  • Linux操作系统MTR介绍和使用 安装MTR 目前现有的Linux发行版本都预装了MTR,如果您的Linux云服务器没有安装MTR,则可以执行以下命令进行安装: CentOS 操作系统: yum install mtr Ubuntu 操作系统: sudo apt-get install mtr MTR相关参数说明 -h/--help:显示帮助菜单。 -v/--version:显示MTR版本信息。 -r/--report:结果以报告形式输出。 -p/--split:与 --report相对,分别列出每次追踪的结果。 -c/--report-cycles:指定每次探测发送的数据包数量,默认值是10。 -s/--psize:设置数据包的大小。 -n/--no-dns:不对IP地址做域名解析。 -a/--address:用户设置发送数据包的IP地址,主要用户单一主机多个IP地址的场景。 -4:IPv4。 -6:IPv6。 以本机到IP为119.xx.xx.xx的服务器为例。 执行以下命令,以报告形式输出MTR的诊断报告。 mtr 119.xx.xx.xx --report 回显信息如下: [root@ecs-0609 ~]# mtr 119.xx.xx.xx --report Start: Thu Aug 22 15:41:22 2019 HOST: ecs-652 Loss% Snt Last Avg Best Wrst StDev 1.|-- 100.xx.xx.xx 0.0% 10 3.0 3.4 2.8 7.5 1.3 2.|-- 10.xx.xx.xx 0.0% 10 52.4 51.5 34.2 58.9 6.3 3.|-- 10.xx.xx.xx 0.0% 10 3.2 5.0 2.7 20.8 5.5 4.|-- 10.xx.xx.xx 0.0% 10 1.0 1.0 1.0 1.1 0.0 5.|-- 192.xx.xx.xx 0.0% 10 3.5 4.2 2.8 11.6 2.5 6.|-- 10.xx.xx.xx 0.0% 10 35.3 34.5 6.0 56.4 22.6 7.|-- 10.xx.xx.xx 0.0% 10 3.3 4.7 3.1 14.7 3.6 8.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0 主要输出的信息如下: HOST:节点的IP地址或域名。 Loss%:丢包率。 Snt:每秒发送的数量包的数量。 Last:最近一次的响应时间。 Avg:平均响应时间。 Best:最短的响应时间。 Wrst:最长的响应时间。 StDev:标准偏差,偏差值越高,说明各个数据包在该节点的响应时间相差越大。
  • 常见的链路异常案例 目标主机配置不当 如下示例所示,数据包在目标地址出现了100%的丢包。从数据上看是数据包没有到达,其实很有可能是目标服务器网络配置原因,需检查目的服务器的防火墙配置。 Host Loss% Snt Last Avg Best Wrst StDev 1. ??? 2. ??? 3. 1XX.X.X.X 0.0% 10 521.3 90.1 2.7 521.3 211.3 4. 11X.X.X.X 0.0% 10 2.9 4.7 1.6 10.6 3.9 5. 2X.X.X.X 80.0% 10 3.0 3.0 3.0 3.0 0.0 6. 2X.XX.XX.XX 0.0% 10 1.7 7.2 1.6 34.9 13.6 7. 1XX.1XX.XX.X 0.0% 10 5.2 5.2 5.1 5.2 0.0 8. 2XX.XX.XX.XX 0.0% 10 5.3 5.2 5.1 5.3 0.1 9. 1XX.1XX.XX.X 100.0% 10 0.0 0.0 0.0 0.0 0.0 ICMP限速 如下示例所示,在第5跳出现丢包,但后续节点均未见异常。所以推断是该节点ICMP限速所致。该场景对最终客户端到目标服务器的数据传输不会有影响,分析时可以忽略此种场景。 Host Loss% Snt Last Avg Best Wrst StDev 1. 1XX.XX.XX.XX 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 1XX.XX.XX.XX 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 1XX.XX.XX.XX 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. 1XX.XX.XX.XX 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. 1XX.XX.XX.XX 60.0% 0 27.2 25.3 23.1 26.4 2.9 6. 1XX.XX.XX.XX 0.0% 10 39.1 39.4 39.1 39.7 0.2 7. 1XX.XX.XX.XX 0.0% 10 39.6 40.4 39.4 46.9 2.3 8. 1XX.XX.XX.XX 0.0% 10 39.6 40.5 39.5 46.7 2.2 环路 如下示例所示,数据包在第5跳之后出现了循环跳转,导致最终无法到达目标服务器。出现此场景是由于运营商相关节点路由配置异常所致,需联系相应节点归属运营商处理。 Host Loss% Snt Last Avg Best Wrst StDev 1. 1XX.XX.XX.XX 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 1XX.XX.XX.XX 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 1XX.XX.XX.XX 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. 1XX.XX.XX.XX 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. 1XX.XX.XX.65 0.0% 10 0.0 0.0 0.0 0.0 0.0 6. 1XX.XX.XX.65 0.0% 10 0.0 0.0 0.0 0.0 0.0 7. 1XX.XX.XX.65 0.0% 10 0.0 0.0 0.0 0.0 0.0 8. 1XX.XX.XX.65 0.0% 10 0.0 0.0 0.0 0.0 0.0 9. ??? 0.0% 10 0.0 0.0 0.0 0.0 0.0 链路中断 如下示例所示,数据包在第4跳之后就无法收到任何反馈。这通常是由于相应节点中断所致。建议结合反向链路测试做进一步确认。该场景需要联系相应节点归属运营商处理。 Host Loss% Snt Last Avg Best Wrst StDev 1. 1XX.XX.XX.XX 0.0% 10 0.3 0.6 0.3 1.2 0.3 2. 1XX.XX.XX.XX 0.0% 10 0.4 1.0 0.4 6.1 1.8 3. 1XX.XX.XX.XX 0.0% 10 0.8 2.7 0.8 19.0 5.7 4. 1XX.XX.XX.XX 0.0% 10 6.7 6.8 6.7 6.9 0.1 5. 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.0 6. 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.0 7. 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.0 8. 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.0 9 1XX.XX.XX.XX 0.0% 10 0.0 0.0 0.0 0.0 0.0
  • 问题定位步骤 在管理控制台使用VNC方式登录云服务器。 打开“运行”窗口,输入“perfmon -res”。 图1 打开资源监视器 在“资源监视器”中,单击“CPU”或“网络”,查看CPU占用率或带宽使用情况。 图2 资源监视器 查看CPU和带宽占用率较高的进程ID和进程名。 在控制台VNC登录页面单击“Ctrl+Alt+Del”,打开“Windows任务管理器”。 或打开“运行”窗口,输入“taskmgr”,打开“Windows任务管理器”。 以下步骤为您介绍在任务管理器中打开PID,找到进程的具体位置,核对是否异常进程。 选择“详细信息”选项卡。 单击PID进行排序。 在查找到的CPU或带宽占用率高的进程上右键单击“打开文件位置”。 定位进程是否是正常或是否为恶意程序。 图3 检查进程 打开“运行”窗口,输入“fltmc”,查看系统的文件系统过滤驱动。 下图以windows10操作系统为例,不同操作系统内置驱动不同,请以官网网站说明为准。如果安装了第三方的驱动,也会在这个列表中显示。 图4 查看系统驱动 以下步骤为您介绍如何查看驱动的来源,核对是否为不明来源驱动。 打开系统路径“C:\Windows\System32\drivers”。 在不明驱动名称上单击,选择“属性”,查看详细信息。 选择“数字签名”,查看驱动的来源。 图5 查看驱动来源
  • 分析处理 在您采取措施处理问题前,首先需要判断影响CPU或带宽占用率高的进程和驱动是否正常,并分类进行处理。 正常进程分析处理建议 如果您的操作系统是Windows 2008/Windows 2012,请检查内存大小,建议内存配置在2GB或以上。 检查后台是否有执行Windows Update的行为。 检查杀毒软件是否正在后台执行扫描操作。 核对云服务器运行的应用程序中是否有对网络和CPU要求高的需求,如果是,建议您变更云服务器的配置或修改带宽。 如果云服务器配置已经比较高,建议考虑云服务器上应用场景的分离部署,例如将数据库和应用分开部署。 异常进程分析处理建议 如果CPU或带宽利用率高是由于病毒、木马入侵导致的,那么需要手动结束进程。建议的处理顺序如下: 使用商业版杀毒软件或安装微软安全工具Microsoft Safety Scanner,在安全模式下扫描病毒。 安装Windows最新补丁。 使用MSconfig禁用所有非微软自带服务驱动,检查问题是否再次发生,具体请参考:如何在Windows中执行干净启动。 若服务器或站点遭受DDOS攻击或CC攻击等,短期内产生大量的访问需求。 您可以登录管理控制台执行以下操作: 查看Anti-DDOS攻击是否开启,并检查防护策略是否配置合适;如未配置,请参考:配置开启Anti-DDoS防护。 查看CC防护策略是否开启,并检查防护策略是否配置合适;如未配置,请参考:配置CC防护策略。 不明来源驱动分析处理建议 有些病毒和木马会通过文件系统过滤驱动加载。如果您发现不明来源的驱动,建议您卸载该驱动,也可以使用正规商业杀毒软件或第三方安全管理工具进行删除。 如果发现有无法删除的不明驱动,或者删除后还会再次出现的不明驱动,一般都是病毒或木马的驱动。如果使用正规商业杀毒软件或第三方安全管理工具也不能彻底删除,建议您重装操作系统,在这之前请做好数据备份避免造成损失。
  • 检查网络链路 本地客户端ping服务器公网IP,确认是否存在丢包或延时的情况。 若存在丢包或时延高的情况,请使用MTR进行诊断,具体操作可参考ping不通或丢包时如何进行链路测试?。 若不存在丢包或时延高的情况,请执行步骤2。 执行dig/nslookup命令,查看DNS的解析情况,排查是否DNS解析引起的问题。您也可以直接使用公网IP访问对应页面,排查是否 DNS的问题导致访问慢。 详细操作请参考: 解析不生效有哪些原因? 怎样测试解析域名是否生效?
  • 检查DNS是否配置正确 打开cmd命令窗口,输入“ipconfig /all”,检查使用的DNS服务器是不是华为云默认DNS。 推荐您使用华为云默认DNS地址。 华为云提供的DNS地址请参考华为云DNS地址。 如果使用的是华为云的DNS地址,请执行以下命令检查云服务器与DNS节点之间网络是否连通。 ping DNS IP地址 例如:以华北-北京四为例,执行ping 100.125.1.250 执行以下命令,查看域名解析是否正常。 nslookup 待访问的大陆外网站地址 例如:nslookup www.example.com 重新访问中国大陆外(包括中国港澳台及其他国家、地区)网站,查看卡顿或无法访问的问题是否有所好转。 若问题仍未解决,请参考本节操作继续排查。