云服务器内容精选

  • 弹性网卡应用场景 灵活迁移 通过将弹性网卡从云服务器实例解绑后再绑定到另外一台服务器实例,保留已绑定私网IP、弹性公网IP和安全组策略,无需重新配置关联关系,将故障实例上的业务流量快速迁移到备用实例,实现服务快速恢复。 业务分离管理 可以为服务器实例配置多个分属于同一VPC内不同子网的弹性网卡,特定网卡分别承载云服务器实例的内网、外网、管理网流量。针对子网可独立设置访问安全控制策略与路由策略,弹性网卡也可配置独立安全组策略,从而实现网络隔离与业务流量分离。
  • 相关操作 当不再使用虚拟IP时,可以删除虚拟IP地址,详细内容,请参考删除虚拟IP地址。 弹性云服务器的网卡解绑并删除虚拟IP地址后,需要在弹性云服务器上手工删除虚拟IP地址。 Linux系统(本文以“CentOS 7.2 64bit”为例,其他规格请参考对应官网帮助文档) 执行以下命令,查看并记录需要删除虚拟IP的网卡及对应连接。 nmcli connection 回显类似如下信息: 本示例的回显信息说明如下: DEVICE列的eth0为需要删除虚拟IP的网卡。 NAME列的Wired connection 1为网卡对应的连接。 执行以下命令,在目标连接中删除虚拟IP。 nmcli connection delete "CONNECTION" ipv4.addresses VIP 参数说明如下: CONNECTION:为步骤1中查到的网卡对应的连接。 VIP:待删除的虚拟IP地址。 执行以下命令,使配置生效。 nmcli connection up "CONNECTION" 命令示例: nmcli connection up "Wired connection 1" 执行以下命令,检查虚拟IP配置是否成功。 ip a 可以看到eth0网卡下已经不存在添加的虚拟IP地址。
  • 查看网卡队列数 开启网卡多队列功能 登录弹性云服务器。 执行以下命令,查看网卡支持和已开启的队列数。 ethtool -l 网卡 示例: [root@localhost ~]# ethtool -l eth0 #查询网卡eth0的队列数 Channel parameters for eth0: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: 4 #表示此网卡最多支持设置开启4个队列 Current hardware settings: RX: 0 TX: 0 Other: 0 Combined: 4 #表示当前开启的是4个队列
  • 网卡多队列支持列表 网卡多队列的支持情况和实例规格、虚拟化类型、镜像的操作系统有关,只有同时满足这些要求,弹性云服务器才能开启网卡多队列功能。 支持网卡多队列的实例规格请参见“规格清单”。 网卡多队列数为大于1的值,表示支持网卡多队列。 虚拟化类型必须为KVM。 表2所列的Linux公共镜像,支持网卡多队列。 Windows操作系统弹性云服务器的驱动pvdriver有一套动态调整网卡队列数的策略,会根据vCPU数计算队列数并进行动态调整,因此无需对windows网卡多队列的队列数进行设置。 Windows 2008公共镜像已下线,可通过私有镜像支持。 Linux操作系统弹性云服务器建议将操作系统内核版本升级至2.6.35及以上,否则不支持网卡多队列。 建议您使用命令uname -r查询内核版本,如果低于2.6.35请联系技术支持升级内核。 表1 Windows弹性云服务器网卡多队列支持列表 镜像 是否支持多队列 是否默认开启多队列 Windows Server 2008 R2 Standard/Enterprise/DataCenter 64bit 是 是 Windows Server 2008 Enterprise SP2 64bit 是 是 Windows Server 2008 Web R2 64 bit 是 是 Windows Server 2008 R2 Enterprise 64bit_WithGPUdriver 是 是 Windows Server 2012 R2 Standard 64bit_WithGPUdriver 是 是 Windows Server 2012 R2 Standard/DataCenter 64 bit 是 是 Windows Server 2016 Standard/DataCenter 64 bit 是 是 Windows Server 2019 DataCenter 64 bit 是 是 表2 Linux弹性云服务器网卡多队列支持列表 镜像 是否支持多队列 是否默认开启多队列 Ubuntu 14.04/16.04/18.04/20.04 server 64bit 是 是 OpenSUSE 42.2/15.* 64bit 是 是 SUSE Enterprise 12 SP1/SP2 64bit 是 是 CentOS 6.8/6.9/7.*/8.* 64bit 是 是 Debian 8.0.0/8.8.0/8.9.0/9.0.0/10.0.0/10.2.0 64bit 是 是 Fedora 24/25/30 64bit 是 是 EulerOS 2.2/2.3/2.5 64bit 是 是
  • 执行网卡多队列的配置脚本 Windows操作系统使用的半虚拟化驱动pvdriver有一套动态调整网卡队列数的策略,会根据vCPU数计算队列数并进行动态调整,因此无需对windows网卡多队列的队列数进行设置。 Linux操作系统提供了自动开启网卡多队列功能的配置脚本,配置成功后,弹性云服务器支持网卡多队列功能。 自动开启网卡多队列功能的配置脚本当前仅支持处理eth0类型的网卡。 登录弹性云服务器,查看网卡支持和已开启的队列数。 ethtool -l 网卡 示例: [root@localhost ~]# ethtool -l eth0 #查询网卡eth0的队列数 Channel parameters for eth0: Pre-set maximums: RX: 0 TX: 0 Other: 0 Combined: 4 #表示此网卡最多支持设置4个队列 Current hardware settings: RX: 0 TX: 0 Other: 0 Combined: 1 #表示当前已开启的是1个队列 如果返回信息中,两个“Combined”字段取值相同,则表示网卡已开启多队列,无需执行以下操作。 执行以下命令,下载配置脚本“multi-queue-hw”。 wget 下载地址URL 下载地址:https://ecs-instance-driver.obs.cn-north-1.myhuaweicloud.com/multi-queue-hw 执行以下命令,添加执行权限。 chmod +x multi-queue-hw 执行以下命令,将脚本“multi-queue-hw”放到目录/etc/init.d下。 mv multi-queue-hw /etc/init.d 执行以下命令,运行脚本“multi-queue-hw”。 /etc/init.d/multi-queue-hw start 运行脚本后,立即生效。但关机后,网卡多队列功能将自动失效。 为了使网卡多队列功能开机自动生效,各个OS需要增加开机启动配置: CentOS/Redhat/Fedora/EulerOS/Suse/OpenSuse使用如下命令,增加开机启动项,使网卡多队列配置开机: chkconfig multi-queue-hw on Ubuntu使用如下命令,增加开机启动项: update-rc.d multi-queue-hw defaults 90 10 Debian使用如下命令,增加开机启动项: systemctl enable multi-queue-hw
  • 设置云服务器获取IPv6地址超时时间 CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考本节操作设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。 CentOS 6.x: 执行以下命令编辑“dhclient.conf”文件。 vi /etc/dhcp/dhclient.conf 按“i”进入编辑模式,在文件中增加timeout属性。 timeout 30; 输入:wq保存后退出。 Debian 7.5: 执行以下命令编辑“networking”文件。 vi /etc/init.d/networking 按“i”进入编辑模式,增加延迟命令timeout,修改点如下图所示。 图34 修改点1 图35 修改点2 Debian 8.2.0/8.8.0 执行以下命令编辑“network-pre.conf”文件。 vi /lib/systemd/system/networking.service.d/network-pre.conf 按“i”进入编辑模式,在文件中增加timeout属性。 [Service] TimeoutStartSec=30 Debian 9.0 执行以下命令编辑“networking.service”文件。 vi /etc/system/system/network-online.target.wants/networking.service 按“i”进入编辑模式,将TimeoutStartSec=5min改为TimeoutStartSec=30。
  • 检查云服务器网络配置状态 执行以下命令,检查云服务器网络服务状态是否正常。 systemctl status NetworkManager 如果网络服务状态正常,则执行结果中服务处于active (running)状态且是enable的。 图30 网络服务器状态 执行以下命令,检查云服务器网卡获取IP地址的方式。 cat /etc/sysconfig/network-scripts/ifcfg-ethx “ethx”需替换为具体的网卡,例如eth0。 该命令以CentOS 7为例进行介绍。 图31 网卡获取IP地址的方式 如果BOOTPROTO字段的值为dhcp:表示云服务器网卡通过动态DHCP获取IP地址,继续执行3。 如果BOOTPROTO字段的值为static:表示云服务器网卡通过静态配置的方式设置网络,继续执行4。 如果云服务器网卡通过动态DHCP获取IP地址,则需要执行以下命令,确认DHCP相关进程是否正常。 systemctl status NetworkManager 回显中包含相关网卡的dhclient进程则代表正常。 图32 检查DHCP进程 如果云服务器网卡通过静态配置的方式设置网络,则需要执行以下命令,确认IP地址配置是否生效。 ip a 回显中IP配置字段是forever则代表配置已经生效。 图33 检查静态配置
  • Linux操作系统(手动配置启用IPv6) CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考设置云服务器获取IPv6地址超时时间设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。 执行如下命令,查看当前云服务器是否启用IPv6。 ip addr 如果没有开启IPv6协议栈,则只能看到IPv4地址,如下图所示,请参考2先开启IPv6协议栈。 图20 未开启IPv6协议栈 如果已开启IPv6协议栈,则可以看到LLA地址(fe80开头)。 图21 已开启IPv6协议栈 如果已开启IPv6协议栈并且已获取到IPv6地址,则会看到如下地址: 图22 已开启IPv6协议栈并且已获取到IPv6地址 Linux公共镜像均已开启IPv6协议栈,如图21所示; 开启Linux云服务器IPv6协议栈。 执行如下命令,确认内核是否支持IPv6协议栈。 sysctl -a | grep ipv6 如果有输出信息,表示内核支持IPv6协议栈。 如果没有任何输出,说明内核不支持IPv6协议栈,需要执行2.b加载IPv6模块。 执行以下命令,加载IPv6模块。 modprobe ipv6 修改“/etc/sysctl.conf”配置文件,增加如下配置: net.ipv6.conf.all.disable_ipv6=0 保存配置并退出,然后执行如下命令,加载配置。 sysctl -p 手动配置启用IPv6。操作系统不同,步骤有所差别。 Ubuntu 18.04/20.04操作系统云服务器配置动态获取IPv6。 执行以下命令,进入“/etc/netplan/”。 cd /etc/netplan 执行以下命令,查询配置文件名。 ls 图23 查询配置文件名 执行以下命令,编辑“01-network-manager-all.yaml”配置文件。 vi 01-network-manager-all.yaml 在“01-network-manager-all.yaml”下增加如下内容,注意yaml文件格式及缩进: ethernets: eth0: dhcp6: true 图24 修改结果 修改完成后保存退出。 执行以下命令,使更改生效。 sudo netplan apply Ubuntu 22.04操作系统云服务器配置动态获取IPv6。 执行以下命令,进入“/etc/netplan/”。 cd /etc/netplan 执行以下命令,查询配置文件名。 ls 图25 查询配置文件名 执行以下命令,编辑“01-netcfg.yaml”配置文件。 vi 01-netcfg.yaml 在“01-netcfg.yaml”中增加如下内容,注意yaml文件格式及缩进: ethernets: eth0: dhcp6: true 图26 修改结果 修改完成后保存退出。 执行以下命令,使更改生效。 sudo netplan apply 执行以下命令,编辑“/etc/NetworkManager/NetworkManager.conf”文件。 vi /etc/NetworkManager/NetworkManager.conf 在“NetworkManager.conf”中增加如下内容,注意文件格式及缩进: [main] plugins=ifupdown,keyfile dhcp=dhclient [ifupdown] managed=true [device] wifi.scan-rand-mac-address=no 图27 修改结果 执行以下命令,使配置生效。 systemctl restart NetworkManager Debian操作系统云服务器配置动态获取IPv6。 编辑“/etc/network/interfaces”文件,使之包含以下内容: auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp iface eth0 inet6 dhcp pre-up sleep 3 如果有多个网卡,则在“/etc/network/interfaces”文件中,增加对应网卡的配置,以eth1为例,需要增加: auto eth1 iface eth1 inet dhcp iface eth1 inet6 dhcp pre-up sleep 3 执行如下命令重启网络服务。 service networking restart 如果将网卡进行down/up操作之后无法获取IPv6地址,也可以通过此命令重启网络服务。 执行步骤1检查是否已开启动态IPv6。 CentOS/EulerOS/Fedora操作系统云服务器配置动态获取IPv6。 编辑主网卡配置文件“/etc/sysconfig/network-scripts/ifcfg-eth0”。 补充如下配置项: IPV6INIT=yes DHCPV6C=yes 编辑“/etc/sysconfig/network”,按如下所示添加或修改以下行。 NETWORKING_IPV6=yes CentOS 6系列从网卡需要编辑对应的配置文件,以eth1为例,编辑“/etc/sysconfig/network-scripts/ifcfg-eth1”。 补充如下配置项: IPV6INIT=yes DHCPV6C=yes CentOS 6.3系统中默认ip6tables会过滤dhcpv6-client请求,所以CentOS 6.3除了需要编辑“ifcfg-eth*”文件外,还需要额外添加一条允许dhcpv6-client请求的ip6tables规则。操作如下: 执行以下命令,添加ip6tables规则。 ip6tables -A INPUT -m state --state NEW -m udp -p udp --dport 546 -d fe80::/64 -j ACCEPT 执行以下命令,保存ip6tables规则。 service ip6tables save 图28 命令示例 (可选配置)CentOS 7/CentOS 8系列需要将扩展网卡的IPv6 LLA地址模式修改为EUI64。 执行如下命令查看网卡信息。 nmcli con 图29 查看网卡信息 将eth1的IPv6 LLA地址模式按以下命令修改为EUI64: nmcli con modify "Wired connection 1" ipv6.addr-gen-mode eui64 CentOS不同系列,网卡信息存在差异,命令中的“Wired connection 1”需要根据实际查询的网卡信息的“NAME”列进行替换。 通过ifconfig命令将eth1进行down/up操作。 ifdown eth1 ifup eth1 重启网络服务。 CentOS 6系列执行以下命令,重启网络服务。 service network restart CentOS 7/EulerOS/Fedora系列执行以下命令,重启网络服务。 systemctl restart NetworkManager 执行步骤1检查是否已开启动态IPv6。 SUSE/openSUSE/CoreOS操作系统云服务器配置动态获取IPv6。 SUSE 11 SP4不支持IPv6自动获取。 SUSE 12 SP1、SUSE 12 SP2无需特殊配置。 openSUSE 13.2、openSUSE 42.2无需特殊配置。 CoreOS 10.10.5无需特殊配置。
  • 约束与限制 请确保云服务器所在的子网已开启IPv6功能。 若云服务器所在子网未开启IPv6功能,需参考开启云服务器的IPv6功能进行开启,开启后不允许关闭。 请确保云服务器规格支持IPv6功能。 不同区域、不同可用区支持IPv6双栈的云服务器规格不同。ECS是否支持IPv6双栈,请选择区域、可用区后,以控制台的显示为准,查询方法如下图所示。 图1 查询支持IPv6的ECS规格 当ECS规格列表中包含“IPv6”参数,且取值为“是”时,表示该ECS规格支持IPv6。 规格是否支持IPv6由“可用区”和“规格”两个参数决定。 如果设置“可用区”后,规格列表中不显示“IPv6”参数或参数值为“否”,表示当前规格不支持IPv6。 请确保创建云服务器时已选择“自动分配IPv6地址”。 图2 选择“自动分配IPv6地址” 云服务器启动之后动态插拔的网卡不支持IPv6地址动态获取功能。 仅弹性云服务器支持IPv6双栈,裸金属服务器不支持。 同一个网卡上,只能绑定一个IPv6地址。 云服务器网络配置需处于正常状态。 检查网络配置是否正常的方法,请参见检查云服务器网络配置状态。 如果网络配置不正常,请提交工单获取技术支持。
  • 操作导航 Windows系统:本文以Windows 2012版本、Windows 2008版本为例,介绍Windows操作系统启用IPv6的方法,如表1所示。 Linux系统:本文提供了自动配置、手动配置两种方式启用IPv6,推荐您使用自动配置方法,如表1所示。 对于CentOS 6.x和Debian操作系统,云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,此时您可以参考设置云服务器获取IPv6地址超时时间操作。 表1 不同操作系统启用IPv6操作指导 操作系统 方式 操作指导 Windows 2012 自动配置启用IPv6 Windows 2012操作系统 Windows 2008 自动配置启用IPv6 Windows 2008操作系统 Linux 自动配置启用IPv6(推荐) Linux操作系统(自动配置启用IPv6) Linux 手动配置启用IPv6 Linux操作系统(手动配置启用IPv6)
  • Linux操作系统(自动配置启用IPv6) ipv6-setup-xxx工具能为开启IPv6协议栈的Linux操作系统自动配置动态获取IPv6地址。其中,xxx表示工具系列:rhel或debian。 您也可以参考Linux操作系统(手动配置启用IPv6)手动配置启用IPv6。 ipv6-setup-xxx工具运行时会自动重启网络服务,导致网络短暂不可用。 CentOS 6.x和Debian操作系统的云服务器内部配置IPv6自动获取功能之后,将该云服务器制作为私有镜像,使用该镜像在非IPv6网络环境中创建云服务器时,由于等待获取IPv6地址超时,导致云服务器启动较慢,您可以参考设置云服务器获取IPv6地址超时时间设置获取IPv6地址超时时间为30s,然后再重新制作私有镜像。
  • 操作场景 IPv6的使用,可以有效弥补IPv4网络地址资源有限的问题。如果当前云服务器使用IPv4,那么启用IPv6后,云服务器可在双栈模式下运行,即云服务器可以拥有两个不同版本的IP地址:IPv4地址和IPv6地址,这两个IP地址都可以进行内网/公网访问。 按照约束与限制中的网络环境要求创建的云服务器,有些不能动态获取到IPv6地址,需要进行相关配置才行。如果云服务器使用的是公共镜像,则支持情况如下: Windows公共镜像默认已开启IPv6动态获取功能,无需配置,文中的Windows 2012操作系统和Windows 2008操作系统部分供您验证、参考。 Linux公共镜像开启动态获取IPv6功能时,需要先判断是否支持IPv6协议栈,再判断是否已开启动态获取IPv6。目前,所有Linux公共镜像均已支持IPv6协议栈。
  • 事件状态 系统上报的事件状态如表2所示,您可以根据状态判断系统上报事件的进展,也可以通过状态进行事件筛选。 表2 事件状态 类型 描述 待授权 需要用户对事件操作进行授权, 授权时支持指定开始时间, 系统将会在一定时间内完成操作,详细内容请参见响应事件。 待执行 等待系统资源调度中。 执行中 系统已完成资源调度, 正在修复中。 执行成功 系统已完成事件执行。 请验证业务受损情况, 如遇异常,请联系技术支持。 执行失败 系统自动修复失败。 取消 该事件已被系统取消。
  • 事件类型 系统支持上报的事件如表1所示。 表1 支持系统上报的事件 事件类型 事件说明 事件影响 用户侧处理建议 实例重部署 当系统检测到ECS实例的底层宿主机异常,计划将ECS实例部署到新主机时,会自动上报实例重部署事件。 实例重部署过程中,云服务器将会有短暂时间不可用。 系统会在计划事件执行时间前24~72小时发送该系统事件通知。 须知: 对于包含本地盘的实例,会丢失所有本地盘上的数据。 您可以根据业务需要选择如下处理方式,并在事件处理完成后,及时验证业务受损情况, 如遇问题,请联系技术支持。 响应实例重部署事件 建议您在授权时选择业务低谷期为开始时间,如不指定将会以当前时间为开始时间。 本地盘换盘 系统检测到ECS实例(含裸金属类型实例)的底层宿主机存在磁盘故障风险,会对受影响的ECS实例自动生成本地盘换盘事件。 本地盘换盘会丢失本地盘上的数据。 您可以根据业务需要选择如下处理方式,并在事件处理完成后,及时验证业务受损情况, 如遇问题,请联系技术支持。 须知: 本地盘换盘操作会丢失本地盘上的数据,如果无需保留本地盘数据,可根据业务需要选择如下处理方式。 重部署:会丢失所有本地盘数据 授权换盘:会丢失故障本地盘数据 建议您在授权时选择业务低谷期为开始时间,如不指定将会以当前时间为开始时间。 通常会在开始时间后5个工作日内完成本地盘换盘,请耐心等待。 实例迁移 当系统检测到ECS实例的底层宿主机异常,需要进行重启、关机、下线等系统维护时,计划对ECS实例进行迁移,会自动上报实例迁移事件。 系统会先尝试对云服务器进行热迁移,如遇异常,则会触发HA机制(云服务器将会有短暂时间不可用)。 建议您在事件处理完成后,及时验证业务受损情况, 如遇问题,请联系技术支持。 系统维护 系统检测到ECS实例(含裸金属类型实例)的宿主机存在软硬件故障风险,计划对受影响的实例进行维护操作,会自动生成系统维护事件。 系统维护过程中,宿主机可能会进入下电状态,云服务器不可用。 您可以根据业务需要选择如下处理方式,并在事件处理完成后,及时验证业务受损情况, 如遇问题,请联系技术支持。 响应系统维护事件 建议您在授权时确保实例的业务已离线并选择业务低谷期为开始时间,如不指定将会以当前时间为开始时间。 不同故障系统维护的耗时不同。通常会在授权开始时间后5个工作日内完成系统维护,请耐心等待。
  • 后续任务 部分操作系统无法识别新添加的网卡,需手动激活网卡。下面以Ubuntu系统为例介绍具体激活网卡的操作步骤,其他操作系统请自行完成相关操作,如有问题,请参见对应操作系统的官网指导或手册来完成操作。 在弹性云服务器所在行的“操作”列下,单击“远程登录”。 登录弹性云服务器。 执行如下命令,查看网卡名称。 ifconfig -a 例如,查询到的网卡名为:eth2。 执行如下命令,进入相应目录。 cd /etc/network 执行如下命令,打开interfaces文件。 vi interfaces 在interfaces文件中,增加类似如下信息。 auto eth2 iface eth2 inet dhcp 执行如下命令,保存并退出interfaces文件。 :wq 执行命令ifup ethX或/etc/init.d/networking restart,使新增网卡生效。 上述命令中的X为具体的网卡名称序号,例如,ifup eth2。 执行如下命令,查看回显信息中是否包括2查询到的网卡。 ifconfig 例如,回显信息中包含网卡eth2。 是,表示新增网卡生效,结束。 否,表示新增网卡未生效,执行9。 登录管理控制台,在弹性云服务器所在行的“操作”列下,选择“更多”,并单击“重启”。 再次执行命令ifconfig,查看回显信息中是否包括2查询到的网卡。 是,结束。 否,请联系客服获取技术支持。