云服务器内容精选

  • 处理方法 执行以下命令,确认dhclient是否运行。 ps -ef |grep dhclient |grep -v grep 如果未找到dhclient进程,则确认dhclient进程未运行,执行以下命令,继续排查NetworkManager是否运行。 systemctl status NetworkManager 如果NetworkManager的状态为Active: inactive (dead),则NetworkManager未启动,执行以下命令,检查该服务是否开机自启。 systemctl is-enabled NetworkManager 结果为disabled则确认为NetworkManager未设置开机自启导致,执行以下命令进行恢复。 systemctl enable NetworkManager && systemctl start NetworkManager 如果NetworkManager的状态为Active: active (running),执行以下命令查看网卡设备是否被NetworkManager管理。 nmcli device status 如果显示该网卡为的STATE为unmanaged,则该网卡设备未被NetworkManager管理,执行以下命令进行恢复。 nmcli device set eth0 managed yes 执行以下命令重启NetworkManager。 systemctl restart NetworkManager 执行以下命令查看ip是否已经获取。 ip add
  • 操作场景 SFS容量型文件系统除了支持多VPC访问,还支持跨账号跨VPC访问。 只要将其他账号使用的VPC的VPC ID添加到SFS容量型文件系统的权限列表下,且云服务器IP地址或地址段被添加至授权地址中,则实际上不同账号间的云服务器也能共享访问同一个文件系统。 更多关于VPC的信息请参见虚拟私有云 VPC。 SFS Turbo文件系统基于VPC的对等连接功能,实现跨账号访问。更多关于VPC对等连接功能信息和实现方法请参见VPC对等连接。 本章节介绍SFS容量型文件系统如何实现跨账号跨VPC访问。SFS容量型文件系统目前仅北京四支持跨账号访问功能。
  • SFS容量型操作步骤 登录弹性文件服务管理控制台。 在文件系统列表中单击目标文件系统名称,进入权限列表界面。 可以为文件系统添加多个其他账号使用的VPC,单击“租户授权添加VPC”,弹出“租户授权添加VPC”对话框。如图1所示。 图1 租户授权添加VPC 可以根据参数说明如表1所示完成添加。 表1 参数说明 参数 说明 虚拟私有云 添加VPC的VPC ID。VPC ID可以前往虚拟私有云控制台,查看目标VPC详情获取。 授权地址 只能输入一个IPv4地址/地址段。 输入的IPv4地址/地址段必须合法,且不能为除0.0.0.0/0以外之前0开头的IP地址或地址段,其中当设置为0.0.0.0/0时表示VPC内的任意IP。同时,不能为127以及224~255开头的IP地址或地址段,例如127.0.0.1,224.0.0.1,255.255.255.255,因为以224-239开头的IP地址或地址段是属于D类地址,用于组播;以240-255开头的IP地址或地址段属于E类地址,用于研究。使用非合法的IP或IP地址段可能会导致添加访问规则失败或者添加的访问规则无法生效。 无法输入多个地址,如:10.0.1.32,10.5.5.10用逗号分隔等形式的多个地址。 如果要表示一个地址段,如192.168.1.0-192.168.1.255的地址段应使用掩码形式:192.168.1.0/24,不支持192.168.1.0-255等其他地址段表示形式。掩码位数的取值为0到31的整数,且只有为0.0.0.0/0时掩码位数可取0,其他情况均不合法。 优先级 优先级只能是0-100的整数。0表示优先级最高,100表示优先级最低。同一VPC内挂载时会优先使用该优先级高的IP地址/地址段所拥有的权限,存在相同优先级时会优先匹配最新添加或修改的IP地址/地址段。例如:用户在执行挂载操作时的IP地址为10.1.1.32,而在已经授权的IP地址/地址段中10.1.1.32(读写)优先级为100和10.1.1.0/24(只读)优先级为50均符合要求,则用户权限会使用优先级为50的10.1.1.0/24(只读)的只读权限。10.1.1.0/24内的所有地址包括10.1.1.32,在无其他授权优先级的情况下,则将会使用优先级为50的10.1.1.0/24(只读)的只读权限。 读或写权限 分为读/写权限和只读权限。默认为“读/写”。 用户权限 设置是否保留共享目录的UID和GID。默认为“no_all_squash”。 all_squash:共享文件的UID(User ID)和GID(Group ID)映射给nobody用户,适合公共目录。 no_all_squash:保留共享文件的UID和GID。 CIFS类型的文件系统添加授权地址时,不涉及该参数。 用户root权限 设置是否允许客户端的root权限。默认为“no_root_squash”。 root_squash:不允许客户端以root用户访问,客户端使用root用户访问时映射为nobody用户。 no_root_squash:允许客户端以root用户访问,root用户具有根目录的完全控制访问权限。 CIFS类型的文件系统添加授权地址时,不涉及该参数。 单击“确定”,完成添加。添加成功的VPC会出现在列表中。 单击VPC名称左边的,可以查看目标VPC添加的IP地址/地址段的详细信息。可以对其进行添加、编辑和删除IP地址/地址段的操作。在目标VPC的“操作”列,单击“添加”,弹出“添加授权地址”的弹窗,如图2所示。可以根据参数说明如表1所示完成添加。 图2 增加授权地址
  • 检查云服务器路由配置(多网卡场景) 仅X实例支持此场景,如果您的HECS为L实例或旧版HECS,请忽略此检查项。 一般操作系统的默认路由优先使用主网卡,如果出现使用扩展网卡导致网络不通现象通常是路由配置问题。 如果云服务器配置了多网卡,请确认云服务器内默认路由是否存在。 登录云服务器,执行如下命令,查看是否存在默认路由。 ip route 图11 查看默认路由 若没有该路由,执行如下命令,添加默认路由。 ip route add default via XXXX dev eth0 XXXX表示网关IP。
  • 检查网络ACL规则 VPC默认没有网络ACL,如果关联了网络ACL,请检查“网络ACL”规则。 查看云服务器对应的子网是否关联了网络ACL。 如图8显示具体的网络ACL名称说明已关联网络ACL。 图8 网络ACL 单击网络ACL名称查看网络ACL的状态。 图9 网络ACL开启状态 若“网络ACL”为“开启”状态,需要添加ICMP放通规则进行流量放通。 图10 ACL添加ICMP规则 需要注意“网络ACL”的默认规则是丢弃所有出入方向的包,若关闭“网络ACL”后,其默认规则仍然生效。
  • 检查域名解析(域名Ping不通场景) 如果弹性公网IP可以Ping通,域名无法Ping通,可能是域名没有备案或者域名解析的问题导致。 检查域名备案。 备案是中国大陆的一项法规,网站的域名和服务器IP需要进行备案,备案成功后您的域名才可以指向服务器开通访问。 如果您使用中国大陆节点服务器提供互联网信息服务,需要先在服务器提供商处提交备案申请,备案成功后域名才可以指向服务器开通访问。如何备案? 如果您使用的是中国大陆地区以外的服务器(包括中国港澳台及其他国家、地区)提供互联网信息服务,无需备案。 检查域名解析。 如果域名已备案,但未正确配置域名解析也可能会导致域名无法Ping通。 您可以DNS服务控制台查看域名解析详情。 检查DNS服务器配置。 如果ping 域名显示找不到主机可能是DNS服务器速度慢,导致的访问卡顿,建议您参考ECS案例:弹性云服务器访问中国大陆外网站时加载缓慢怎么办?进行优化。
  • 检查安全组规则 Ping使用的是ICMP协议,请检查云服务器对应的安全组是否放通了“入方向”的“ICMP”规则,以及源地址是否包含您的IP,图2以L实例为您展示了配置正确的安全组。 如果未包含“ICMP”规则,请添加“ICMP”规则,L实例、X实例添加的规则配置分别如图3、图4。检查并配置安全组规则操作详见配置安全组规则。 图2 安全组已包含ICMP规则图示 图3 L实例添加入方向ICMP规则 图4 X实例添加入方向ICMP规则 表2 安全组规则 方向 类型 协议和端口 源地址 入方向 IPv4 ICMP:全部 0.0.0.0/0 0.0.0.0/0表示所有IP地址
  • 排查思路 以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。 如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。 图1 弹性公网IP Ping不通排查思路 表1 弹性公网IP Ping不通排查思路 可能原因 处理措施 安全组未添加ICMP规则 安全组添加ICMP规则,详细操作请参考检查安全组规则。 防火墙设置了禁Ping 检查防火墙对ICMP规则的启用状态,详细操作请参考检查防火墙设置。 云服务器设置了禁Ping 检查云服务器对ICMP规则的启用状态,详细操作请参考检查云服务器是否设置了禁Ping。 关联了网络ACL 如果VPC关联了网络ACL,请检查“网络ACL”规则,详细操作请参考检查网络ACL规则。 网络异常 检查本地网络,使用相同区域主机进行Ping测试,详细操作请参考检查网络是否正常。 多网卡场景,路由信息配置不正确 扩展网卡导致网络不通现象通常是路由配置问题,详细操作请参考检查云服务器路由配置(多网卡场景)。 域名没有备案或者域名无法解析 域名无法Ping通,可能是域名没有备案或者域名无法解析,详细操作请参考检查域名解析(域名Ping不通场景)。
  • 操作场景 可以根据业务需要为负载均衡实例绑定IP地址,或者将负载均衡实例已经绑定的IP地址进行解绑。 支持绑定和解绑IPv4公网IP、IPv4私有IP、IPv6地址。 解绑IPv4公网IP后,对应的弹性负载均衡器将无法进行IPv4公网流量转发。 解绑IPv4私有IP后,对应的弹性负载均衡器将无法基于IPv4私有IP进行私网流量转发。 解绑IPv6地址后,对应的弹性负载均衡器将无法基于IPv6地址进行流量转发,请谨慎操作。
  • Linux系统操作步骤 以root用户登录云服务器。 执行vi /etc/resolv.conf命令编辑“/etc/resolv.conf”文件。在已有的nameserver配置前写入DNS服务器的IP地址,如图1所示。 图1 配置DNS 格式如下: nameserver 100.125.1.250 nameserver 100.125.17.29 单击“Esc”,并输入:wq,保存退出。 执行以下命令,查看IP地址是否写入成功。 cat /etc/resolv.conf 执行以下命令,验证文件系统域名是否可以解析到IP地址。 nslookup 文件系统域名 文件系统域名请从文件系统的挂载地址中获取。 (可选)在使用DHCP服务的网络环境,需要对“/etc/resolv.conf”文件进行锁定设置,禁止文件在云服务器重启后进行自动修改。防止2中写入的DNS服务器的IP地址被重置。 执行如下命令,进行文件锁定设置。 chattr +i /etc/resolv.conf 如果需要再次对锁定文件进行修改,执行chattr -i /etc/resolv.conf命令,解锁文件。 执行如下命令,验证是否设置成功。 lsattr /etc/resolv.conf 回显如图2所示信息,表明文件处于锁定状态。 图2 锁定状态的文件
  • Windows系统操作步骤 进入弹性云服务器界面,登录已创建好的Windows Server 2012版本的弹性云服务器。 单击左下角“这台电脑”,弹出“这台电脑”界面。 右键单击“网络”,选择“属性”。弹出“网络和共享中心”,如图3所示。选择“本地连接”。 图3 网络和共享中心 在“活动”区域,选择“属性”。如图4所示。 图4 本地连接活动 弹出“本地连接属性”对话框,选择“Internet 协议版本 4 (TCP/IPv4)”,单击“属性”。如图5所示。 图5 本地连接属性 在弹出的“Internet 协议版本 4 (TCP/IPv4)属性”对话框中,选择“使用下面的DNS服务器地址”,如图6所示,根据需要配置DNS。DNS服务器东北区IP地址为100.125.6.250,其它区域详情请参见华为云内网DNS地址。配置完成后,单击“确定”,完成配置。 图6 Windows系统配置DNS
  • hostNetwork使用注意事项 Pod直接使用主机的网络会占用宿主机的端口,Pod的IP就是宿主机的IP,使用时需要考虑是否与主机上的端口冲突,因此一般情况下除非您知道某个特定应用需要占用宿主机上的特定端口,否则不建议使用主机网络。 由于Pod使用主机网络,访问Pod需要直接通过节点端口,因此要注意放通节点安全组端口,否则会出现访问不通的情况。 另外由于占用主机端口,使用Deployment部署hostNetwork类型Pod时,要注意Pod的副本数不要超过节点数量,否则会导致一个节点上调度了多个Pod,Pod启动时端口冲突无法创建。例如上面例子中的nginx,如果服务数为2,并部署在只有1个节点的集群上,就会有一个Pod无法创建,查询Pod日志会发现是由于端口占用导致nginx无法启动。 请避免在同一个节点上调度多个使用主机网络的Pod,否则在创建ClusterIP类型的Service访问Pod时,会出现访问ClusterIP不通的情况。 $ kubectl get deploy NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/2 2 1 67m $ kubectl get pod NAME READY STATUS RESTARTS AGE nginx-6fdf99c8b-6wwft 1/1 Running 0 67m nginx-6fdf99c8b-rglm7 0/1 CrashLoopBackOff 13 44m $ kubectl logs nginx-6fdf99c8b-rglm7 /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf 10-listen-on-ipv6-by-default.sh: info: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2022/05/11 07:18:11 [emerg] 1#1: bind() to 0.0.0.0:80 failed (98: Address in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to [::]:80 failed (98: Address in use) nginx: [emerg] bind() to [::]:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to 0.0.0.0:80 failed (98: Address in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to [::]:80 failed (98: Address in use) nginx: [emerg] bind() to [::]:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to 0.0.0.0:80 failed (98: Address in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to [::]:80 failed (98: Address in use) nginx: [emerg] bind() to [::]:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to 0.0.0.0:80 failed (98: Address in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to [::]:80 failed (98: Address in use) nginx: [emerg] bind() to [::]:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to 0.0.0.0:80 failed (98: Address in use) nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: bind() to [::]:80 failed (98: Address in use) nginx: [emerg] bind() to [::]:80 failed (98: Address in use) 2022/05/11 07:18:11 [emerg] 1#1: still could not bind() nginx: [emerg] still could not bind()
  • 检查云服务器路由配置 Linux操作系统云服务器 使用route命令查看路由策略,确保0.0.0.0的默认路由指向网关,使用的IP和网关在相同网段,如图4中第1行和第3行所示。 图4 查看路由策略 使用ifconfig或者ip addr命令查看实例的IP地址。 图5 ifconfig命令查看IP地址 图6 ip addr命令查看IP地址 使用route -n命令通过路由表查看网关。 图7 route -n命令查看网关
  • 检查安全组规则 如果安全组入方向没有放通网站访问使用的端口,HECS实例上的网站将无法打开,请在云服务器实例对应的安全组中添加放行该端口的规则。配置安全组规则操作详见配置安全组规则。 表3 常用网站端口 优先级 策略 类型 协议端口 源地址 描述 1 允许 IPv4 自定义TCP: 80 IP地址:0.0.0.0/0 允许使用HTTP协议访问网站。 1 允许 IPv4 自定义TCP: 443 IP地址:0.0.0.0/0 允许使用HTTPS协议访问网站。 1 允许 IPv4 自定义TCP: 8888 IP地址:0.0.0.0/0 允许访问宝塔面板。
  • 检查备案与域名解析是否正常(使用域名无法访问时适用) 完成上述的排查后,请使用弹性公网IP进行访问。如果使用 IP 地址可以访问,但是域名访问失败,则可能是域名备案或者解析相关问题造成网站无法访问。 网站的访问与域名的状态、域名实名认证状态、网站备案状态、解析是否生效、网站网络环境等多个环节有关系。在这些环节中,任意一个环节出现问题,都会导致网站无法访问。 关于域名与备案解析的排查思路请参考网站无法访问排查思路(排查域名与备案解析)。 检查域名备案。 备案是中国大陆的一项法规,网站的域名和服务器IP需要进行备案,备案成功后您的域名才可以指向服务器开通访问。 如果您使用中国大陆节点服务器提供互联网信息服务,需要先在服务器提供商处提交备案申请,备案成功后域名才可以指向服务器开通访问。如何备案? 如果您使用的是中国大陆地区以外的服务器(包括中国港澳台及其他国家、地区)提供互联网信息服务,无需备案。 如果您的域名已在其他接入商办理过备案并取得备案号,现在更换到华为云服务器进行域名解析(或者二级域名指向华为云),因接入商有变更,需要您在华为云做接入备案。 请确保网站内容与备案信息一致,且备案信息真实有效。 如果您的网站已备案成功仍无法访问,请等待一个工作日。由于信息同步延迟,备案通过一个工作日后网页会自动开放。 检查域名解析。 如果域名已备案,但未正确配置域名解析也可能会导致域名无法Ping通。 您可以DNS服务控制台查看域名解析详情。 检查DNS服务器配置。 如果ping 域名显示找不到主机可能是DNS服务器速度慢,导致的访问卡顿,建议您参考ECS案例:弹性云服务器访问中国大陆外网站时加载缓慢怎么办?进行优化。