云服务器内容精选

  • E CS 使用须知 禁止使用ECS搭建赌博、违规私服、违法跨境VPN等违法违规业务。 禁止使用ECS对电商网站开展刷单、刷广告等虚假交易操作。 禁止利用ECS对外部系统发起网络攻击,例如:暴力破解,传播病毒、木马等,包括但不限于DDoS攻击、CC攻击,Web攻击。 禁止使用ECS提供流量穿透服务。 禁止利用ECS搭建爬虫环境,对外部系统发起爬虫搜索。 未经外部系统主体授权,禁止利用ECS对外部系统发起扫描、渗透等探测行为。 禁止在ECS上部署任何违法违规网站和应用。 禁止利用ECS发送垃圾、骚扰邮件或从事其他侵犯个人隐私的行为。
  • ECS购买限制 表1 ECS购买限制 限制项 说明 用户账户 用户账户需完成实名认证后,才可以购买ECS。 详细内容,请参见实名认证。 区域与可用区 不同区域的资源价格可能有差异,您可通过了解计费详情来了解产品价格。 ECS购买成功后,不支持直接切换区域和可用区,请谨慎选择。 实例规格 ECS对实例数、核心数、 RAM 容量(MB)有配额限制。 您可以通过服务配额查看已用配额和总配额。若当前配额不满足业务需要,可申请扩大配额。 镜像 Windows操作系统镜像变更为市场镜像类型。 在“公共镜像”页签下,您可以通过Windows操作系统镜像的选项直接选购第三方服务商提供的“第三方镜像”。 在“市场镜像”页签下,可搜索并选购Windows操作系统相关镜像。 Windows操作系统镜像所有使用的约束与限制遵循第三方,计费标准以镜像供应商提供的信息为准。 更多关于镜像的约束限制,请参见约束与限制。 磁盘 系统默认的磁盘模式为VBD,可设置磁盘模式为SCSI,购买完成后无法修改。 购买ECS时,最多支持添加24块磁盘(1块系统盘、23块数据盘),购买成功后,最多支持添加60块磁盘。 如果需要更多数据盘,需要在购买ECS后继续挂载。不同规格的ECS可挂载的磁盘数量可通过查询弹性云服务器挂载磁盘列表详情信息接口查询。 数据盘挂载至云服务器后,需要初始化云硬盘才可以正常使用。 更多关于磁盘的约束限制,请参见约束与限制。 网络 ECS可绑定的扩展弹性网卡数量由云服务器实例规格决定,具体请参见规格清单(x86)和规格清单(鲲鹏)。 更多关于网络的约束限制,请参见约束与限制。 安全组 建议您遵循白名单原则配置安全组规则,即安全组内实例默认拒绝所有外部的访问请求,通过添加允许规则放通指定的网络流量。 添加安全组规则时,请遵循最小授权原则。例如,放通22端口用于远程登录云服务器时,建议仅允许指定的IP地址登录,谨慎使用0.0.0.0/0(所有IP地址)。 公网访问 如果ECS需要访问公网,则需要绑定弹性公网IP。 一个弹性公网IP只能给一个ECS使用,不可以跨区域或跨账号使用,弹性公网IP和ECS必须在同一个区域。 更多关于弹性公网IP的约束限制,请参见约束与限制。 云服务器名称 Windows系统ECS的名称建议不超过15个字符,且不要重名,否则部分Windows应用将无法使用。 若将“云服务器名称”设置为云服务器操作系统中的主机名(hostname)时,为避免出现未知问题,建议使用a-z或0-9以及中划线"-"组成的名称命名。 登录凭证 当使用密钥对登录凭证方式时,若选择使用已有的密钥对,请确保您已在本地获取该文件,否则,将影响您正常登录弹性云服务器。 标签 最多支持为ECS添加10个标签。
  • ECS使用限制 表2 ECS使用限制 限制项 说明 Windows系统ECS 不要结束系统进程,结束系统进程可能会导致服务器发生蓝屏、重启。 建议您预留2G以上的内存,否则在使用过程中可能会出现蓝屏、卡顿、服务无法正常运行等情况。 不建议修改注册表,修改注册表可能会导致系统启动失败。如果一定要修改,请在修改前备份注册表。 不建议修改服务器时钟,修改服务器时钟可能会使DHCP租约失效进而导致IP丢失。 不建议关闭虚拟内存,关闭虚拟内存可能会使系统性能降低或运行异常。 不要删除VMTool程序,会导致云服务器运行异常。 Linux系统ECS 不要修改/etc/issue文件内容,否则可能导致系统发行版本无法被识别。 不要删除系统目录或文件,否则可能导致系统无法正常运行或启动。 不要修改系统目录的权限或名称,否则可能导致系统无法正常运行或启动。 请勿随意升级Linux操作系统的内核。 如需升级请参考Linux弹性云服务器怎样升级内核? 。 镜像启动模式 镜像的启动模式决定了ECS系统盘的引导模式,包括BIOS(Basic Input Output System)和UEFI(Unified Extensible Firmware Interface)两种。 通过“导入私有镜像”方式创建私有镜像时,可以创建UEFI或BIOS启动方式的私有镜像。 通过切换操作系统操作,可以选择支持BIOS或UEFI启动模式的镜像为已有的弹性云服务器变更系统盘引导模式。 外接硬件设备 ECS不支持加载外接硬件设备,例如:硬件加密狗、U盘、外接硬盘、银行Ukey等。 网络限制 请勿修改网卡的MAC地址。 不建议修改主机默认的内网网络配置信息(IP、子网掩码及网关地址),否则可能会导致网络异常。 不建议您修改默认的DNS,如您有公网DNS配置需求,可以在云服务器上配置公网DNS和内网DNS。 使用手动配置网络的场景,以静态地址为主,不需要系统的网络管理工具时(例如部署k8s的场景),不建议开启NetWorkManager服务,NetWorkManager服务会跟系统内部网络服务出现冲突,导致网络异常。 应用程序/软件 请勿卸载云服务器硬件的驱动程序。 弹性云服务器不支持二次虚拟化,即不支持安装虚拟化软件。 不建议删除重置密码进程CloudResetPwdAgent和CloudResetPwdUpdateAgent,否则会导致一键重置密码功能不可用。 账户 华为云账户受限/冻结或者云服务器资源进入保留期时,云服务器使用会受到限制,客户应提前了解处理,避免造成业务中断。 华为云账户因余额不足等原因导致账号受限时,无法进行云服务器资源相关操作(包括但不限于重启、变更规格、切换操作系统等)。 华为云账户因云服务欠费冻结等原因导致账号冻结时,无法进行云服务器资源相关操作(包括但不限于重启、变更规格、切换操作系统等)。 云服务器资源因欠费或到期未续费进入保留期时,资源会被冻结关闭,无法正常使用。 网站/应用部署 使用云服务器进行黑产、违规以及违反华为安全要求等行为,相关账户会受限/冻结。 迁移 由于物理机故障导致云服务器发生迁移,迁移时可能会出现重启或关机现象,建议您在系统业务进程配置自动拉起和开机自启动,或者通过业务集群部署、主备部署等方式实现业务的高可用。 部分软件的鉴权模式可能会导致license与物理机的硬件信息绑定,云服务器的迁移操作可能会引起物理信息变更进而导致license失效。 数据备份 建议您为部署核心关键业务的云服务器做好数据备份。
  • 处理方法 进入云服务器的单用户模式。 以CentOS 7操作系统为例: 单击“远程登录”。 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。 按上方向键,阻止系统自动继续,在出现内核选项时按字母键e进入内核编辑模式。 图2 进入内核编辑模式 Euler镜像默认对grub文件进行了加密,进入编辑内核模式时会提示:Enter username,需要输入用户和密码,请联系客服获取。 找到linux16行末尾,删除不需要加载的参数到ro参数。 修改ro为rw,以读写方式挂载根分区。 并添加rd.break,然后执行Ctrl+X。 图3 修改前 图4 修改后 执行以下命令切换至/sysroot目录。 # chroot /sysroot 执行以下命令,查询内核的fs.nr_open值。 sysctl fs.nr_open 编辑 /etc/security/limits.conf,修改配置的nofile值为合理的值,需小于2中查询的fs.nr_open值,例如65535。 vi /etc/security/limits.conf limits.conf 文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中pam_limits.so 的配置文件。更多详细配置信息请查看man手册,执行: man limits.conf 重启服务器,重试连接云服务器。
  • 可能原因 一般来说不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件进程锁定,或者有进程一直在向这个文件写数据。 Linux系统中的一个文件在文件系统中存放分为两个部分:数据部分和指针部分,指针位于文件系统的meta-data中,在将数据删除后,这个指针就从meta-data中清除了,而数据部分存储在磁盘中。在将数据对应的指针从meta-data中清除后,文件数据部分占用的空间就可以被覆盖并写入新的内容,之所以出现删除文件后,空间还没有释放,就是因为进程还在一直向这个文件写入内容,导致虽然删除了文件,但是由于进程锁定,文件对应的指针部分并未从meta-data中清除,而由于指针并未删除,系统内核就认为文件并未被删除,因此通过df命令查询空间并未释放。 当一个文件被删除后,在文件系统目录中已经不可见了,所以du就不会再统计它了。然而如果此时还有运行的进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改。这样df仍旧会统计这个被删除了的文件。
  • 处理方法 进入云服务器的单用户模式。 以CentOS 7操作系统为例: 单击“远程登录”。 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。 按上方向键,阻止系统自动继续,在出现内核选项时按字母键e进入内核编辑模式。 图2 进入内核编辑模式 Euler镜像默认对grub文件进行了加密,进入编辑内核模式时会提示:Enter username,需要输入用户和密码,请联系客服获取。 找到linux16行末尾,删除不需要加载的参数到ro参数。 修改ro为rw,以读写方式挂载根分区。 并添加rd.break,然后执行Ctrl+X。 图3 修改前 图4 修改后 执行以下命令切换至/sysroot目录。 # chroot /sysroot 执行以下命令,查看系统日志定位出错的文件 grep Module /var/log/messages 图5 系统日志 编辑系统日志中提示的错误文件,并注释或修改错误行。 vi /etc/pam.d/login 图6 修改错误信息 重启服务器,重试连接云服务器。 如需查看修改记录,定位是否人为错误修改导致,请执行以下命令。 vi /root/.bash_history 搜索关键字vi或者login 请勿随便修改/etc/pam.d/目录下的文件。如需对pam详细了解可查看pam.d帮助手册,在系统内执行以下命令。 man pam.d
  • 弹性云服务器启动缓慢 如果弹性云服务器启动时间较长,可以通过修改默认等待时间,提高启动速度。 登录弹性云服务器。 执行以下命令,切换至root用户。 sudo su 执行以下命令,查询grub文件的版本。 rpm -qa | grep grub 图1 查询grub版本 将grub文件中timeout时间修改为0s。 grub版本小于2的: 打开文件“/boot/grub/grub.cfg”或“/boot/grub/menu.lst”,并修改等待时间“timeout=0”。 grub版本为2的: 打开文件/boot/grub2/grub.cfg,并修改等待时间“timeout=0”。 图2 修改timeout 父主题: 高频故障案例
  • 处理方法 Ubuntu 16.04云服务器通过SSH连接后,执行以下命令,修改grub配置。 cat /etc/default/grub 如下图所示,注释GRUB_TIMEOUT_STYLE=hidden,修改GRUB_TIMEOUT=10。 删除/etc/default/grub.d/目录下以“50”开头的所有文件。 rm -rf /etc/default/grub.d/50* 执行以下命令,刷新配置。 update-grub2 执行以下命令,修改yum源用来安装公版内核。 sed -i 's/azure.archive.ubuntu.com/repo.huaweicloud.com/g' /etc/apt/sources.list apt autoclean apt update 执行以下命令,安装ubuntu16.04公版内核。 apt install linux-image-generic 安装完成重启后在grub页面选择generic内核启动系统。 (可选)执行以下命令,删除azurelinuxagent,因为agent会一直打印日志到VNC控制台,影响VNC的使用。 sudo apt -y remove walinuxagent
  • 问题描述 Linux操作系统的ECS实例发生异常重启事件,错误提示如下: Kernel panic - not syncing: NMI: Not continuing 同时,内核日志打印如下信息: [645683.754132] Uhhuh. NMI received for unknown reason 20 on CPU 1. [645683.754133] Do you have a strange power saving mode enabled? [645683.754133] Kernel panic - not syncing: NMI: Not continuing
  • 可能原因 如果Linux操作系统ECS实例的内核参数kernel.unknown_nmi_panic配置为1,则ECS会在系统收到NMI中断时主动通过panic系统重启。 通常情况下,将内核参数kernel.unknown_nmi_panic配置为1的目的是为了在发生NMI中断时,主动触发panic,从而进行系统定位。由于个别型号的CPU会在正常业务流程中产生NMI中断,在这种情况下如果将内核参数kernel.unknown_nmi_panic配置为1,将会导致ECS产生非预期的异常重启事件。
  • 解决方案 远程登录ECS实例。 执行以下命令,查看ECS实例内核参数kernel.unknown_nmi_panic的值。 sysctl -n kernel.unknown_nmi_panic 如果内核参数的取值为1,说明是由于内核参数配置错误引起的ECS实例异常重启。 图1 排查结果 执行以下命令,查看是否存在内核参数kernel.unknown_nmi_panic相关配置。 vim /etc/sysctl.conf 在/etc/sysctl.conf文件中,排查是否存在kernel.unknown_nmi_panic的相关配置。 如果存在kernel.unknown_nmi_panic=1的配置,将该配置改为kernel.unknown_nmi_panic=0 如果不存在kernel.unknown_nmi_panic=1的配置,增加kernel.unknown_nmi_panic=0 图2 查看/etc/sysctl.conf文件 按“Esc”,输入:wq保存并退出。 执行以下命令,使配置生效。 sysctl –p 图3 配置生效 该修复方案热生效,无需重启ECS。
  • 问题原因 常见的可能导致系统启动失败或者无法进入系统的系统配置错误如表1所示。 表1 常见系统配置错误 问题类型 典型问题 配置错误 /etc/fstab文件缺失或者配置错误 SELinux配置错误 /etc/security/limits.conf配置错误 /etc/passwd配置格式错误 /etc/shadow配置格式错误 /etc/ssh/sshd_config配置格式错误 文件或目录缺失 /etc/ssh目录被误删 /etc/security目录被误删 /etc/passwd文件被误删 /etc/shadow文件被误删 /etc/ssh/sshd_config文件被误删 文件权限错误 SSH依赖的私钥权限配置过大 SSH依赖的公钥权限配置过大 内核参数配置错误 vm.nr_hugepages配置过大
  • 实施步骤(手动) 安装前准备 创建弹性云服务器,且弹性云服务器已绑定弹性公网IP。 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(x86_64和ARM)?。 登录弹性云服务器,执行如下命令,新建jdk目录和tomcat目录。 cd /home/ mkdir webDemo cd webDemo/ mkdir jdk mkdir tomcat 您可以选择将安装包下载至本地后使用文件传输工具将安装包上传至云服务器。或者选择使用wget命令直接下载安装包至云服务器。 方法一:使用文件传输工具上传安装包至云服务器。 使用WinSCP工具上传jdk软件包至云服务器jdk文件夹。 使用WinSCP工具上传tomcat软件包至云服务器tomcat文件夹。 方法二:使用wget命令直接下载安装包至云服务器。 执行如下命令,进入jdk目录。 cd /home/webDemo/jdk 执行如下命令,下载jdk软件包。 wget jdk软件包下载地址 请参考表1查询jdk下载地址,或者使用其他开源镜像地址获取安装包。 例如:以jdk17为例,在列表中查看可用的JDK软件包版本,以jdk-17_linux-x64_bin.tar.gz安装包为例,执行以下命令。 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 执行如下命令,进入tomcat目录。 cd /home/webDemo/tomcat 执行如下命令,下载tomcat软件包。 请参考表1查询tomcat下载地址,或者使用其他开源镜像地址获取安装包。 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-x/vx.x.xx/bin/apache-tomcat-x.x.xx.tar.gz 例如:单击开源镜像地址,查询当前可用版本,以v8.5.xx版本安装包为例,执行以下命令。 wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.xx/bin/apache-tomcat-8.5.xx.tar.gz --no-check-certificate 设置弹性云服务器安全组规则 单击弹性云服务器名称,查看弹性云服务器详情,在弹性云服务器详情页面,选择“安全组”。 在“安全组”界面,单击“更改安全组规则”,进入安全组详情界面。 在安全组详情界面,单击“添加规则”,弹出添加规则窗口。 根据界面提示配置安全组规则。 部署Java Web环境需为弹性云服务器添加两个安全组规则。 为云服务器添加ICMP安全组规则。 如果云服务器默认设置是禁止ICMP规则,当ping弹性服务器IP时会显示超时。因此首先为云服务器添加ICMP规则。 图3 添加ICMP规则 为云服务器添加web项目分配端口的访问规则,以8080端口为例。 图4 添加8080端口 安装jdk 执行如下命令,进入jdk目录。 cd /home/webDemo/jdk 解压jdk安装包到jdk目录下。 tar -xvf jdk-17_linux-x64_bin.tar.gz -C /home/webDemo/jdk/ 配置环境变量。 vim /etc/profile 在底部添加以下内容。 #set java environment JAVA_HOME=/home/webDemo/jdk/jdk-17.0.x JRE_HOME=$JAVA_HOME PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar export JAVA_HOME JRE_HOME PATH CLASSPATH “jdk-17.0.x”表示jdk安装包的具体版本,实际值需要从步骤2的返回值中获取。 例如:jdk-17.0.9 执行以下命令保存并退出。 :wq 执行以下命令使/etc/profile里的配置生效。 source /etc/profile 验证安装。 java -version 回显信息如下所示验证安装jdk成功。 [root@ecs-c525-web ~]# java -version java version "17.0.9" 2023-10-17 LTS Java(TM) SE Runtime Environment (build 17.0.9+11-LTS-201) Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+11-LTS-201, mixed mode, sharing) 安装tomcat 执行如下命令,进入tomcat目录。 cd /home/webDemo/tomcat 解压tomcat安装包到tomcat目录下。 tar -xvf apache-tomcat-x.x.xx.tar.gz -C /home/webDemo/tomcat/ 例如:以v8.5.xx版本安装包为例,执行以下命令。 tar -xvf apache-tomcat-8.5.xx.tar.gz -C /home/webDemo/tomcat/ 进入tomcat的bin目录,执行以下命令安装tomcat。 cd /home/webDemo/tomcat/apache-tomcat-x.x.xx/ cd bin/ 例如:以v8.5.xx版本安装包为例,执行以下命令。 cd /home/webDemo/tomcat/apache-tomcat-8.5.xx/ cd bin/ 执行如下命令编辑setclasspath.sh脚本。 vi setclasspath.sh 并在setclasspath.sh脚本底部添加以下内容。 请根据资源和成本规划中jdk的版本号替换如下内容中的jdk版本号。 export JAVA_HOME=/home/webDemo/jdk/jdk-17.0.9 export JRE_HOME=$JAVA_HOME 执行如下命令保存后退出。 :wq 可输入以下命令启动tomcat。 ./startup.sh 执行如下命令查看tomcat进程。 ps -ef | grep tomcat 若返回如下图所示,表示tomcat启动成功。 图5 查看tomcat进程 验证Java Web环境搭建完成 在浏览器输入以下内容。 http://云服务器弹性公网IP:8080 如果界面跳转至默认的Tomcat界面,证明Java Web环境搭建完成。就可以在公网访问云服务器的8080端口了。 图6 访问云服务器的8080端口
  • 资源和成本规划 表1 资源和成本规划 资源 资源说明 成本说明 虚拟私有云VPC VPC网段:192.168.0.0/16 免费 虚拟私有云子网 可用区:可用区1 子网网段:192.168.0.0/24 免费 安全组 入方向规则1: 优先级:1 策略:允许 类型:IPv4 协议端口:ICMP: 全部 源地址:0.0.0.0/0 入方向规则2: 优先级:1 策略:允许 类型:IPv4 协议端口:TCP: 8080 源地址:0.0.0.0/0 免费 弹性云服务器 计费模式:包年/包月 可用区:可用区1 规格:c7.large.2 镜像:CentOS 7.4 64bit 系统盘:40G 弹性公网IP:现在购买 线路:全动态BGP 公网带宽:按流量计费 带宽大小:5 Mbit/s ECS涉及以下几项费用: 云服务器 云硬盘 弹性公网IP 具体的计费方式及标准请参考计费模式概述。 jdk Java开发工具软件。 获取方式: http://www.oracle.com/technetwork/java/javase/downloads 免费 tomcat 是一款开源的Web应用服务器。 获取方式: http://tomcat.apache.org/download-80.cgi 免费 PuTTY 跨平台远程访问工具。用于在软件安装过程中在Windows系统上访问云服务器。 获取方式: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 免费 WinSCP 跨平台文件传输工具。用于在Windows系统和Linux系统间传输文件。 获取方式: http://winscp.net/ 免费
  • 简介 本文介绍了如何在华为云上使用弹性云服务器的Linux实例手工部署Docker,并提供了Docker常用操作及简单的镜像制作过程。 表1 Docker相关术语 术语 解释 Docker Docker是开发人员和系统管理员使用容器开发、部署和运行应用程序的平台。 镜像 Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。 容器 镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。 该指导以“Debian 12.0.0 64bit”操作系统为例,Docker要求64位的系统且内核版本至少为3.10。 您还可以选择Solution as Code一键式部署方式自动部署Docker Swarm集群,详细内容请参见快速部署高可用的Docker Swarm集群。