华为云用户手册

  • 搭建Web环境 安装Web环境 将弹性公网IP从云服务器discuz01上解绑,并绑定至云服务器discuz02上。 远程登录云服务器discuz02,填写用户名和密码。 依次执行以下命令,安装MySQL。 wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-11.noarch.rpm yum -y install mysql80-community-release-el7-11.noarch.rpm yum -y install mysql-community-server --nogpgcheck 执行以下命令,安装Apache服务器。 yum -y install httpd httpd-manual mod_ssl mod_perl 依次执行以下命令,安装EPEL源、Remi仓库,并启用PHP 8.0仓库。 yum -y install epel-release yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm yum -y install yum-utils yum-config-manager --enable remi-php80 执行以下命令,安装PHP。 yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json 执行以下命令,验证PHP的安装版本。 php -v 回显如下类似信息: PHP 8.0.30 (cli) (built: Jun 4 2024 15:19:49) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.30, Copyright (c) Zend Technologies 配置Web环境 执行以下命令,启动httpd服务。 service httpd start 执行以下命令,设置开机自动启动httpd服务。 chkconfig httpd on 执行以下命令,启动php-fpm服务。 service php-fpm start 执行以下命令,设置开机自动启动php-fpm服务。 chkconfig php-fpm on 执行以下命令,关闭防火墙。 systemctl stop firewalld.service 执行以下命令,重新查看防火墙状态是否为关闭。 systemctl status firewalld 执行以下命令,启动MySQL服务。 systemctl start mysqld 执行以下命令,设置开机自动启动MySQL服务。 systemctl enable mysqld.service 在浏览器中输入http://弹性公网IP地址 ,即可访问服务器的默认主页。
  • 应用场景 华为云可以为您提供丰富的解决方案,现以搭建网站业务为例介绍华为云的应用场景。 小型网站一般会部署在单台服务器上,用户对页面的访问,动静态内容的使用,数据库的使用和计算全部是在一台服务器上完成的。当网站业务发展到中型规模时,数据库的访问量剧增,单台服务器配置已不能满足业务要求,此时,可将数据库和网站程序分开部署在不同的服务器上分担性能压力。 本章节以搭建某论坛网站为例进行介绍,该论坛网站具体以下特点: 数据节点与业务节点分开部署在不同的服务器上。 可针对不同业务量动态调整服务器个数。 可自动将流量分发到多台服务器。 在Internet上可通过 域名 直接访问到该网站。
  • 方案架构 针对网站的特点,使用华为云搭建论坛网站采用表1所示方案。 您还可以选择Solution as Code一键式部署方式自动部署Discuz论坛网站,详细内容请参见基于Discuz快速构建论坛网站。 表1 建站方案及所需服务 需求 华为云方案 涉及服务 数据节点与业务节点分开部署在不同的服务器上 购买两台弹性云服务器代替传统服务器,分别作为网站的数据节点和基础业务节点。 由虚拟私有云为弹性云服务器提供网络资源。 购买服务器过程中,用户可以根据实际部署方案的要求,选择是否为云服务器挂载云硬盘作为数据盘。 弹性云服务器 虚拟私有云 云硬盘(可选) 针对不同业务量动态调整服务器个数 根据业务需求和策略采用弹性伸缩,使用基础业务节点的镜像动态地调整作为业务节点的弹性云服务器实例个数,保证业务平稳健康运行。 弹性伸缩 自动将流量分发到多台服务器 使用负载均衡将访问流量自动分发到多台业务节点弹性云服务器,扩展应用系统对外的服务能力,实现更高水平的应用程序容错性能。 弹性负载均衡 在Internet上可通过域名直接访问到该网站 为该网站注册域名 备案网站 根据国家规定,如果客户网站所使用的服务器是在中国大陆,就需要进行ICP备案,没有备案的域名不能访问网站。 为域名配置解析记录。 域名注册 云解析服务 备案
  • 操作步骤 搭建LAMP环境,请参见手工搭建LAMP环境(CentOS 7.8 PHP7.0)。 下载并配置Drupal。 依次执行以下命令,进入网站根目录并下载Drupal安装包。 cd /var/www/html wget http://ftp.drupal.org/files/projects/drupal-8.1.1.zip 依次执行以下命令,解压安装包并重命名。 unzip drupal-8.1.1.zip mv drupal-8.1.1/ drupal/ 依次执行以下命令,下载中文语言包。 cd drupal/ wget -P sites/default/files/translations https://ftp.drupal.org/files/translations/8.x/drupal/drupal-8.7.8.zh-hans.po 执行以下命令,打开 Apache 配置文件。 vim /etc/httpd/conf/httpd.conf 按i键进入编辑模式。 将下图所示位置的配置参数“AllowOverride None ”改为“ AllowOverride all ”: 按Esc键退出编辑模式,并输入:wq保存后退出。 执行以下命令,修改网站根目录用户权限。 chown -R apache:apache /var/www/html 执行以下命令,重启Apache服务。 systemctl restart httpd 配置数据库信息。 执行以下命令,并按照提示信息输入MySQL的root用户,登录到MySQL命令行。 mysql -u root -p 执行以下命令,创建一个新的数据库。 CREATE DATABASE drupal; 其中,“drupal”为数据库名,可以自行设置。 执行以下命令,为数据库创建用户并为用户分配数据库的完全访问权限。 GRANT ALL ON drupal.* TO user@localhost IDENTIFIED BY 'xxxxx'; 其中,“user”为数据库用户名,“xxxxx”为对应的账户密码,可以自行设置。 执行以下命令,退出MySQL命令行。 exit (可选)依次执行以下命令,验证数据库和用户是否已成功创建,并退出MySQL命令行。 mysql -u user -p SHOW DATABASES exit 其中,“user”为刚刚创建的数据库用户名。 安装Drupal。 浏览器访问“http://服务器IP地址/drupal”进入安装向导。 选择语言为简体中文后单击“Save and continue”。 选择标准安装方式,单击“保存并继续”。 填写已配置完成的数据库信息,单击“保存并继续”。 自动安装完成后进入网站设置界面,填写站点信息,单击“保存并继续”。 安装完成后,网站自动进入首页并登录维护账号。 您已成功搭建 Drupal 个人站点,可根据实际需求对网站进行个性化设置。
  • 简介 本文介绍了如何在华为云上使用弹性云服务器的Linux实例手工搭建Drupal电子商务网站。 Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。Drupal用于构造提供多种功能和服务的动态网站,能支持从个人博客到大型社区等各种不同应用的网站项目。 更多关于Drupal的信息请参考https://www.drupal.org/。
  • 前提条件 已购买一台弹性云服务器,且已为其绑定弹性公网IP。 弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则。 表1 安全组规则 方向 优先级 策略 类型 协议端口 源地址 入方向 1 允许 IPv4 TCP: 80 0.0.0.0/0 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(x86_64和ARM)?。
  • 资源规划 本次实践所用的资源配置及软件版本如表2中所示。当您使用不同的硬件规格或软件版本时,本指导中的命令及参数可能会发生改变,需要您根据实际情况进行调整。 表2 资源和成本规划 资源 资源说明 成本说明 弹性云服务器 计费模式:按需计费 可用区:可用区1 规格:c7.large.2 镜像:CentOS 7.8 64bit 系统盘:40G 弹性公网IP:现在购买 线路:全动态BGP 公网带宽:按流量计费 带宽大小:5 Mbit/s E CS 涉及以下几项费用: 云服务器 云硬盘 弹性公网IP 具体的计费方式及标准请参考计费模式概述。 Apache 是一个开放源码的Web服务器。 免费 MySQL 是一款开源的关系数据库软件。 获取方式: http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 免费 PHP 是一款开源软件,用于Web开发。 获取方式: https://mirror.webtatic.com/yum/el7/epel-release.rpm https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 免费 Drupal 使用PHP语言编写的开源内容管理框架。 获取方式: http://ftp.drupal.org/files/projects/drupal-8.1.1.zip https://ftp.drupal.org/files/translations/8.x/drupal/drupal-8.7.8.zh-hans.po 免费
  • 前提条件 弹性云服务器已绑定弹性公网IP。 弹性云服务器所在安全组添加了如下表所示的安全组规则,具体步骤参见为安全组添加安全组规则。 表1 安全组规则 方向 优先级 策略 类型 协议端口 源地址 入方向 1 允许 IPv4 TCP: 80 0.0.0.0/0 为了更好的获取和更新系统和软件,建议您更新镜像源为华为云镜像源,详细操作,请参见如何使用自动化工具配置华为云镜像源(x86_64和ARM)?。
  • 资源规划 本次实践所用的资源配置及软件版本如表2中所示。当您使用不同的硬件规格或软件版本时,本指导中的命令及参数可能会发生改变,需要您根据实际情况进行调整。 表2 资源和成本规划 资源 资源说明 成本说明 弹性云服务器 计费模式:按需计费 可用区:可用区1 规格:c7.large.2 镜像:CentOS 7.8 64bit 系统盘:40G 弹性公网IP:现在购买 线路:全动态BGP 公网带宽:按流量计费 带宽大小:5 Mbit/s ECS涉及以下几项费用: 云服务器 云硬盘 弹性公网IP 具体的计费方式及标准请参考计费模式概述。 Apache 是一个开放源码的Web服务器。 免费 MySQL 是一款开源的关系数据库软件。 获取方式: http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 免费 PHP 是一款开源软件,用于Web开发。 获取方式: https://mirror.webtatic.com/yum/el7/epel-release.rpm https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 免费
  • 资源和成本规划 表1 资源和成本规划 资源 资源说明 每月费用 虚拟私有云VPC VPC网段:192.168.0.0/16 免费 虚拟私有云子网 可用区:可用区1 子网网段:192.168.0.0/24 免费 安全组 入方向规则: 协议/应用:TCP 端口:80 源地址:0.0.0.0/0 免费 弹性公网IP 计费模式:包年/包月 线路:全动态BGP 带宽大小:1 Mbit/s 购买时长:1个月 具体的计费方式及标准请参考计费说明。 弹性云服务器 计费模式:按需计费 可用区:可用区1 规格:s3.medium.4 镜像:CentOS 系统盘:40G 数据盘:500G 所属VPC:VPC_DISCUZ 弹性公网IP:使用已有 ECS涉及以下几项费用: 云服务器 云硬盘 具体的计费方式及标准请参考计费模式概述。 计费模式:按需计费 可用区:可用区1 规格:s3.medium.4 镜像:CentOS 系统盘:40G 数据盘:100G 所属VPC:VPC_DISCUZ 弹性公网IP:暂不购买 弹性负载均衡 负载均衡器: 实例规格类型:共享型 计费模式:按需计费 弹性公网IP:使用已有 监听器: 前端协议:TCP 端口:80 后端服务器: 后端协议:TCP 分配策略类型:加权轮询算法 会话保持:开启 端口:80 具体的计费方式及标准请参考计费说明。 镜像服务 将弹性云服务器制作为系统盘镜像。 免费 弹性伸缩 伸缩配置: 计费模式:按需计费 配置模板:使用新模板 规格:s3.medium.4 镜像:私有镜像 弹性伸缩组: 可用区:可用区1 最大实例数:50 期望实例数:2 最小实例数:0 负载均衡:使用弹性负载均衡 健康检查方式:负载均衡健康检查 伸缩带宽策略: 触发条件:CPU使用率最大值大于70% 监控周期:5分钟 连续出现次数:3次 执行动作:增加1个实例 冷却时间:300秒 具体的计费方式及标准请参考计费标准。 域名注册服务 用于访问搭建的Discuz论坛网站。 域名的价格以域名注册商所示为准,请参考域名注册商帮助文档。 如果您通过华为云的域名注册服务购买域名,具体的计费方式及标准请参考计费说明。 购买服务及配置特性时,操作步骤中未框选的配置项请保持默认值。 申请服务时,未开通企业管理的用户页面无“企业项目”参数项,无需进行配置。如需开通企业项目,请参考如何开通企业项目/企业多账号。 父主题: 搭建Discuz论坛网站
  • 场景介绍 当专属资源池中的节点含有GPU/Ascend资源时,用户基于自己的业务,可能会有自定义GPU/Ascend驱动的需求,ModelArts面向此类客户提供了自助升级专属资源池GPU/Ascend驱动的能力。 驱动升级有两种升级方式:安全升级、强制升级。 安全升级:不影响正在运行的业务,开始升级后会先将节点进行隔离(不能再下发新的作业),待节点上的存量作业运行完成后再进行升级,因需要等待作业完成,故升级周期可能比较长。 强制升级:忽略资源池中正在运行的作业,直接进行驱动升级,可能会导致运行中作业失败,需谨慎选择。
  • 管理Lite Cluster节点池 为帮助您更好地管理Kubernetes集群内的节点,ModelArts支持通过节点池来管理节点。一个节点池包含一个节点或多个节点,能通过节点池批量配置一组节点。 在资源池详情页,单击“节点池管理”页签,您可以创建、更新和删除节点池。 图1 节点池管理 创建节点池 当您需要更多节点池时,可单击“创建节点池”新增节点池,相关参数请参见Step6 购买Cluster资源。 查看节点列表 当您想查看某一节点池下的节点相关信息,可单击操作列的“节点列表”,可查询节点的名称、规格及可用区。 更新节点池 当您想更新节点池配置时,可单击操作列的“更新”,相关参数介绍请参见Step6 购买Cluster资源。 需注意,更新节点池配置时,高级配置仅对新增的节点生效,其中“存量节点标签及污点”、“存量节点资源标签”支持对存量节点同步改动(勾选对应的复选框)。 节点池中更新的“资源标签”信息会同步到节点上。 图2 更新节点池 删除节点池 当有多个节点池时,支持删除节点池,此时在操作列会显示“删除”按钮,单击“删除”后输入“DELETE”并单击“确定”即可。 每个资源池至少需要有一个节点池,当只有一个节点池时不支持删除。 查看节点池的存储配置 在节点池管理的更新页面,可以查看该节点池配置的系统盘、容器盘或数据盘的磁盘类型、大小、数量、写入模式、容器引擎空间大小、挂载路径磁盘配置等参数。 在Lite资源池的扩缩容页面,也可以查看节点池的存储配置信息。 查找搜索节点池 在节点池管理页面的搜索栏中,支持通过节点池名称、规格 、容器引擎空间大小、可用区等关键字搜索节点池。 设置节点池列表显示信息 在节点池管理页面中,单击右上角的设置图标,支持对节点池列表中显示的信息进行自定义。 父主题: Lite Cluster资源管理
  • 插件版本与CCE集群版本适配关系 表3 插件版本与CCE集群版本适配关系 类别 插件名称 插件版本 适配CCE集群版本 适用范围、约束 插件功能描述 ccePlugin gpu-beta 2.0.48(推荐) v1.(23|25).* GPU 支持在容器中使用GPU显卡的设备管理插件。 1.2.15 v1.23.* huawei-npu 2.1.5(推荐) v1.(23|25).* NPU 支持容器里使用huawei NPU设备的管理插件。 volcano 1.11.9(推荐) v1.(23|25).* NPU 基于Kubernetes的批处理平台。 npuDriver npu-driver 7.1.0.7.220-23.0.5(推荐) 7.1.0.5.220-23.0.3 无约束 NPU 用于升级、回滚npu驱动。 helm rdma-sriov-dev-plugin 0.1.0 无约束 适用于BMS、RDMA且非ascend-1980 用于支持容器里使用RDMA网卡。 memarts 3.23.6-r002 无约束 无约束 近计算侧分布式缓存插件,用于存储加速。 os-node-agent 6.5.0-20240529142433 无约束 无约束 OS插件,用于故障检测。 icAgent icagent default CCE默认安装当前适配版本 无约束 CCE基础组件,用于日志和监控。 gpuDriver gpu-driver 515.65.01(推荐) 510.47.03 470.182.03 470.57.02 gpu-driver与系统内核版本有关,请见表4。 用于升级、回滚gpu驱动,插件依赖gpu-beta版本。
  • 系统内核与gpu-driver配套关系 表4 系统内核与gpu-driver配套关系 镜像版本 系统内核版本 适配CCE gpu-driver版本 EulerOS 2.10 4.18.0-147.5.2.15.h1109.eulerosv2r10.x86_64 v1.(23|25|27|28).* 容器隧道网络|VPC|ENI 470.57.02 4.18.0-147.5.2.5.h805.eulerosv2r10.x86_64 v1.(23|25|27).* 容器隧道网络|VPC|ENI 470.57.02 EulerOS 2.9 4.18.0-147.5.1.6.h841.eulerosv2r9.x86_64 v1.(23|25|27|28).* 容器隧道网络|VPC 470.57.02 EulerOS 2.3 3.10.0-514.44.5.10.h193.x86_64 v1.(23|25).* 容器隧道网络|VPC 470.57.02 3.10.0-514.44.5.10.h254.x86_64 v1.(23|25).* 容器隧道网络|VPC 470.57.02
  • 裸金属服务器的对应的软件配套版本 表1 裸金属服务器 类型 卡类型 RDMA网络协议 操作系统 适用范围、约束 依赖插件 NPU ascend-snt9b RoCE 操作系统:EulerOS 2.10 64bit(推荐) 内核版本:4.19.90-vhulk2211.3.0.h1543.eulerosv2r10.aarch64 架构类型:aarch64 集群类型:CCE Standard 集群版本:v1.23(v1.23.5-r0及以上版本)|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs huawei-npu npu-driver volcano 插件版本匹配关系请见表3。 RoCE 操作系统:Huawei Cloud EulerOS 2.0 64bit 内核版本:5.10.0-60.18.0.50.r865_35.hce2.aarch64 架构类型:aarch64 集群类型: CCE Turbo 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:ENI 集群转发模式:iptables|ipvs ascend-snt9 RoCE 操作系统:EulerOS 2.8 64bit 内核版本:4.19.36-vhulk1907.1.0.h619.eulerosv2r8.aarch64 架构类型:aarch64 集群类型:CCE Standard|Turbo 集群版本:v1.23(v1.23.5-r0及以上版本)|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC|ENI 集群转发模式:iptables|ipvs GPU gp-ant8 RoCE 操作系统:EulerOS 2.10 64bit 内核版本:4.18.0-147.5.2.15.h1109.eulerosv2r10.x86_64 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 分布式训练时仅支持容器隧道网络 集群转发模式:iptables|ipvs gpu-beta gpu-driver rdma-sriov-dev-plugin 插件版本匹配关系请见表3。 gp-ant1 RoCE 操作系统:EulerOS 2.10 64bit 4.18.0-147.5.2.15.h1109.eulerosv2r10.x86_64 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 分布式训练时仅支持容器隧道网络 集群转发模式:iptables|ipvs gp-vnt1 RoCE|IB 操作系统:EulerOS 2.9 64bit(仅上海一p6|p6s规格使用) 内核版本:147.5.1.6.h1099.eulerosv2r9.x86_64 架构类型:x86 集群类型:CCE Standard| 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 分布式训练时仅支持容器隧道网络 集群转发模式:iptables|ipvs 操作系统:EulerOS 2.9 64bit(推荐) 内核版本:4.18.0-147.5.1.6.h841.eulerosv2r9.x86_64 架构类型:x86 RDMA:Remote Direct Memory Access(RDMA)是一种直接内存访问技术,将数据直接从一台计算机的内存传输到另一台计算机。 RoCE:RDMA over Converged Ethernet(RoCE)是一种网络协议,允许应用通过以太网实现远程内存访问。 IB:InfiniBand (IB) 是一种高性能计算机网络通信协议,专为高性能计算和数据中心互连设计。
  • 弹性云服务器的对应的软件配套版本 表2 弹性云服务器 类型 卡类型 操作系统 适用范围 依赖插件 NPU ascend-snt3p-300i 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard、CCE Turbo 集群版本:v1.23(v1.23.5-r0及以上版本)|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC|ENI 集群转发模式:iptables|ipvs huawei-npu npu-driver volcano 插件版本匹配关系请见表3。 ascend-snt3 操作系统:EulerOS 2.5 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs 操作系统:EulerOS 2.8 架构类型:arm 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs GPU gp-vnt1 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs gpu-beta gpu-driver rdma-sriov-dev-plugin 插件版本匹配关系请见表3。 gp-ant03 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs gp-ant1-pcie40 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs gp-tnt004 操作系统:EulerOS 2.9 架构类型:x86 集群类型:CCE Standard 集群版本:v1.23|v1.25(推荐) 集群规模:50|200|1000|2000 集群网络模式:容器隧道网络|VPC 集群转发模式:iptables|ipvs
  • 配置流程 图1 Lite Cluster资源配置流程图 表1 Cluster资源配置流程 配置顺序 配置任务 场景说明 1 配置Lite Cluster网络 购买资源池后,需要弹性公网IP并进行网络配置,配置网络后可通过公网访问集群资源。 2 配置kubectl工具 kubectl是Kubernetes集群的命令行工具,配置kubectl后,您可通过kubectl命令操作Kubernetes集群。 3 配置Lite Cluster存储 如果没有挂载任何外部存储,此时可用存储空间根据dockerBaseSize的配置来决定,可访问的存储空间比较小,因此建议通过挂载外部存储空间解决存储空间受限问题。容器中挂载存储有多种方式,不同的场景下推荐的存储方式不一样,您可根据业务实际情进行选择。 4 (可选)配置驱动 当专属资源池中的节点含有GPU/Ascend资源时,为确保GPU/Ascend资源能够正常使用,需要配置好对应的驱动。如果在购买资源池时,没配置自定义驱动,默认驱动不满足业务要求,可通过本章节将驱动升级到指定版本。 5 (可选)配置镜像预热 Lite Cluster资源池支持镜像预热功能,镜像预热可实现将镜像提前在资源池节点上拉取好,在推理及大规模分布式训练时有效缩短镜像拉取时间。
  • Label指标介绍 表3 Label名字栏 指标对象 Label名字 Label描述 容器级别指标 pod_name 容器所属pod的名字。 pod_id 容器所属pod的ID。 node_ip 容器所属的节点IP值。 container_id 容器ID。 cluster_id 集群ID。 cluster_name 集群名称。 container_name 容器名称。 namespace 是用户创建的POD所在的命名空间。 app_kind 取自首个ownerReferences的kind字段。 app_id 取自首个ownerReferences的uid字段。 app_name 取自首个ownerReferences的name字段。 npu_id 昇腾卡的ID信息,比如davinci0(即将废止)。 device_id 昇腾系列AI处理器的Physical ID。 device_type 昇腾系列AI处理器类型。 pool_id 物理专属池对应的资源池id。 pool_name 物理专属池对应的资源池name。 gpu_uuid 容器使用的GPU的UUID。 gpu_index 容器使用的GPU的索引。 gpu_type 容器使用的GPU的型号。 node级别指标 cluster_id 该node所属CCE集群的ID。 node_ip 节点的IP。 host_name 节点的主机名。 pool_id 物理专属池对应的资源池ID。 project_id 物理专属池的用户的project id。 npu_id 昇腾卡的ID信息,比如davinci0(即将废止)。 device_id 昇腾系列AI处理器的Physical ID。 device_type 昇腾系列AI处理器类型。 gpu_uuid 节点上GPU的UUID。 gpu_index 节点上GPU的索引。 gpu_type 节点上GPU的型号。 device_name infiniband或RoCE网络网卡的设备名称。 port IB网卡的端口号。 physical_state IB网卡每个端口的状态。 firmware_version IB网卡的固件版本。 filesystem NFS挂载的文件系统。 mount_point NFS的挂载点。 Diagnos cluster_id GPU所在节点所属的CCE集群ID。 node_ip GPU所在节点的IP。 pool_id 物理专属池对应的资源池ID。 project_id 物理专属池的用户的project id。 gpu_uuid GPU的UUID。 gpu_index 节点上GPU的索引。 gpu_type 节点上GPU的型号。 device_name infiniband或RoCE网络网卡的设备名称。 port IB网卡的端口号。 physical_state IB网卡每个端口的状态。 firmware_version IB网卡的固件版本。
  • Step2 基础权限开通 基础权限开通需要登录管理员账号,为子用户账号开通使用资源池所需的基础权限。 登录 统一身份认证 服务管理控制台。 单击目录左侧“用户组”,然后在页面右上角单击“创建用户组”。 填写“用户组名称”并单击“确定”。 在操作列单击“用户组管理”,将需要配置权限的用户加入用户组中。 单击用户组名称,进入用户组详情页。 在权限管理页签下,单击“授权”。 图2 “配置权限” 在搜索栏输入“ModelArts FullAccess”,并勾选“ModelArts FullAccess”。 图3 ModelArts FullAccess 以相同的方式,依次添加如下权限: ModelArts FullAccess CTS Administrator CCE Administrator BMS FullAccess IMS FullAccess DEW KeypairReadOnlyAccess VPC FullAccess ECS FullAccess SFS Turbo FullAccess OBS Administrator AOM FullAccess TMS FullAccess BSS Administrator 单击“下一步”,授权范围方案选择“所有资源”。 单击“确认”,完成基础权限开通。
  • Step5 购买CCE集群 购买Cluster资源池时,需要选择CCE集群,若您没有可用的CCE集群,可参考购买Standard/Turbo集群进行购买,集群配套版本请参考不同机型的对应的软件配套版本。 创建Cluster资源池时,请确保CCE集群为“运行中”状态。 当前仅支持CCE集群1.23&1.25&1.28版本。 若您没有可用的CCE集群,可先创建CCE集群。CCE 1.28集群版本支持通过控制台、API方式创建,CCE 1.23和CCE 1.25版本支持通过API方式创建。不同版本的CCE集群创建方式请见Kubernetes版本策略。 若您已有CCE集群,但CCE集群版本低于1.23,则可参考升级集群的流程和方法,建议将集群升级至1.28版本。
  • 集群资源开通流程 开通集群资源过程中用户侧需要完成的任务流程如下图所示。 图1 用户侧任务流程 表1 Cluster资源开通流程 任务 说明 Step1 申请开通资源规格 当前部分规格为受限购买,需要提前联系客户经理申请开通资源规格,预计1~3个工作日内开通(若无客户经理可提交工单反馈)。 Step2 基础权限开通 为子用户开通使用资源池所需要的权限。 Step3 在ModelArts上创建委托授权 第一次使用ModelArts时需要创建委托授权,授权允许ModelArts代表用户去访问其他云服务。 如果之前已经创建过委托授权,需要更新委托相应的权限。 Step4 申请扩大资源配额 集群所需的ECS实例数、内存大小、CPU核数和EVS硬盘大小等资源会超出华为云默认提供的资源配额,因此需要申请扩大配额。 具体的配额方案请联系客户经理获取。 配额需大于要开通的资源,且在购买开通前完成配额提升,否则会导致资源开通失败。 Step5 购买CCE集群 购买Cluster资源池时,需要选择CCE集群,若您没有可用的CCE集群需要提前在CCE控制台购买。 Step6 购买Cluster资源 在ModelArts控制台上购买Cluster资源。
  • 替换节点 “节点管理”页签中提供对单个节点替换的功能。可单击操作列的“替换”,即可实现对单个节点的替换。替换节点操作不会收取费用。 单击“操作记录”可查看当前资源池替换节点的操作记录。“运行中”表示节点在替换中。替换成功后,节点列表中会显示新的节点名称。 替换最长时间为24小时,超时后仍然未找到合适的资源,状态会变为“失败”。可将鼠标悬浮在图标上,查看具体失败原因。 每天累计替换的次数不超过资源池节点总数的20%,同时替换的节点数不超过资源池节点总数的5%。 替换节点时需确保有空闲节点资源,否则替换可能失败。 当操作记录里有节点处于重置中时,该资源池无法进行替换节点操作。
  • 滚动发布方式重新部署组件 登录ServiceStage控制台。 选择以下任意方式进入组件“部署记录”页面: 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“部署记录”。 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“部署记录”。 在“部署记录”列表,选择待作为配置模板的历史版本部署记录。 单击在页面右上方“使用此版本重新部署”,弹出“重新部署”对话框。 “部署类型”选择“滚动发布”,单击“确定”。 参考下表设置组件版本配置信息,其中带“*”标志的参数为必填参数。 参数 说明 技术栈 选择组件技术栈及版本。 技术栈详情,请参考技术栈简介。 *YAML模式 部署环境为Kubernetes类型时,支持选择使用YAML配置来重新部署组件。 选择关闭:使用界面配置来重新部署组件。 选择开启:使用YAML配置来重新部署组件,从部署了待升级组件的CCE自动同步组件最新负载信息用于修改后重新部署组件。您也可以单击“导入YAML文件”,导入已经编辑好的待重新部署组件YAML配置文件。 说明: 使用YAML配置来重新部署组件,组件YAML配置文件中各参数的说明请参考Deployment。 *软件包/镜像 固定为创建并部署组件时选择的组件来源。 容器部署方式部署的组件且“YAML模式”选择关闭:选择“源码仓库”,参考创建仓库授权创建授权,设置代码来源;选择软件包或者镜像包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip)或者镜像包类型。由您选择的技术栈类型决定,具体情况请参考表1。 容器部署方式部署的组件且“YAML模式”选择开启:选择“源码仓库”,参考创建仓库授权创建授权,设置代码来源;选择软件包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip)。由您选择的技术栈类型决定,具体情况请参考表1。技术栈选择Docker时,无此参数。 虚拟机部署方式部署的组件:选择软件包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip、压缩包)。由您选择的技术栈类型决定,具体情况请参考表1。 *上传方式 容器部署方式部署的组件且“YAML模式”选择关闭:选择软件包或者镜像包,重新选择已上传的软件包/镜像包,上传方式请参考组件来源说明。 说明: 如果选择的是镜像包: 如果创建并部署组件时已经勾选了“启用多容器”,选择指定的容器,单击,可以指定该容器为初始化容器,用于业务容器启动前安装特定工具或脚本。多个容器中,至少需要指定一个容器作为业务容器(非初始化容器)。初始化容器详情,请参考Init容器。 可重新自定义容器名称:长度为1到63个字符,可以包含小写英文字母、数字或中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 单击已选择的容器卡片右上角的,可修改容器的镜像包来源。 容器部署方式部署的组件且“YAML模式”选择开启:选择软件包,重新选择已上传的软件包,上传方式请参考组件来源说明。技术栈选择Docker时,无此参数。 虚拟机部署方式部署的组件:选择软件包,可重新选择已上传的软件包,上传方式请参考组件来源说明。 如果组件来源为软件包且需要使用例如JFrog(制品仓库)作为软件包存储仓库,您可以选择“自定义文件地址”上传方式。 输入软件包所在的自定义HTTP/HTTPS协议的文件下载地址。 选择是否开启认证。 不开启认证,则默认任何用户都可以下载上传到自定义文件地址的软件包。 单击开启认证,则只有通过认证的用户才能下载上传到自定义文件地址的软件包。“认证方式”支持“用户密码认证”、“自定义Header认证”,认证方式及对应的认证参数由您自定义的文件地址所在服务器支持的认证方式决定。 镜像访问凭证 容器部署方式部署的组件,支持设置。 最多支持选择16个镜像访问凭证。 单击“创建密钥”,可以创建新的镜像访问凭证。请参考创建密钥,“密钥类型”必须选择kubernetes.io/dockerconfigjson。 *编译命令 容器部署方式部署的组件且“YAML模式”选择关闭、组件来源是“源码仓库”,所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时,支持设置“编译命令”。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package。 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。 须知: 选择“使用自定义命令”时,请在echo、cat、debug命令中慎用敏感信息或者进行敏感信息加密,以免造成敏感信息泄露。 在项目子目录下执行编译命令,需先进入项目子目录,再执行其余脚本命令。例如: cd ./weather/ mvn clean package *Dockerfile地址 容器部署方式部署的组件且“YAML模式”选择关闭、组件来源是“源码仓库”,所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时,支持设置“Dockerfile地址”。 “Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。 如果未指定“Dockerfile地址”,默认查找项目根目录下的Dockerfile;如果项目根目录下也没有Dockerfile文件,则根据选定的运行环境自动生成Dockerfile。 *组件版本 组件版本号,支持自动生成和自定义版本号。 自动生成版本号:单击“自动生成”,默认以您单击“自动生成”时的时间来生成版本号,格式为yyyy.mmdd.hhmms,s取时间戳中秒数的个位值。例如:时间戳为2022.0803.104321,则版本号为2022.0803.10431。 自定义版本号:输入格式为A.B.C或者A.B.C.D,A、B、C、D为自然数。例如,1.0.0或者1.0.0.0。 须知: 自定义版本号需唯一,请勿与该组件的历史版本号重复,否则会导致本次部署记录覆盖掉相同版本的历史部署记录。 *容器名称 组件部署方式为容器部署、技术栈不是Docker且“YAML模式”选择关闭时,需设置此参数。 长度为1到63个字符串,可以包含小写英文字母、数字或中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 资源 固定为选择的历史版本配置,不可修改。 容器部署方式部署的组件且“YAML模式”选择关闭时,支持此参数。 JVM参数 固定为选择的历史版本配置,不可修改。 容器部署方式部署的组件且“YAML模式”选择关闭、组件技术栈类型为Java/Tomcat时,可用于配置Java代码运行时的内存参数大小。 Tomcat配置 固定为选择的历史版本配置,不可修改。 容器部署方式部署的组件且“YAML模式”选择关闭、组件技术栈类型为Tomcat时,可用于配置Tomcat请求路径、端口号等参数。 云服务配置 组件部署方式为容器部署,“YAML模式”选择关闭时,请参考管理容器部署组件云服务配置,设置“微服务引擎”、“分布式缓存”参数。 组件部署方式为虚拟机部署,请参考虚拟机部署组件绑定微服务引擎,设置“微服务引擎”参数。 容器配置 固定为选择的历史版本配置,不可修改。 容器部署方式部署的组件且“YAML模式”选择关闭时,显示组件的容器配置。 虚拟机配置 固定为选择的历史版本配置,不可修改。 组件部署方式为虚拟机部署时,显示已设置的虚拟机配置。 应用配置 固定为选择的历史版本配置,不可修改。 高级配置 固定为选择的历史版本配置,不可修改。 *部署批次 表示分几个批次升级组件实例,取值范围为[1, 总实例数]。总实例数,即组件当前运行的实例数量。 例如,组件总实例数为4,“部署批次”参数设置为2,则表示会分2批次升级组件版本配置,每批次升级2个组件实例。 *停止前等待时间 组件部署方式为虚拟机部署时可设置。 用于设置停止实例运行前等待时间,以保证已接收的流量处理完成。取值范围为0-600秒,默认设置为30秒。 激进模式 组件部署方式为虚拟机部署时可设置。 单击,开启激进模式,当遇到升级失败时会继续升级剩余实例。 须知: 请谨慎开启激进模式:开启后,极端情况下可能会出现所有实例都升级失败,影响业务功能。 单击“升级”。 在组件重新部署过程中,如果发现组件配置错误等原因,您可以单击“中断”终止组件重新部署,然后单击“升级”,参考升级单个组件版本配置,重新设置组件配置并完成组件重新部署。 等待组件状态由“升级/回滚中”转换为“运行中”,组件重新部署成功。 在组件“部署记录”页面,可查看部署日志。 容器部署方式部署的组件,如果出现“查询工作负载实例状态失败”日志信息,您可以单击“查看事件”,进入事件列表查看详情。 虚机部署方式部署的组件,如果出现“创建虚机应用实例失败”、“查询虚机任务状态失败”或“查询虚机应用实例状态失败”日志信息,您可以单击“查看事件”,进入事件列表查看详情。
  • 前提条件 已创建Kubernetes类型的环境,请参考使用纳管资源配置模式创建Kubernetes环境。 环境中已绑定1.15以上版本的CCE集群,请参考绑定CCE集群。 已绑定的CCE集群cse命名空间下,不能存在名为sermant-injector的配置项、名为sermant-injector-secret的密钥、名为sermant-injector的工作负载或者名为sermant-injector的服务(Service),否则会导致插件安装失败。 关于命名空间,请参考管理命名空间。 关于配置项,请参考管理配置项。 关于密钥,请参考管理密钥。 关于工作负载,请参考工作负载概述。 关于Service,请参考服务概述。 环境中已纳管未开启安全认证的注册配置中心或者2.4.0及以上版本的ServiceComb引擎专享版,请参考纳管基础资源。
  • 安装Sermant Injector 登录ServiceStage控制台。 选择“环境管理”,进入“环境管理”页面。 单击待操作环境名称,进入环境“概览”页面。 选择“插件管理”。 选择“插件”下的“Sermant Injector”插件。 非高可用环境,单击“立即安装”,然后执行6。 高可用环境,请先选择待安装Sermant Injector插件的CCE集群所在的可用区,然后执行6。 参考下表设置安装参数。 参数 参数说明 选择CCE集群 默认选择当前环境下已纳管的CCE集群。 机器类型 CCE集群的CPU架构。 x86_64 aarch64 选择关联的CSE引擎 选择待安装插件的ServiceComb引擎专享版或者注册配置中心。 单击“确定”。 Sermant Injector插件安装成功后,会创建如下表所示内容。 名称 说明 命名空间 在6选择的CCE集群,创建名为cse的命名空间。 说明: 如果6选择的CCE集群已存在名为cse命名空间,安装Sermant Injector插件时,会复用该命名空间。 配置项 在6选择的CCE集群的cse命名空间下,创建名为sermant-injector的配置项。 密钥 在6选择的CCE集群的cse命名空间下,创建名为sermant-injector-secret的密钥。 工作负载 在6选择的CCE集群的cse命名空间下,创建名为sermant-injector的工作负载。 服务 在6选择的CCE集群的cse命名空间下,创建名为sermant-injector的服务(Service)。 Sermant Injector插件安装失败,请参考重新安装Sermant Injector重试。 已安装了Sermant Injector插件的CCE集群,如果被其他环境绑定,则其他环境下需同时纳管该Sermant Injector插件所关联的ServiceComb引擎专享版或者注册配置中心。否则,会导致其他环境下Sermant Injector插件不可用。 纳管ServiceComb引擎专享版,请参考纳管基础资源。
  • 单批发布方式重新部署组件 登录ServiceStage控制台。 选择以下任意方式进入组件“部署记录”页面: 在“应用管理”页面,单击组件所属应用名称,在“组件列表”单击待操作组件名称,在左侧导航栏单击“部署记录”。 在“组件管理”页面,单击待操作组件名称,在左侧导航栏单击“部署记录”。 在“部署记录”列表,选择待作为配置模板的历史版本部署记录。 单击在页面右上方“使用此版本重新部署”,弹出“重新部署”对话框。 “部署类型”选择“单批发布”,单击“确定”。 参考下表设置组件版本配置信息,其中带“*”标志的参数为必填参数。 参数 说明 技术栈 选择组件技术栈及版本。 技术栈详情,请参考技术栈简介。 *YAML模式 选择使用YAML配置来重新部署组件。 选择关闭:使用界面配置来重新部署组件。 选择开启:使用YAML配置来重新部署组件,从部署了待升级组件的CCE自动同步组件最新负载信息用于修改后重新部署组件。您也可以单击“导入YAML文件”,导入已经编辑好的待重新部署组件YAML配置文件。 说明: 使用YAML配置来重新部署组件,组件YAML配置文件中各参数的说明请参考Deployment。 *软件包/镜像 固定为创建并部署组件时选择的组件来源。 “YAML模式”选择关闭:选择“源码仓库”,参考创建仓库授权创建授权,设置代码来源;选择软件包或者镜像包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip)或者镜像包类型。由您选择的技术栈类型决定,具体情况请参考表1。 “YAML模式”选择开启:选择“源码仓库”,参考创建仓库授权创建授权,设置代码来源;选择软件包,则固定为创建并部署组件时选择的软件包类型(Jar、War、Zip)。由您选择的技术栈类型决定,具体情况请参考表1。 技术栈选择Docker时,无此参数。 *上传方式 “YAML模式”选择关闭:选择软件包或者镜像包,重新选择已上传的软件包/镜像包,上传方式请参考组件来源说明。 说明: 如果选择的是镜像包: 如果创建并部署组件时已经勾选了“启用多容器”,选择指定的容器,单击,可以指定该容器为初始化容器,用于业务容器启动前安装特定工具或脚本。多个容器中,至少需要指定一个容器作为业务容器(非初始化容器)。初始化容器详情,请参考Init容器。 可重新自定义容器名称:长度为1到63个字符,可以包含小写英文字母、数字或中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 单击已选择的容器卡片右上角的,可修改容器的镜像包来源。 “YAML模式”选择开启:选择软件包,重新选择已上传的软件包,上传方式请参考组件来源说明。技术栈选择Docker时,无此参数。 如果组件来源为软件包且需要使用例如JFrog(制品仓库)作为软件包存储仓库,您可以选择“自定义文件地址”上传方式。 输入软件包所在的自定义HTTP/HTTPS协议的文件下载地址。 选择是否开启认证。 不开启认证,则默认任何用户都可以下载上传到自定义文件地址的软件包。 单击开启认证,则只有通过认证的用户才能下载上传到自定义文件地址的软件包。“认证方式”支持“用户密码认证”、“自定义Header认证”,认证方式及对应的认证参数由您自定义的文件地址所在服务器支持的认证方式决定。 镜像访问凭证 容器部署方式部署的组件,支持设置。 最多支持选择16个镜像访问凭证。 单击“创建密钥”,可以创建新的镜像访问凭证。请参考创建密钥,“密钥类型”必须选择kubernetes.io/dockerconfigjson。 *编译命令 “YAML模式”选择关闭、组件来源是“源码仓库”且所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时,支持设置“编译命令”。 使用默认命令或脚本:优先执行代码根目录下的build.sh,不存在则按照所选语言的通用方法编译,如Java语言的mvn clean package。 使用自定义命令:根据所选语言自定义编译命令,或修改build.sh文件后选择使用默认命令或脚本。 须知: 选择“使用自定义命令”时,请在echo、cat、debug命令中慎用敏感信息或者进行敏感信息加密,以免造成敏感信息泄露。 在项目子目录下执行编译命令,需先进入项目子目录,再执行其余脚本命令。例如: cd ./weather/ mvn clean package *Dockerfile地址 “YAML模式”选择关闭、组件来源是“源码仓库”且所选择的技术栈类型为Java、Tomcat、Node.js、Python、Php时,支持设置“Dockerfile地址”。 “Dockerfile地址”即Dockerfile文件相对于项目的根目录(./)所在的目录,Dockerfile文件用于镜像构建。 如果未指定“Dockerfile地址”,默认查找项目根目录下的Dockerfile;如果项目根目录下也没有Dockerfile文件,则根据选定的运行环境自动生成Dockerfile。 *组件版本 组件版本号,支持自动生成和自定义版本号。 自动生成版本号:单击“自动生成”,默认以您单击“自动生成”时的时间来生成版本号,格式为yyyy.mmdd.hhmms,s取时间戳中秒数的个位值。例如:时间戳为2022.0803.104321,则版本号为2022.0803.10431。 自定义版本号:输入格式为A.B.C或者A.B.C.D,A、B、C、D为自然数。例如,1.0.0或者1.0.0.0。 须知: 自定义版本号需唯一,请勿与该组件的历史版本号重复,否则会导致本次部署记录覆盖掉相同版本的历史部署记录。 *容器名称 技术栈不是Docker时,需设置此参数。 长度为1到63个字符,可以包含小写英文字母、数字或中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 资源 固定为选择的历史版本配置,不可修改。 “YAML模式”选择关闭时,显示已设置的资源配置。 JVM参数 固定为选择的历史版本配置,不可修改。 “YAML模式”选择关闭、组件技术栈类型为Java/Tomcat时,可用于配置Java代码运行时的内存参数大小。 Tomcat配置 固定为选择的历史版本配置,不可修改。 “YAML模式”选择关闭、组件技术栈类型为Tomcat时,可用于配置Tomcat请求路径、端口号等参数。 云服务配置 “YAML模式”选择关闭时,请参考管理容器部署组件云服务配置,设置“微服务引擎”、“分布式缓存”参数。 容器配置 固定为选择的历史版本配置,不可修改。 “YAML模式”选择关闭时,显示已设置的容器配置。 应用配置 固定为选择的历史版本配置,不可修改。 “YAML模式”选择关闭时,显示已绑定的应用配置。 高级配置 固定为选择的历史版本配置,不可修改。 “YAML模式”选择关闭时,显示已设置的高级配置。 单击“升级”。 在组件重新部署过程中,如果发现组件配置错误等原因,您可以单击“中断”终止组件重新部署,然后单击“升级”,参考升级单个组件版本配置,重新设置组件配置并完成组件重新部署。 等待组件状态由“升级/回滚中”转换为“运行中”,组件重新部署成功。 在组件“部署记录”页面,可查看部署日志。 如果出现“查询工作负载实例状态失败”日志信息,您可以单击“查看事件”,进入事件列表查看详情。
  • 排查步骤 单击已创建的迁移任务名称,进入迁移任务页面。 查看迁移日志。参照迁移故障处理,根据对应的错误日志信息,做对应排查。 图1 查看迁移日志 检查迁移方案是否选择正确。 根据自建Redis迁移至DCS、DCS实例间迁移、其他云厂商Redis服务迁移至DCS的不同场景,选择合适的迁移方案,例如,DCS实例间迁移,高版本不支持迁移到低版本。 迁移方案选择不正确,会导致迁移失败,具体迁移方案,请查看迁移方案介绍。 检查源Redis是否放通SYNC和PSYNC命令,迁移任务底层资源与源Redis、目标Redis网络是否连通。 如果是在线迁移,才涉及该操作。 在线迁移,必须满足源Redis和目标Redis的网络相通、源Redis已放通SYNC和PSYNC命令这两个前提,否则,会迁移失败。 网络 检查源Redis、目标Redis、迁移任务所需虚拟机是否在同一个VPC,如果是同一个VPC,则检查安全组(Redis 3.0/Redis 6.0企业版实例)或白名单(Redis 4.0/5.0/6.0基础版实例)是否放通端口和IP,确保网络是连通的;如果不在同一个VPC,则需要建立VPC对等连接,打通网络。 源Redis和目标Redis必须允许迁移任务底层虚拟机访问。实例安全组或白名单配置,请参考配置安全组、配置白名单。 迁移任务的安全组“出方向规则”需放通端口和IP,确保迁移任务底层虚拟机可以访问源Redis和目标Redis,请参考配置安全组。 源Redis和目标Redis属于不同的云厂商,请参考云专线打通网络。 Redis 4.0/5.0/6.0基础版实例需要放通白名单的目的,是允许迁移任务底层虚拟机可以访问源Redis和目标Redis(迁移任务底层虚拟机会占用一个IP)。同样,如果是Redis 3.0/Redis 6.0企业版实例,需要配置实例安全组的入方向规则对迁移任务底层虚拟机放通。 命令 默认情况下,一般云厂商都是禁用了SYNC和PSYNC命令,如果要放通,需要联系云厂商运维人员放通命令。 华为云内部进行迁移: 自建Redis迁移至DCS,默认没有禁用SYNC和PSYNC命令; 华为云DCS服务之间进行迁移,如果是同一账号相同Region进行在线迁移,在执行迁移时,会自动放通SYNC和PSYNC命令; 如果是不同Region或相同Region不同账号进行在线迁移,不会自动放通SYNC和PSYNC命令,无法使用在线迁移。推荐使用备份文件导入方式迁移。 其他云厂商迁移到华为云: 一般云厂商都是禁用了SYNC和PSYNC命令,如果使用在线迁移功能,需要联系源端的云厂商运维人员放通此命令,离线迁移,推荐使用备份文件导入方式。 检查源Redis是否存在大Key。操作请参见分析源Redis是否存在大Key。 如果源Redis存在大key,建议将大key打散成多个小key后再迁移。 检查目标Redis的规格是否大于迁移数据大小、是否有其他任务在执行。 如果目标Redis的实例规格小于迁移数据大小,迁移过程中,内存被占满,会导致迁移失败。 如果目标Redis存在正在执行的主备倒换,建议联系技术支持关闭主备倒换后,重新执行数据迁移。待迁移完成后,重新开启主备倒换。 如果是单机/主备实例迁移到集群实例,请检查: 如果是单机/主备实例迁移到Proxy集群实例,Proxy集群默认不开启多DB,仅有一个DB0,请先确保单机/主备实例DB0以外的DB是否有数据,如果有,请先参考开启多DB操作开启Proxy集群多DB设置。 如果是单机/主备实例迁移到Cluster集群实例,Cluster集群不支持多DB,仅有一个DB0,请先确保单机/主备实例DB0以外的DB是否有数据,如果有,请将数据转存到DB0,否则会出现迁移失败,将数据转存到DB0的操作请参考使用Rump在线迁移。 检查迁移操作是否正确。 检查填写的IP地址、实例密码是否正确。 排查白名单。 如果无法解决,请联系技术支持。
  • 实例类型变更须知 表1 DCS实例类型变更明细 实例版本 支持的实例变更类型 变更须知及影响 Redis 3.0 单机实例变更为主备实例 连接会有秒级中断,大约1分钟左右的只读。 主备实例变更为Proxy集群实例 如果Redis 3.0主备实例数据存储在多DB上,或数据存储在非DB0上,不支持变更为Proxy集群;数据必须是只存储在DB0上的主备实例才支持变更为Proxy集群。 连接会中断,5~30分钟只读。 Memcached 单机实例变更为主备实例 会有秒级业务中断、大约1分钟只读。 Redis 4.0/5.0/6.0 主备实例或读写分离实例变更为Proxy集群实例 变更为proxy集群时,需要评估proxy集群的多DB使用限制和命令使用限制对业务的影响。具体请参考proxy集群使用多DB限制,实例受限使用命令。 变更前实例的已用内存必须小于变更后最大内存的70%,否则将不允许变更。 如果变更前实例的已用内存超过总内存的90%,变更的过程中可能会导致部分key逐出。 变更完成后需要对实例重新创建告警规则。 如果原实例是主备实例,请确保应用中没有直接引用只读IP或只读域名。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后有可能需要重启客户端应用。 变更规格过程中会有秒级业务中断、大约1分钟只读,建议在业务低峰时进行变更。 Proxy集群实例变更为主备实例或读写分离实例 Redis 4.0/5.0/6.0 主备实例变更为读写分离实例 说明: 读写分离实例暂不支持直接变更为主备实例。 目前只支持主备实例变更为相同容量的读写分离实例,小于4G规格的主备实例不支持变更为读写分离实例。 如果变更前实例的已用内存超过总内存的90%,变更的过程中可能会导致部分key逐出。 变更完成后需要对实例重新创建告警规则。 请确保主备实例的应用中没有直接引用只读IP或只读域名。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后有可能需要重启客户端应用。 变更规格过程中会有秒级业务中断,建议在业务低峰时进行变更。 主备实例如果创建了ACL账号,不支持变更为读写分离实例。 Redis 6.0如果开启了SSL链路加密传输,不支持变更为读写分离实例。 除了上表中提到的实例外,其他实例类型目前不支持实例类型的变更,若您想实现跨实例类型的规格变更,可参考使用迁移任务在线迁移Redis实例进行操作。 实例类型变更后支持的命令,请参考对应的开源命令兼容性。
  • 实例规格变更须知 支持实例规格变更明细如下: 表2 实例规格变更明细 缓存类型 单机实例 主备实例 Cluster集群实例 Proxy集群实例 读写分离实例 Redis 3.0 支持扩容和缩容 支持扩容和缩容 - 仅支持扩容 - Redis 4.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 5.0 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 6.0 基础版 支持扩容和缩容 支持扩容、缩容和副本数变更 支持扩容、缩容和副本数变更 支持扩容和缩容 支持扩容、缩容和副本数变更 Redis 6.0 企业版 - 支持扩容和缩容 - - - Memcached 支持扩容和缩容 支持扩容和缩容 - - - Redis 3.0和Memcached实例在预留内存不足的情况下,内存用满可能会导致扩容失败,具体可参考预留内存。 副本数变更和容量变更不支持同时进行,需分开两次执行变更。 删除副本时,每次操作仅支持删除一个副本。 实例规格变更的影响: 表3 实例规格变更的影响 实例类型 规格变更类型 实例规格变更的影响 单机、主备和读写分离实例 扩容/缩容 Redis 4.0及以上版本基础版实例,扩容期间连接会有秒级中断,大约1分钟的只读,缩容期间连接不会中断。 Redis 3.0实例,规格变更期间连接会有秒级中断,5~30分钟只读。 Redis企业版实例,规格变更期间连接会有秒级中断,大约1分钟的只读。 如果是扩容,只扩大实例的内存,不会提升CPU处理能力。 单机实例不支持持久化,变更规格不能保证数据可靠性。在实例变更后,需要确认数据完整性以及是否需要再次填充数据。如果有重要数据,建议先把数据用迁移工具迁移到其他实例备份。 主备和读写分离实例缩容前的备份记录,缩容后不能使用。如有需要请提前下载备份文件,或缩容后重新备份。 Proxy和Cluster集群实例 扩容/缩容 水平扩容(分片数增加): 连接不中断,但会占用CPU,导致性能有20%以内的下降。 分片数增加时,会新增数据节点,数据自动负载均衡到新的数据节点,访问时延会增大。 水平缩容(分片数减少): 分片数减少时,会删除节点。Cluster集群实例缩容前,请确保应用中没有直接引用这些删除的节点,否则可能导致业务访问异常。 删除节点会导致连接闪断,请确保您的客户端应用具备重连机制和处理异常的能力,否则在变更规格后可能需要重启客户端应用。 垂直扩容(分片数不变,分片容量增加): 如果节点所在的虚拟机内存容量不足,会发生节点迁移,迁移时业务连接会有闪断和只读。 如果虚拟机内存容量充足,则直接扩大节点容量,对业务无影响。 说明: Redis 3.0版本集群实例不支持垂直扩缩容。 垂直缩容(分片数不变,分片容量减少):无影响。 实例缩容前,每个节点的已用内存要小于缩容后节点最大内存的70%,否则将不允许变更。 实例规格变更期间,可能会进行数据迁移,访问时延会增大。Cluster集群请确保客户端能正常处理MOVED和ASK命令,否则会导致请求失败。 实例规格变更期间,如果有大批量数据写入导致节点内存写满,将会导致变更失败。 在实例规格变更前,请先使用缓存分析中的大key分析,确保实例中没有大key存在,否则在规格改变后,节点间进行数据迁移的过程中,单个key过大(≥512MB)会触发Redis内核对于单key的迁移限制,造成数据迁移超时失败,进而导致规格变更失败,key越大失败的概率越高。 Cluster集群实例扩容或缩容时,请确保客户端开启集群拓扑自动刷新配置,否则在变更后需要重启客户端。Lettuce客户端开启集群拓扑自动刷新配置请参考Lettuce客户端连接Cluster集群实例中的示例。 实例规格变更前的备份记录,变更后不能使用。如有需要请提前下载备份文件,或变更后重新备份。 主备、读写分离和Cluster集群实例 副本数变更 Cluster集群实例增加或删除副本时,请确保客户端开启集群拓扑自动刷新配置,否则在变更后需要重启客户端。Lettuce客户端开启集群拓扑自动刷新配置请参考Lettuce客户端连接Cluster集群实例中的示例。 删除副本会导致连接中断,需确保您的客户端应用具备重连机制和处理异常的能力,否则在删除副本后需要重启客户端应用。增加副本不会连接中断。 当副本数已经为实例支持的最小副本数时,不支持删除副本。
  • Jedis连接池参数配置建议 表1 Jedis连接池参数配置建议 参数 配置介绍 配置建议 maxTotal 最大连接,单位:个 根据Web容器的Http线程数来进行配置,估算单个Http请求中可能会并行进行的Redis调用次数,例如:Tomcat中的Connector内的maxConnections配置为150,每个Http请求可能会并行执行2个Redis请求,在此之上进行部分预留,则建议配置至少为:150 x 2 + 100= 400 限制条件:单个Redis实例的最大连接数。maxTotal和客户端节点数(CCE容器或业务VM数量)数值的乘积要小于单个Redis实例的最大连接数。 例如:Redis主备实例配置maxClients为10000,单个客户端maxTotal配置为500,则最大客户端节点数量为20个。 maxIdle 最大空闲连接,单位:个 配置与maxTotal一致。 minIdle 最小空闲连接,单位:个 一般来说建议配置为maxTotal的X分之一,例如此处常规配置建议为:100。 对于性能敏感的场景,为了防止经常连接数量抖动造成影响,可以配置与maxIdle一致,例如:400。 maxWaitMillis 最大获取连接等待时间,单位:毫秒 获取连接时最大的连接池等待时间,根据单次业务最长容忍的失败时间减去执行命令的超时时间得到建议值。例如:Http最长容忍的失败时间为15s,Redis请求的timeout设置为10s,则此处可以配置为5s。 timeout 命令执行超时时间,单位:毫秒 单次执行Redis命令最大可容忍的超时时间,根据业务程序的逻辑进行选择,出于对网络容错等考虑建议配置为不小于210ms。特殊的探测逻辑或者环境异常检测等,可以适当调整达到秒级。 minEvictableIdleTimeMillis 空闲连接逐出时间,大于该值的空闲连接一直未被使用则会被释放,单位:毫秒 如果希望系统不会经常对连接进行断链重建,此处可以配置一个较大值(xx分钟),或者此处配置为-1并且搭配空闲连接检测进行定期检测。 timeBetweenEvictionRunsMillis 空闲连接探测时间间隔,单位:毫秒 根据系统的空闲连接数量进行估算,例如系统的空闲连接探测时间配置为30s,则代表每隔30s会对连接进行探测,如果30s内发生异常的连接,经过探测后会进行连接排除。根据连接数的多少进行配置,如果连接数太大,配置时间太短,会造成请求资源浪费。对于几百级别的连接,常规来说建议配置为30s,可以根据系统需要进行动态调整。 testOnBorrow 向资源池借用连接时是否做连接有效性检测(ping),检测到的无效连接将会被移除。 对于业务连接极端敏感的,并且性能可以接受的情况下,可以配置为True,一般来说建议配置为False,启用连接空闲检测。 testWhileIdle 是否在空闲资源监测时通过ping命令监测连接有效性,无效连接将被销毁。 True testOnReturn 向资源池归还连接时是否做连接有效性检测(ping),检测到无效连接将会被移除。 False maxAttempts 在JedisCluster模式下,您可以配置maxAttempts参数来定义失败时的重试次数。 建议配置3-5之间,默认配置为5。 根据业务接口最大超时时间和单次请求的timeout综合配置,最大配置不建议超过10,否则会造成单次请求处理时间过长,接口请求阻塞。
共100000条