华为云用户手册

  • 安全组 安全组是一个逻辑上的分组,为具有相同安全保护需求并相互信任的云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。 您也可以根据需要创建自定义的安全组,或使用默认安全组,系统会为每个用户默认创建一个默认安全组,默认安全组的规则是在出方向上的数据报文全部放行,入方向访问受限,安全组内的云服务器无需添加规则即可互相访问。默认安全组您可以直接使用,详情请参见默认安全组和规则。 云上一分钟,了解什么是安全组。 安全组需在网络互通的情况下生效。若实例属于不同VPC,但同属于一个安全组,则此安全组不生效,您可以使用对等连接等产品建立VPC连接互通。VPC连接请参见VPC连接。
  • 安全组的使用限制 为了确保良好的网络性能体验,建议一个实例最多关联5个安全组。 建议一个安全组关联的实例数量不应超过6000个,否则会引起安全组性能下降。 在一个安全组中,对于入方向规则来说,源地址是安全组的规则数量+源地址是IP地址组的规则数量+端口是不连续端口号的规则数量 ≤ 128条,否则超过数量的安全组规则将不生效。出方向的限制和入方向一致。 源地址是安全组时,包括本安全组和其他安全组。 不连续端口号取值示例为22,25,27。 如果您添加安全组规则时,使用IP地址组或者不连续端口,那么该安全组规则对不同规格云服务器的生效情况存在差异,为了避免您的安全组规则不生效,请您查看表1了解详情。 表1 安全组规则限制 安全组规则 云服务器类型 添加安全组规则时,“源地址”和“目的地址”可选择“IP地址组” 不支持的X86云服务器规格如下: 通用计算型(S1型、C1型、C2型 ) 内存优化型(M1型) 高性能计算型(H1型) 磁盘增强型( D1型) GPU加速型(G1型、G2型) 超大内存型(E1型、E2型、ET2型) 添加安全组规则时,“协议端口”可配置为不连续端口号 不支持的X86云服务器规格如下: 通用计算型(S1型、C1型、C2型 ) 内存优化型(M1型) 高性能计算型(H1型) 磁盘增强型( D1型) GPU加速型(G1型、G2型) 超大内存型(E1型、E2型、ET2型) 所有鲲鹏云服务器规格不支持配置不连续端口。 如果您在鲲鹏云服务器中添加安全组规则时,使用了不连续端口号,那么除了该条规则不会生效,该规则后的其他规则也不会生效。比如: 您先配置了安全组规则A(不连续端口号22,24),再配置了下一条安全组规则B(独立端口号9096),则安全组规则A和B均不会生效。 X86云服务器规格详情,请参见规格清单(X86)。 鲲鹏云服务器规格详情,请参见规格清单(鲲鹏)。 当您的组网中存在以下情况时,来自ELB和VPCEP的流量不受网络ACL和安全组规则的限制。 ELB实例的监听器开启“获取客户端IP”功能时,不受限制。 比如规则已明确拒绝来自ELB实例的流量进入后端云服务器,此时该规则无法拦截来自ELB的流量,流量依然会抵达后端云服务器。 VPCEP实例类型为“专业型”时,不受限制。
  • 重装须知 重装操作系统后弹性云服务器IP地址和MAC地址不发生改变。 重装操作系统会清除系统盘数据,包括系统盘上的系统分区和所有其它分区,请做好数据备份。 重装操作系统不影响数据盘数据。 重装操作系统后的几分钟,系统正在注入密码或密钥信息,再此期间请勿对云服务器执行其他操作,避免密码或密钥信息注入失败导致云服务器无法登录。 Windows操作系统云服务器,如果重装操作系统时设置了新密码,本地保存的RDP文件已失效,请重新下载RDP文件登录云服务器。
  • 案例3 该样例介绍如何通过实例自定义数据注入,重置Linux弹性云服务器密码。 假设您需要将root用户密码重置为”******“。 新密码必须符合密码复杂度要求,密码规则如表4所示。 表4 密码设置规则 参数 规则 密码 密码长度范围为8到26位。 密码至少包含以下4种字符中的3种: 大写字母 小写字母 数字 Windows操作系统云服务器特殊字符:包括“$”、“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“,”和“?” Linux操作系统云服务器特殊字符:包括“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“^”、“,”、“{”、“}”和“?” 密码不能包含用户名或用户名的逆序。 Windows操作系统的云服务器,不能包含用户名中超过两个连续字符的部分。 Windows操作系统的云服务器,不能以“/”为密码首字符。 实例自定义数据注入示例(请严格遵守下面示例中的缩进标准): #cloud-config chpasswd: list: | root:****** expire: False 弹性云服务器创建成功后,您可以使用重置的密码登录弹性云服务器。为了保证密码安全,建议您在第一次登录弹性云服务器后,修改root用户密码。
  • 案例6 该样例介绍如何通过实例自定义数据注入,激活Linux弹性云服务器的root用户远程登录权限。注入成功后,您可以使用SSH密钥方式,以root账户登录弹性云服务器。 实例自定义数据注入示例: #cloud-config disable_root: false runcmd: - sed -i 's/^PermitRootLogin.*$/PermitRootLogin without-password/' /etc/ssh/sshd_config - sed -i '/^KexAlgorithms.*$/d' /etc/ssh/sshd_config - service sshd restart
  • 案例2 该样例介绍如何通过实例自定义数据注入,设置Linux弹性云服务器密码。 新密码必须符合密码复杂度要求,密码规则如表3所示。 表3 密码设置规则 参数 规则 密码 密码长度范围为8到26位。 密码至少包含以下4种字符中的3种: 大写字母 小写字母 数字 Windows操作系统云服务器特殊字符:包括“$”、“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“,”和“?” Linux操作系统云服务器特殊字符:包括“!”、“@”、“%”、“-”、“_”、“=”、“+”、“[”、“]”、“:”、“.”、“/”、“^”、“,”、“{”、“}”和“?” 密码不能包含用户名或用户名的逆序。 Windows操作系统的云服务器,不能包含用户名中超过两个连续字符的部分。 Windows操作系统的云服务器,不能以“/”为密码首字符。 实例自定义数据注入示例: 使用密文密码(推荐使用): #!/bin/bash echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig' | chpasswd -e; 其中,$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig为密文密码,生成方法如下: 执行以下命令,生成加密盐值 python -c "import crypt, getpass, pwd;print crypt.mksalt()" 回显信息如下: $6$V6azyeLwcD3CHlpY 执行以下命令,根据盐值生成密文密码 python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')" 回显信息如下: $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig 弹性云服务器创建成功后,您可以使用该密码登录。
  • 使用限制 Linux: 用于创建弹性云服务器的镜像安装了Cloud-init组件。 实例自定义数据大小限制:小于等于32KB。 如果通过文本方式上传实例自定义数据,数据只能包含ASCII码字符;如果通过文件方式上传实例自定义数据,可以包含任意字符,同时,要求文件大小小于等于32KB。 必须是公共镜像,或继承于公共镜像的私有镜像,或自行安装了Cloud-init组件的私有镜像。 必须满足相应Linux弹性云服务器自定义脚本类型的格式要求。 使用的VPC网络必须开启DHCP,安全组出方向规则保证80端口开放。 选择“密码”登录方式时,不支持实例自定义数据注入功能。 Windows 用于创建弹性云服务器的镜像安装了Cloudbase-init组件。 实例自定义数据大小限制:小于等于32KB。 如果通过文本方式上传实例自定义数据,数据只能包含ASCII码字符;如果通过文件方式上传实例自定义数据,可以包含任意字符,同时,要求文件大小小于等于32KB。 必须是公共镜像,或继承于公共镜像的私有镜像,或自行安装了Cloudbase-init组件的私有镜像。 使用 VPC网络必须开启DHCP,安全组出方向规则保证80端口开放。
  • 案例1 该样例介绍如何通过实例自定义数据注入,为Linux弹性云服务器简化云服务器配置。 当您需要设置vim的“语法高亮显示”、“制表符占用4个空格”和“显示行数”属性时,就可以写一个脚本.vimrc,并将其注入到“/root/.vimrc”。在您创建完云服务器时,您的vim配置便完成了。这样做可以大幅提高系统配置的效率,特别是在您一次性创建多台弹性云服务器时。 实例自定义数据注入示例: #cloud-config write_files: - path: /root/.vimrc content: | syntax on set tabstop=4 set number
  • 案例4 该样例介绍如何通过实例自定义数据注入,为Windows弹性云服务器新增用户并设置密码。 假设您要创建的用户名为abc、密码为“******”的普通用户,并将其添加至administrators用户组。 新密码必须符合密码复杂度要求,密码规则如表4所示。 实例自定义数据注入示例: rem cmd net user abc ****** /add net localgroup administrators abc /add 弹性云服务器创建成功后,您可以使用新创建的用户名和密码登录弹性云服务器。
  • 前提条件 密码丢失或过期前,已安装密码重置插件。 公共镜像创建的弹性云服务器默认已安装一键式重置密码插件。 私有镜像创建的云服务器且未安装密码重置插件,可参考未安装重置密码插件且忘记密码时,如何重置密码(Windows)?和未安装重置密码插件且忘记密码时,如何重置密码(Linux)?。 请勿删除重置密码进程CloudResetPwdAgent和CloudResetPwdUpdateAgent,否则,会导致一键式重装密码功能不可用。 使用SUSE 11 SP4镜像创建的弹性云服务器,内存需要大于等于4GiB时才能支持一键式重置密码功能。 弹性云服务器使用的VPC网络DHCP不能禁用。 弹性云服务器网络正常通行。 请确保一键式重置密码插件未被安全软件(如火绒软件等)阻止运行,否则重置密码功能无法使用。 重置密码之后,必须重启弹性云服务器方可生效。
  • 操作场景 云备份提供申请即用的备份服务,使您的数据更加安全可靠。例如,当云服务器或磁盘出现故障或者人为错误导致数据误删时,可以自助快速恢复数据。本节操作介绍备份云服务器和云硬盘的操作步骤。 您可以通过云备份产品架构、备份机制(全量备份和增量备份)、备份的方式及适用场景了解更多产品详情。 目前弹性云服务器备份可以通过“云服务器备份”和“云硬盘备份”功能实现: 云服务器备份(推荐):如果是对弹性云服务器中的所有云硬盘(系统盘和数据盘)进行备份,推荐使用云服务器备份功能,同时对所有云硬盘进行备份,避免因备份创建时间差带来的数据不一致问题。 云硬盘备份:如果对指定的单个或多个云硬盘(系统盘或数据盘)进行备份,推荐使用云硬盘备份功能,在保证数据安全的同时降低备份成本。
  • 后续处理 系统支持从本地拷贝命令行到弹性云服务器,实现本地数据与弹性云服务器之间的单向复制、粘贴功能,方法如下: 使用VNC方式成功登录弹性云服务器。 单击页面上方的“复制粘贴”。 图8 复制粘贴 使用快捷键Ctrl+C,复制本地计算机的数据。 使用快捷键Ctrl+V,将本地数据粘贴至“Copy Commands”窗口。 单击“Send”。 将复制的数据发送至命令行窗口。 对于使用图形化界面的Linux弹性云服务器,在使用VNC窗口提供的“Input Commands”功能时,会小概率出现数据丢失的情况。这是由于弹性云服务器CPU核数过低,图形化界面占用较多CPU资源导致。此时,建议您每次发送的字符数不超过5个,或者从图形化界面切换至命令行界面(也称“文本界面”),然后再使用“Input Commands”功能。
  • 在标签管理页面添加标签 此方法适用于为多个资源统一添加拥有同样标签键的标签。 登录管理控制台。 在右上角的用户名下选择“标签管理”,进入标签管理服务页面。 图3 标签管理 在“资源标签”页面,勾选资源所在的区域,“资源类型”请选择“ECS-ECS”,单击“搜索”。 系统列出所选区域下的所有云服务器资源。 在“搜索结果”区域,单击“创建标签键”,输入键(例如:项目),单击“确定”。 创建完成后,该标签键会添加至资源标签列表。如果列表中没有显示该标签,单击,在下拉列表中勾选创建的标签键。 默认该标签键的值为“无标签”,您还需要为每一个资源对应的标签值赋值,完成标签与资源的关联,继续下一步。 图4 资源列表 单击“编辑”,切换资源标签列表为可编辑状态。 在云服务器资源所在行,单击,输入标签“值”(例如:A)。 为标签键赋值后,“标签数量”将加1。按照同样方法依次为其他云服务器添加标签值。 图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查询到的网卡。 是,结束。 否,请联系客服获取技术支持。
  • 操作场景 购买ECS时,您可以通过共享VPC功能,使用其他账号共享的VPC和子网,以实现网络资源的共享和统一管理,提升资源管控效率、降低运维成本。 例如,为了规范管理网络资源,某企业使用账号A作为IT管理账号,用于管理基础公共资源,包括VPC、子网等。同时,账号A将多个子网共享给其他账号共同使用。 账号A:IT管理账号,作为资源所有者,创建VPC及子网,并将多个子网分别共享给其他账号使用。 账号B:业务账号,作为资源使用者,使用账号A共享的子网2创建ECS。 账号C:业务账号,作为资源使用者,使用账号A共享的子网3创建ECS。 图1 业务规划示意图 本章节介绍通过共享VPC购买ECS的操作指导。有关VPC子网共享的更多信息,请参见《虚拟私有云用户指南》的“共享VPC”相关内容。
  • 约束与限制 批量变更规格操作仅支持对相同可用区、相同计费模式以及相同规格的弹性云服务器实例进行变更。 变更规格时,不能选择已售罄的CPU和内存资源。 弹性云服务器规格(CPU或内存)变小,会影响弹性云服务器的性能。 对于部分类型的弹性云服务器,暂不支持规格变更操作。实例类型章节列举了提供的云服务器类型,并对每种云服务器类型的功能、使用进行介绍,具体请以各类型云服务器的“使用须知”为准。 当云硬盘状态为“正在扩容”时,不支持变更所挂载的弹性云服务器规格。 Windows操作系统的弹性云服务器,执行变更规格操作前建议您参考磁盘脱机怎么办?修改Windows操作系统SAN策略,避免变更规格后磁盘处于脱机状态。 Windows 2016操作系统的弹性云服务器,执行变更操作前建议您参考为什么Windows 2016操作系统的云服务器实例变更到C7规格后蓝屏?修改注册表信息,避免变更规格后出现蓝屏。
  • 变更前准备 变更规格后,可能会出现网卡漂移现象,请在变更规格前做如下操作: 出现网卡漂移的现象,是由于创建云服务器使用的镜像的操作系统中打开了网卡保留规则,才导致该云服务器变更规格后出现网卡漂移。 关于网卡漂移的更多信息,请参见弹性云服务器变更规格后网卡漂移怎么办?。 Linux系统: 在云服务器中执行以下命令,删除网络规则目录下,文件名同时包含persistent和net的规则文件 rm -fr /etc/udev/rules.d/*net*persistent*.rules rm -fr /etc/udev/rules.d/*persistent*net*.rules Windows系统: 在云服务器中删除如下注册表下的目录。 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged 图1 注册表
  • 切换须知 切换虚拟私有云支持在开机状态下操作,但是过程中会导致云服务器网络中断。 若弹性云服务器处于开机状态,可能由于网卡有流量访问而导致切换虚拟私有云失败,建议您稍后重试或关机后再进行切换。 切换虚拟私有云后,云服务器子网、私有IP地址、MAC地址、操作系统内网卡名称都会发生改变。 切换虚拟私有云后,请重新配置源/目的检查和虚拟IP地址。 虚拟私有云切换完成后,与网络配置相关的应用软件需要重新配置。与网络相关的服务也需要重新配置,例如ELB、VPN、NAT、DNS等。
  • 约束限制 仅支持处于“运行中”或“关机”状态的弹性云服务器执行此操作。 仅支持单网卡切换虚拟私有云。 切换虚拟私有云前如果重装/切换过云服务器的操作系统,请先登录云服务器,验证重装/切换时设置的密码或密钥是否注入成功。 如果成功登录云服务器,说明密码或密钥注入完成,可继续执行其他操作。 否则说明系统正在注入密码或密钥信息,在此期间请勿对云服务器执行其他操作。 切换虚拟私有云过程中,请勿执行绑定、解绑或更换弹性公网IP等操作,若执行会提示权限不足,无需处理。 如果网卡上有IPv6地址,无法切换虚拟私有云。
  • 通过API方式获取密码 获取创建弹性云服务器时使用的私钥文件(.pem文件)。 设置调用接口的环境。 具体方法请参见《弹性云服务器接口参考》的“接口调用方法”。 获取密文密码。 调用获取密码的接口,获取密钥的公钥加密后的密文密码。该密文密码是通过RSA算法加密的。其中,URI格式为“GET /v2/{tenant_id}/servers/{server_id}/os-server-password”。 调用接口的具体方法请参见《弹性云服务器接口参考》的“Windows云服务器获取密码”章节。 解密密文密码。 通过创建云服务器时使用的密钥的私钥文件对4中获取的密文密码进行解密。 使用OpenSSL工具,执行以下命令,将密文密码转换为.key -nocrypt格式。 openssl pkcs8 -topk8 -inform PEM -outform DER -in rsa_pem.key -out pkcs8_der.key -nocrypt 调用Java类库org.bouncycastle.jce.provider.BouncyCastleProvider,使用密钥文件,编写代码解密密文。
  • 操作场景 登录Windows操作系统的弹性云服务器时,需使用密码方式登录。因此,用户需先根据创建弹性云服务器时使用的密钥文件,获取该弹性云服务器初始安装时系统生成的管理员密码(Administrator账户或Cloudbase-init设置的账户)。该密码为随机密码,安全性高,请放心使用。 请根据您的个人需求,通过管理控制台或API方式获取Windows弹性云服务器的初始密码,获取方法请参见本节内容。
  • AI Gallery使用限制 订阅或购买主要是获取AI资产的使用配额和使用权,支持在配额定义的约束下,有限地使用AI资产。 使用AI资产时,可能需要消耗硬件资源,硬件资源费用将根据实际使用情况,由华为云ModelArts等管理控制台向使用方收取。 已发布的AI资产,如果不需要在资产列表中展示该资产,可以将资产下架。下架后,已发布资产仅发布者可见。已经被订阅的资产,即便资产下架后,基于配额资源的约束,仍然可有效使用该资产,不会因为该资产的下架而产生使用问题。
  • 编辑资产详情 资产发布成功后,发布者可以进入详情页修改该资产的名称、描述,让资产更吸引人。也可以修改资产的可见性。 编辑Notebook介绍 在Notebook详情页,单击“Notebook介绍”。 在基础设置中设置“许可证”、“语言”、“框架”、TASK和“硬件资源”等信息。 单击“确定”。 编辑设置 基本设置 单击右侧的“编辑”,可以更改Notebook名称和描述。 编辑完成之后单击“确定”。 关联资产 在输入框中输入资产ID后,单击“关联”即可关联其他资产,更方便其他使用者进行查找。算法可以关联数据集资产。 选择“关联资产”,在输入框中输入待关联资产的ID,单击“关联”。 在弹出的“资产信息”页面,单击“确定”即可关联资产。 权限设置 您可以选择更改您的资产可见性,可选择“公开”或“私密”(私密状态下,也可以选择“仅自己可见”或“指定成员可见”)。 在编辑资产详情时,请勿输入涉政、迷信、违禁等相关敏感词汇。
  • 编辑资产详情 数据集发布成功后,发布者可以进入数据集的详情查看资产信息。 基本设置 单击数据集名称,在数据集详情页,单击“设置”页签。在右侧单击“编辑”,在编辑框中输入资产的描述内容,“数据集名称”与“数据集描述”。 编辑完成之后单击“确定”。 关联资产 数据集可以关联Notebook和算法。当数据集关联了Notebook或算法时,Notebook或算法页面也显示关联了数据集。 在关联资产搜索框中输入待关联资产的ID,单击“关联”。 在弹出的“资产信息”页面,单击“确认”即可关联资产。 对已经关联的资产,单击“取消关联”即可取消资产的关联。 权限设置 在“可见范围”处可以更改您发布的数据集资产的可见性,可更改为“公开”或“私密”。 “公开”:资产设置为“公开”后,该资产所有用户均可查看使用。 “私密”: “仅自己可见”:设置为“仅自己可见”后,该资产只可自己使用。 “指定成员可见”:在搜索框中,输入成员的账号名/账号ID/用户昵称后,单击“搜索”。在用户列表中选择对应的用户信息后,单击“确认”。完成后,单击“保存”即可。 删除数据集 如果您需要删除发布的数据集,则单击“删除数据集”,在弹窗中单击“确认”,即可完成数据集的删除。
  • 创建数据集资产 登录AI Gallery,单击右上角“我的Gallery”进入我的Gallery页面。 单击左上方“创建资产”,选择“数据集”。 在“创建数据集”弹窗中配置参数,单击“创建”。 表1 创建数据集 参数名称 说明 数据集英文名称 必填项,数据集的英文名称。 如果没有填写“数据集中文名称”,则资产发布后,在数据集页签上会显示该“数据集英文名称”。 数据集中文名称 数据集的中文名称。 如果填写了“数据集中文名称”,则资产发布后,在数据集页签上会显示该“数据集中文名称”。 许可证 数据集资产遵循的使用协议,根据业务需求选择合适的许可证类型。 描述 填写资产简介,数据集发布后将作为副标题显示在数据集页签上,方便用户快速了解资产。 支持0~90个字符,请勿在描述中输入涉政、迷信、违禁等相关敏感词,否则发布审核无法通过。 创建完成后,跳转至数据集详情页。
  • 编辑数据集介绍 资产发布上架后,准确、完整的资产介绍有助于提升资产的排序位置和访问量,能更好的支撑用户使用该资产。 在数据集详情页,选择“数据集介绍”页签,单击右侧“编辑”。 编辑数据集基础设置和数据集描述。 表2 数据集介绍的参数说明 参数名称 说明 基础设置 数据集名称 显示数据集的名称,不可编辑。 许可证 数据集遵循的使用许可协议,根据业务需求选择活修改合适的许可证类型。 语言 选择使用数据集时支持的输入输出语言。 任务类型 选择数据集支持用于什么类型的训练模型。 运行平台 选择数据集额外支持的运行平台。 设置运行平台后,当资产上架后,该资产支持通过订阅的方式同步到所选运行平台使用。 设置运行平台后,单击“设置”,在弹窗中可以自定义设置运行平台的资产标签,且标签可以被一起同步至运行平台。 数据集描述 - 资产的README内容,支持添加资产的简介、使用场景、使用方法等信息。 编辑完成后,单击“确认”保存修改。
  • 上传数据集文件 在数据集详情页,选择“文件版本”页签。 单击“添加文件”,进入上传文件页面,选择本地的数据文件单击“点击上传”或拖动文件,单击“确认上传”启动上传。 上传单个超过5GB的文件时,请使用Gallery CLI工具。CLI工具的获取和使用请参见Gallery CLI配置工具介绍。 文件合集大小不超过50GB。 文件上传完成前,请不要刷新或关闭上传页面,防止意外终止上传任务,导致数据缺失。 当文件状态变成“上传成功”表示数据文件成功上传至AI Gallery仓库进行托管。单击“完成”返回文件版本页面。 图1 上传成功 文件上传过程中请耐心等待,不要关闭当前上传页面,关闭页面会中断上传进程。
  • 管理数据集文件 预览文件 在数据集详情页,选择“文件版本”页签。单击文件名称即可在线预览文件内容。 仅支持预览大小不超过10MB、格式为文本类或图片类的文件。 下载文件 在数据集详情页,选择“文件版本”页签。单击操作列的“下载”,选择保存路径单击“确认”,即可下载文件到本地。 删除文件 在数据集详情页,选择“文件版本”页签。单击操作列的“删除”,确认后即可将已经托管的文件从AI Gallery仓库中删除。 文件删除后不可恢复,请谨慎操作。
  • 安装Gallery CLI配置工具 当Gallery CLI配置工具包下载完成后,进入服务器安装工具。不管是ModelArts Lite云服务,还是本地Windows/Linux等服务器,安装操作都相同。 登录服务器,激活python虚拟环境。 conda activate [env_name] # 例如使用conda管理python环境(需要确认环境已安装Anaconda) 在python环境中安装CLI工具。 pip install ./gallery_cli-0.0.3-py3-none-any.whl 配置CLI工具的环境信息。 在服务器的任意目录下(本文以“/gallerycli”为例)新建CLI配置文件“config.env”,包含如下配置信息。 # IAM相关配置 iam_url=https://iam.myhuaweicloud.com/v3/auth/tokens iam_project=cn-north-7 iam_timeout=15 # 账号密码,和AK/SK二选一 iam_domain=xxx iam_user=xxx iam_password=xxx # AK/SK,和账号密码二选一 iam_ak=xxx iam_sk=xxx # 托管仓库相关配置 repo_url=https://{ModelArts-Endpoint}.myhuaweicloud.com # 系统相关配置 cached_dir=/test # 加解密配置 sdk_encrypt_implementation_func=/path/to/crypt.py.my_encrypt_func sdk_decrypt_implementation_func=/path/to/crypt.py.my_decrypt_func 表1 配置项参数说明 参数名称 说明 iam_url IAM地址,默认为“https://iam.myhuaweicloud.com/v3/auth/tokens”。 iam_project 服务器所在区域的项目名称,获取方式请参见获取项目ID和名称。如果是本地服务器则默认是北京四区域,此处填写“cn-north-4”。 iam_timeout (可选)IAM访问超时时间,单位为秒,缺省值是5。当环境网络不稳定时,建议将该值改大。如果超过该时间IAM还没有响应,系统会返回超时错误码,便于定位链接故障。 iam_domain 用户的账号ID,获取方式请参见获取账号名和账号ID。 iam_user IAM用户名,获取方式请参见获取用户名和用户ID。 iam_password IAM用户密码,即账号的登录密码。 iam_ak 访问密钥AK,获取方式请参见访问密钥。 iam_sk 访问密钥SK,获取方式请参见访问密钥。 repo_url AI Gallery仓库的地址,格式为“http://{ModelArts-Endpoint}.myhuaweicloud.com”,其中不同区域的Endpoint可以在ModelArts地区和终端节点获取。 cached_dir 缓存目录,默认AI Gallery仓库的文件下载至该目录下。 sdk_encrypt_implementation_func 自定义加密函数,认证用的AK和SK硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件中密文存放,使用时解密,确保安全。 sdk_decrypt_implementation_func 自定义解密函数,认证用的AK和SK硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件中密文存放,使用时解密,确保安全。 配置文件中,账号密码认证和AK/SK认证二选一即可。如果使用账号密码认证,则需要填写配置项“iam_domain”、“iam_user”和“iam_password”;如果使用AK/SK认证,则需要填写配置项“iam_ak”、“iam_sk”和加密配置。 配置项中的认证凭据信息不建议使用明文,可以通过下述方式扩展自定义的加解密组件。 在module(yourmodule)自定义一个解(加)密方法,例如decrypt_func(cipher),要求可以通过“from yourmodule import decrypt_func”的方式获取认证凭据信息。 在配置文件中配置“sdk_decrypt_implementation_func=yourmodule.decrypt_func”指向自定义的解密方法的引用。程序加载时会通过import_lib加载认证凭据信息。 配置文件中配置密文的格式“iam_ak={Crypto}cipher”,其中cipher会在配置项读取认证凭据信息时被解析传递进decrypt_func方法中,进行解密。 其他类似自定义加密的方法,会在保存Token到本地时进行加密。 配置CLI工具的环境变量,指定到上一步新建的配置文件。 export SDK_CONFIG_PATH=/gallerycli/config.env # 填写正确的config.env路径 配置完成后,执行如下命令查看CLI工具是否安装成功。 gallery-cli --help 如果安装成功会显示CLI中所有可用选项的列表,如下所示。 Usage: gallery-cli [OPTIONS] COMMAND [ARGS]... ╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --install-completion Install completion for the current shell. | │ --show-completion Show completion for the current shell, to copy it or customize the installation. | │ --help Show this message and exit. | ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Commands ─────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ download Download files from the AI Gallery | │ login Log in using ak sk from huawei cloud iam | │ logout Log out | ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ “--help”选项可以用于获取命令的更多详细信息,可以随时使用它来列出所有可用选项及其详细信息。例如,“gallery-cli download --help”可以获取使用CLI下载文件的更多帮助信息。
  • Step5 转换模型文件 将onnx模型文件转换为mindir格式模型文件。转换过程中涉及到的参数需要查看原始onnx文件,此处提供查看的脚本文件get_onnx.py,具体的脚步文件内容见附录:get_onnx.py脚本内容。 模型转换命令如下。 export model_name="model" export LD_LIBRARY_PATH=/home/ma-user/anaconda3/envs/python-3.9.10/lib/:${LD_LIBRARY_PATH} converter_lite --modelFile=./${model_name}.onnx --outputFile=./${model_name} --fmk=ONNX --saveType=MINDIR --optimize=ascend_oriented --inputShape="input_ids:4,96;attention_mask:4,96;token_type_ids:4,96" --modelFile:模型名称。 --outputFile:输出模型名称。模型名称无需添加.mindir后缀,添加后对后续测试流程存在一定影响。 --inputShape:根据onnx输出的name:shape进行修改,可以通过get_onnx.py脚本查看,如图1所示。 图1 get_onnx.py脚本查看输入参数 如需进行AOE优化,则需配置一个config.ini文件,文件内容如下。 [ascend_context] plugin_custom_ops=FlashAttention,GroupNormSilu,GeGluV2 aoe_mode="subgraph tuning, operator tuning" AOE优化命令如下,只需将以上模型转换命令添加一个--configFile=config.ini即可。 converter_lite --modelFile=./${model_name}.onnx -- outputFile=./${model_name} --fmk=ONNX --saveType=MINDIR --optimize=ascend_oriented --inputShape="input_ids:4,96;attention_mask:4,96;token_type_ids:4,96" --configFile=config.ini benchmark测试命令如下。 benchmark --device=Ascend --modelFile=${model_name}.mindir 图2 benchmark测试
共100000条