华为云用户手册

  • 检查登录凭证 请检查您在创建E CS 时设置的登录凭证。 图4 登录凭证 密码:请确认使用的登录密码是否准确,如果忘记密码可以通过重置密码功能重新设置云服务器登录密码。重置密码后请确保已重启云服务器使新密码生效。 密钥对: 首次登录时,请使用“SSH密钥方式”,详情请参见SSH密钥方式登录。 非首次登录时,如需使用控制台提供的“远程登录”功能(VNC方式),需先使用“SSH密钥方式”登录,并设置密码,然后才能使用VNC方式登录。 创建后设置:如果创建时未设置登录凭证,云服务器创建成功后请单击“操作”列下的“重置密码”,根据界面提示,为弹性云服务器设置密码,请确保已重启云服务器使新密码生效。
  • 检查云服务器负载是否过高 云服务器的带宽和CPU利用率过高可能会导致服务器无法登录。 如果您已经通过 云监控服务 创建过告警任务,当CPU或带宽利用率高时,系统会自动发送告警给您。 Linux弹性云服务器带宽流量过高或CPU利用率高,请参考Linux云服务器卡顿怎么办?进行排查。 如果是CPU占用过高导致的无法登录请参考以下操作降低CPU使用率: 可以通过把一些暂时不使用的进程关掉后再尝试。 或者可以尝试重启云服务器。 如果重装操作系统,请先备份重要数据。 如果服务器有重要数据不能重装,可以通过挂载磁盘方式拷贝数据,需要先备份,再卸载磁盘,然后挂载盘拷贝数据。 CPU利用率过高您可以通过变更规格升级vCPU、内存。 如果是带宽超限导致的无法登录请参考以下操修改带宽: 在控制台排查带宽超限的方法请参考如何排查带宽超过限制? 扩大带宽的操作请参考修改弹性公网IP的带宽。 如果频繁出现网络时延抖动或丢包,可能是在跨境访问场景下,采用了“全动态BGP”线路类型的弹性公网IP引起的,建议选择“优选BGP”类型的弹性公网IP。 详细内容,请参见跨境访问出现短时间的时延抖动或丢包,如何解决?。 完成上述操作后,再次重试远程连接云服务器。
  • 排查思路 VNC方式登录云服务器正常,但无法通过远程桌面连接方式登录云服务器时,推荐您按照以下思路排查问题。 以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题的原因。 如果解决完某个可能原因仍未解决问题,请继续排查其他可能原因。 图2 无法连接Linux实例排查思路 表1 无法连接Linux实例排查思路 可能原因 处理措施 资源状态异常:资源冻结;未开机。 只有状态为“运行中”的云服务器才允许用户登录,详细操作请参考检查资源状态是否正常。 登录使用的用户名称或密码错误。 Linux实例用户名:root,密码错误通过“重置密码”重新设置登录密码。详细操作请参考检查登录凭证。 弹性云服务器负载过高。 带宽和CPU利用率过高可能会导致服务器无法登录,详细操作请参考检查云服务器负载是否过高。 未绑定弹性公网IP 使用RDP文件、远程桌面连接方式(MSTSC方式)登录要求弹性云服务器已绑定弹性公网IP。详细操作请参考检查云服务器是否绑定弹性公网IP。 互联网运营商的劫持或者封堵。 更换手机热点或其他网络测试是否可以正常访问,详细操作请参考检查网络是否正常。 安全组未放通远程登录端口。 检查安全组是否放通远程登录端口。详细操作请参考安全组配置是否正确。 云服务器远程访问端口配置异常。 检查本地主机和云服务器关于远程访问端口的配置是否正确。详细操作请参考远程访问端口配置异常。 配置了SSH登录IP白名单。 检查开启主机安全服务后是否配置了SSH登录IP白名单。检查SSH登录IP白名单(已启用主机安全服务) 检查是否为云服务器操作系统内部原因导致的无法登录。 文件系统损坏等原因导致的无法登录。详细操作请参考是否为云服务器操作系统内部原因导致的无法登录。 第三方杀毒软件的阻拦。 禁用或者卸载第三方杀毒软件后重试,详细操作请参考检查是否为杀毒软件拦截。 连接实例有详细的报错信息提示。 远程连接有报错信息提示时,请根据详细报错信息查看操作指导。详细操作请参考远程登录是否有报错信息。
  • 远程访问端口配置异常 检查弹性云服务器内部设置。 检查弹性云服务器sshd进程是否已运行。 检查弹性云服务器是否将本地PC限制了。 登录弹性云服务器,执行以下命令。 vi /etc/hosts.deny 如果文件中存在本地PC的IP,说明此IP被限制了,请将此IP在文件中删除。 进入本地PC中路径为“/etc/ssh/ssh_config”下的文件中,查看默认登录端口,同时查看弹性云服务器路径为“/etc/ssh/sshd_config”下的文件中的port字段,检查ssh服务开启端口是否被修改,默认端口为22。 完成上述操作后,再次重试远程连接云服务器。
  • 检查SSH登录IP白名单(已启用主机安全服务) 开启主机安全服务防护后,您可以根据需要配置SSH登录IP白名单。SSH登录IP白名单功能是防护账户爆破的一个重要方式,主要是限制需要通过SSH登录的服务器。 配置了白名单的服务器,只允许白名单内的IP通过SSH登录到服务器,拒绝白名单以外的IP。 在主机安全服务“事件管理”页面,检查本地主机IP是否因为账户暴力破解,导致本地主机IP被拦截。 检查是否已开启SSH登录白名单,如果已开启,请确保本地主机IP已添加到IP白名单。 启用“SSH登录白名单”功能时请确保将所有需要发起SSH登录的主机IP地址都加入白名单中,否则您将无法SSH远程登录您的云服务器。 本地IP加入白名单后,账户破解防护功能将不再对来自白名单中的IP登录行为进行拦截,该IP对您加入白名单的服务器登录访问将不受任何限制,请谨慎操作。 单击配置主机登录保护了解“SSH登录白名单”。
  • 是否已经通过远程登录诊断工具进行问题定位 弹性云服务器提供一键诊断功能。当弹性云服务器无法远程登录时,可使用一键诊断工具检测当前弹性云服务器的主机、安全组、内存、磁盘等状态,帮您进一步进行问题排查及定位。 远程登录诊断工具的操作,请参见如何进行弹性云服务器的一键诊断?。 如果远程登录诊断工具无法帮助您准确定位问题,请记录诊断报告中的异常项,然后单击管理控制台右上方的“工单”,填写工单信息,获取技术支持。
  • 方法一(推荐):将一键式重置密码插件wrapper修改为PIPE模式 推荐您将一键式重置密码插件wrapper从AUTO模式(SOCKET)修改为PIPE模式,修改后,插件运行时不再占用端口。 打开CloudResetPwdAgent配置文件。 Linux弹性云服务器文件位置: “/CloudrResetPwdAgent/conf/wrapper.conf”和“/CloudResetPwdUpdateAgent/conf/wrapper.conf” Windows弹性云服务器文件位置: “C:\CloudrResetPwdAgent\conf\wrapper.conf”和“C:\CloudResetPwdUpdateAgent\conf\wrapper.conf” 在末尾新增如下配置: wrapper.backend.type=PIPE 重启CloudResetPwdUpdateAgent服务。 Linux弹性云服务器 /CloudResetPwdUpdateAgent/bin/cloudResetPwdUpdateAgent.script restart Windows弹性云服务器 使用快捷键“Win+R”,打开“运行”窗口。 输入“Services.msc”,并单击“确定”。 图1 运行 右键单击服务“cloud reset password update agent”,选择“重新启动”。 图2 服务(本地)
  • 方法二:修改配置,更换端口范围 您可以修改CloudResetPwdAgent配置,更换默认随机端口选取的范围(31000~32999),确保业务端口不在一键式重置密码插件的端口选择范围内。 假设将一键式重置密码插件随机占用的端口范围修改为:40000~42000,则操作如下: 打开CloudResetPwdAgent配置文件。 Linux弹性云服务器文件位置: “/CloudrResetPwdAgent/conf/wrapper.conf”和“/CloudResetPwdUpdateAgent/conf/wrapper.conf” Windows弹性云服务器文件位置: “C:\CloudrResetPwdAgent\conf\wrapper.conf”和“C:\CloudResetPwdUpdateAgent\conf\wrapper.conf” 新增如下配置: wrapper.port.min=40000 wrapper.port.max=41000 wrapper.jvm.port.min=41001 wrapper.jvm.port.max=42000 图3 修改配置文件 重启CloudResetPwdUpdateAgent服务。 Linux弹性云服务器 /CloudResetPwdUpdateAgent/bin/cloudResetPwdUpdateAgent.script restart Windows弹性云服务器 使用快捷键“Win+R”,打开“运行”窗口。 输入“Services.msc”,并单击“确定”。 图4 运行 右键单击服务“cloud reset password update agent”,选择“重新启动”。 图5 服务(本地)
  • 问题原因 对于采用AUTO模式的弹性云服务器,一键式重置密码插件启动时,会随机选取端口进行使用,可能占用了业务端口。 一键式重置密码插件已经升级,默认采用PIPE模式。 对于新创建的弹性云服务器,默认采用PIPE模式,不会占用端口。 对于已创建的弹性云服务器,仍采用AUTO模式,随机占用31000~32999中的一个端口。占用端口的原则是:在该范围内,系统会按照自小到大的顺序,占用当前空闲的端口。
  • Windows操作系统 以Windows 2012操作系统为例: 以用户名Administrator,登录Windows弹性云服务器。 打开本地连接。 在任务栏的右下角,右键单击网络连接的图标。 单击“打开网络和共享中心”。 图2 打开网络和共享中心 在左侧导航栏,单击“更改适配器设置”。 给弹性 云服务器配置 DNS服务器。 双击网络连接。 单击左下角的“属性”,如图3所示。 图3 本地连接 选择“Internet 协议版本4(TCP/IPv4)”,并单击“属性”,如图4所示。 图4 选择协议类型 选择“使用下面的DNS服务器地址”,并根据界面提示填写DNS服务器的IP地址,如图5所示。 图5 填写DNS服务器IP地址 给弹性云服务器配置NTP服务器。 打开“运行”窗口。输入“regedit”,并单击“确定”,打开注册表编辑器。 修改如下注册表信息: 打开文件“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ NtpClient”,修改“Enabled”的“数值数据”为“1”,表示该设备为NTP客户端。 打开文件“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ NtpServer”,修改“Enabled”的“数值数据”为“0”,关闭NTP服务器功能。 打开文件“KEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ Parameters”,设置“NtpServer”的“数值数据”。例如设置为“ntp.myhuaweicloud.com”。设置“TYPE”的“数值数据”为“NTP”。 打开文件“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ NtpClient”,设置“SpecialPollInterval”的“数值数据”为“60”,“基数”为“十进制”,表示时钟同步周期为60s。 打开文件“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ config”,设置“MaxPosPhaseCorrection”和“MaxNegPhaseCorrection”的“数值数据”为“ffffffff”,“基数”为“十六进制”。 打开“运行”窗口,输入“services.msc”,并单击“确定”,打开“服务”窗口。 查找名称为“Windows Time”的服务,并设置“启动类型”为“自动”,从NTP服务中同步时间。 打开“运行”窗口,依次执行以下命令,重启Windows Time服务。 net stop w32time net start w32time 手动修改客户端时间,使得客户端时间与服务器时间不同。一分钟后,检查客户端时间与服务器时间是否一致,如果一致,则表示时间同步配置成功。
  • Linux操作系统(ntpd方式) 以CentOS 7.3操作系统为例。 检查弹性云服务器的DNS服务器地址是否正确。 登录Linux弹性云服务器。 执行以下命令,打开resolv.conf文件。 vi /etc/resolv.conf 查看文件中nameserver的值是否和华为云提供的内网 DNS地址 是多少?中提供的DNS服务器地址相同。 是,执行3。 否,执行2。 (可选)给弹性云服务器配置DNS服务器。 登录Linux弹性云服务器。 执行以下命令,编辑resolv.conf文件。 vi /etc/resolv.conf 添加如下语句,配置DNS服务器。 nameserver DNS服务器的IP地址 示例: 以华北区用户为例,待添加的语句如下: nameserver 100.125.1.250 给弹性云服务器配置NTP服务器。 登录Linux弹性云服务器。 请先执行以下命令关闭chronyd进程 systemctl stop chronyd systemctl disable chronyd 执行以下命令,编辑ntp.conf文件。 vim /etc/ntp.conf 添加以下语句,配置NTP服务器。 server NTP服务器 域名 示例: server ntp.myhuaweicloud.com 执行以下命令,系统重新启动时启动服务。 对于Euler、CentOS操作系统: systemctl restart ntpd 对于SUSE操作系统: service ntpd restart 请根据弹性云服务器实际使用的操作系统,选择具体的命令进行重启。 如果提示“Failed to restart ntpd.service: Unit not found.”,请先执行yum -y install ntp 执行以下命令,检查与上层NTP服务器是否时钟同步成功。 ntpq -p 如果出现“*”,则表示时钟同步成功。 首次进行NTP时钟同步需要一定时间,请等待几分钟再进行检查。 执行以下命令,设置NTP服务开机自启动。 如果是Euler、CentOS操作系统: chkconfig ntpd on 如果是SUSE操作系统: chkconfig ntpd on
  • Linux操作系统(chronyd方式) 以CentOS 7.3操作系统为例。 检查弹性云服务器的DNS服务器地址是否正确。 登录Linux弹性云服务器。 执行以下命令,打开resolv.conf文件。 vi /etc/resolv.conf 查看文件中nameserver的值是否和华为云提供的内网DNS地址是多少?中提供的DNS服务器地址相同。 是,执行3。 否,执行2。 (可选)给弹性云服务器配置DNS服务器。 登录Linux弹性云服务器。 执行以下命令,编辑resolv.conf文件。 vi /etc/resolv.conf 添加如下语句,配置DNS服务器。 nameserver DNS服务器的IP地址 示例: 以华北区用户为例,待添加的语句如下: nameserver 100.125.1.250 给弹性云服务器配置NTP服务器。 登录Linux弹性云服务器。 请先执行以下命令关闭chronyd进程。 systemctl stop chronyd systemctl disable chronyd 执行以下命令,编辑chrony.conf文件。 vim /etc/chrony.conf 添加以下语句,配置NTP服务器。 server NTP服务器域名 minpoll 4 maxpoll 10 iburst 示例: server ntp.myhuaweicloud.com minpoll 4 maxpoll 10 iburst 执行以下命令,系统重新启动服务。 对于Euler、CentOS操作系统: systemctl restart chronyd 对于SUSE操作系统: service chronyd restart 请根据弹性云服务器实际使用的操作系统,选择具体的命令进行重启。 如果提示“Failed to restart chronyd.service: Unit not found.”,请先执行yum -y install chrony。 执行以下命令,检查与上层NTP服务器是否时钟同步成功。 chronyc sources -v 如果出现“^*”,则表示时钟同步成功。 图1 修改结果 首次进行NTP时钟同步需要一定时间,请等待几分钟再进行检查。 执行以下命令,设置chronyd服务开机自启动。 如果是Euler、CentOS操作系统: systemctl enable chronyd 如果是SUSE操作系统: chkconfig chronyd on
  • 部署服务 基础设施即代码(Infrastructure as code,简称IaC)是一种基于软件开发实践形成的基础设施的自动化方法,它强调一致、可重复的供给和变更系统及其配置。当代码发生变更后,可以进行自动化测试,测试完成后可自动化的应用变更到运行系统中。使用基础设施即代码的方法,可以使用敏捷工程的优秀实践(如测试驱动开发、持续集成、持续发布)可以快速安全的变更基础设施。 部署服务按架构元素(服务)组织资源,软件单元(微服务或函数)作为最小变更单元 ,执行变更的结果围绕服务环境进行资源管理,每个组件可以独立发布版本、独立变更。 基础设施即代码(Infrastructure as Code,简称IaC)是指使用代码方式来实现基础设施的配置和管理自动化的方法,通过将传统的手动配置和脚本化配置转变为代码形式,使得基础设施的管理更加一致、可重复、可追踪和可版本控制。 基础设施即代码(Infrastructure as Code,简称IaC)是一种将基础设施的配置和管理自动化的方法,通过将基础设施的配置编写成代码来实现。IaC的核心思想是将传统的手动配置和脚本化配置转变为代码形式,使得基础设施的管理更加一致、可重复、可追踪和可版本控制。以下是IaC的一些关键特点和优势: 版本控制:基础设施的配置可以通过版本控制系统(如Git)进行管理,这样可以跟踪变更历史,回滚到之前的配置,以及进行协作。 自动化部署:通过自动化工具(如Terraform、Ansible、Chef、Puppet等)可以快速部署和更新基础设施,减少人为错误。 一致性:确保在不同环境(开发、测试、生产等)中部署的基础设施具有一致的配置。 可重复性:相同的代码可以在不同的时间点重复执行,每次都能生成相同的基础设施环境。 模块化:基础设施的配置可以被分解为模块或组件,便于管理和复用。 文档化:代码本身就是一种文档,它清晰地说明了基础设施的配置和依赖关系。 审计和合规性:代码的变更历史可以被审计,有助于满足合规性要求。 跨团队协作:不同的团队可以在同一套代码基础上工作,提高协作效率。 减少环境差异:通过自动化部署,可以减少“在我的机器上可以运行”的问题,因为所有环境都是通过相同的代码配置的。 快速迭代:开发人员可以快速尝试新的基础设施配置,无需等待手动配置。
  • Flexus L实例 、Flexus X实例与ECS的区别是什么? Flexus L实例是一款多服务组合的应用服务器,组合了云服务器、云硬盘、弹性公网IP、云备份、主机安全等服务,以套餐形式整体售卖、管理,并且提供了丰富严选的应用镜像,可快速搭建业务环境。Flexus L实例购买、配置简单,适合刚接触云计算领域的初级用户。 Flexus X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,功能接近ECS, 同时还具备独有特点,例如Flexus X实例具有更灵活的vCPU内存配比、支持性能模式等。Flexus X实例相较于Flexus L实例提供了非常丰富的公共镜像,实例规格和功能使用更为灵活,负载范围更高。 ECS是一款支持高负载应用场景的服务器,提供多种计费模式、规格类型、镜像类型、磁盘类型,针对不同的业务场景,均可自定义配置。 Flexus云服务器X实例与Flexus应用服务器L实例、ECS的详细区别如表1。 表1 Flexus应用服务器L实例、Flexus云服务器X实例和ECS的区别 项目 Flexus应用服务器L实例 Flexus云服务器X实例 ECS 适用对象 适用于业务负载要求相对较低,且期望即开即用、超快部署的中小企业和开发者。 适用于中负载业务,且期望资源灵活选配的中小企业和开发者。 适用于网站应用、企业电商、图形渲染、数据分析、高性能计算等高负载、全业务应用场景。 实例特点 内置丰富的解决方案与镜像,零门槛快速搭建业务环境,轻松启动和管理业务 灵活自定义规格、性能稳定强劲、按需灵活计费。 支持灵活地选择所需的内存、CPU、带宽等配置,帮助您打造可靠、安全、灵活、高效的应用环境。 CPU架构 X86 X86 X86、ARM 计费模式 包年/包月 Flexus应用服务器L实例以套餐形式整体售卖、管理,随Flexus应用服务器L实例创建的资源不支持单独卸载、解绑、删除、退订等操作。 按需计费 包年/包月 包年/包月 按需计费 竞价计费 规格 包含Flexus服务组合和多种流量套餐类型。 仅支持升级套餐规格。 支持vCPU/内存自定义配比。具体规格信息详见实例规格。 支持升级或降级实例规格。 支持多种实例规格系列。 ECS实例类型 推荐参考ECS智选推荐。 支持升级或降级实例规格。 磁盘 一个Flexus应用服务器L实例默认配置一个固定容量的系统盘,最多支持一个数据盘,不支持在控制台使用快照恢复数据。 系统盘:高IO(除过香港的其他中国大陆区域)、通用型SSD(中国香港以及海外区域) 数据盘:通用型SSD V2 自定义配置系统盘规格,支持多个不同类型的数据盘。 系统盘:普通IO、高IO、通用型SSD、超高IO、通用型SSD V2 数据盘:普通IO、高IO、通用型SSD、超高IO、通用型SSD V2 支持自定义配置系统盘规格及容量,支持多个不同类型的数据盘。 系统盘/数据盘:支持选择全磁盘类型。 弹性云服务器支持使用的磁盘类型,请参见云硬盘。 网络 默认分配一个固定弹性公网IP。 公网带宽按流量计费,套餐包含每月固定流量包。 不支持更改VPC、私网IP、公网IP。 自定义是否绑定弹性公网IP。 线路类型可选。 带宽类型分为按带宽计费、按流量类计费、共享带宽。 自定义是否绑定弹性公网IP。 线路类型可选。 带宽类型分为按带宽计费、按流量类计费、共享带宽。 产品特点 易搭建、更实惠、易维护、更安全 易搭建、更实惠、易维护、更安全 Huawei Cloud EulerOS 2.0公共镜像支持Nginx、Redis或MySQL应用加速 稳定可靠、安全保障、软硬结合、弹性伸缩 镜像 支持5款主流系统镜像 提供丰富的应用镜像 仅支持使用系统盘私有镜像 提供丰富的公共镜像 支持私有镜像、共享镜像。 提供丰富的公共镜像 支持私有镜像、共享镜像、市场镜像。 鉴权方式 密码 密码、密钥对 密码、密钥对 集成的云产品 主机安全(基础版) 云备份 Flexus负载均衡 主机安全(所有版本) 云监控 云备份 主机安全(所有版本) 云监控 云备份 父主题: 产品咨询
  • 如何升级Flexus L实例宝塔面板? 请根据如下步骤在宝塔面板的管理页面升级宝塔面板。 在服务器“概览”页“镜像信息”中,单击“管理”登录管理页面。 如果无法打开管理页面,可能是因为没有放通访问管理页面的端口、管理页面未启动完毕等原因,处理方法请参见Flexus L实例应用镜像管理页面无法打开怎么办? 输入管理页面用户名密码进入管理页面。 在右上角单击“更新”,根据界面提示升级宝塔面板。 升级宝塔面板后,管理页面为404状态,此时请在URL后增加“/login”,即完整URL为“https://服务器IP:8888/login”,即可正常登录管理页面。此情况仅在升级宝塔面板后第一次登陆管理面时出现,后续登录管理页面无须增加“/login”字段。 父主题: 操作系统/镜像
  • SD WebUI推理性能测试 以下性能测试数据仅供参考。 开启Flash Attention 生成1280x1280图片,使用Ascend: 1* ascend-snt9b(64GB),约耗时7.5秒。 图1 生成图片耗时(1) 生成1280x1280图片,使用Ascend: 1* ascend-snt9b(32GB),约耗时9.3秒。 图2 生成图片耗时(2) 不开启Flash Attention 生成1280x1280图片,使用Ascend: 1* ascend-snt9b(64GB),约耗时10.1秒。 图3 生成图片耗时(3) 生成1280x1280图片,使用Ascend: 1* ascend-snt9b(32GB),约耗时14.1秒。 图4 生成图片耗时(4) 父主题: SD WEBUI套件适配PyTorch NPU的推理指导(6.3.907)
  • Step6 访问在线服务 在Chrome浏览器中安装ModHeader插件。 图10 安装ModHeader插件 Chrome浏览器安装ModHeader插件后,可能会导致访问不了Modelarts平台,访问Modelarts时需要临时禁用ModHeader插件。或者使用Edge登录Modelarts,使用Chrome安装插件访问页面。 打开ModHeader,单击添加MOD。 图11 添加MOD 选择添加Request header。 图12 添加Request header 进入在线服务详情,查看Key值和Value值。 Key值固定为X-Apig-AppCode,Value值为APP认证的app_code值,在服务调用指南tab的APP认证API处展开,进行AppCode管理设置。 图13 获取Key值和Value值 将在ModHeader插件中添加Key值和Value值。 图14 添加Key和value 进入在线服务详情页,查看APP认证方式的服务API。 图15 API接口公网地址 复制API接口公网地址,并在地址后添加"/",进行页面访问,例如: https://infer-app-modelarts-cn-southwest-2.myhuaweicloud.com/v1/infers/abc104bb-d303-4ffb-a8fa-XXXXXXXXX/ 图16 访问在线服务 输入Promt,修改所需要的请求参数(如Width、Height),进行Promt请求。 图17 填写请求参数 表1 SDXL模型参数及其含义 参数名称 说明 是否必选 默认值 prompt 提示词,根据提示词生成含有对应内容的图像 是 无 negative_prompt 反向提示词,图像生成过程中应避免的提示 否 无 num_inference_steps 推理步骤数,控制推理的步数 否 40 height 生成图像的纵向分辨率 否 1024 width 生成图像的横向分辨率 否 1024 high_noise_frac 高噪声比例,即基础模型跑的步数占总步数的比例 否 0.8 refiner_switch 是否使用细化模型refiner 否 true(使用) seed 随机种子,控制生成图像的多样性 否 无 您可在ModelArts控制台查看相关日志。 图18 查看相关日志 首次请求时会进行模型加载,耗时较长,因此第一个请求可能超时,第二个请求将会正常,请耐心等待。
  • Step4 创建AI应用 在ModelArts的AI应用页面,进行AI应用创建。 图3 创建AI应用 填写如下参数信息。 名称:AI应用的名称,请按照实际应用名填写。 版本:版本描述,请按照实际填写。 元模型来源:注意此处选择“从容器镜像选择”。 容器镜像所在路径:单击文件夹标签,选择已经制作好的镜像。 容器调用接口参数:根据镜像实际提供的协议和端口填写,本案例中的SDXL镜像提供HTTP服务和8183端口。 图4 填写参数(1) 系统运行架构: 选择ARM. 推理加速卡:无。 部署类型: 在线服务。 请求模式:同步请求。 启动命令: source /etc/bashrc && python3 launch.py --skip-torch-cuda-test --port 8183 --enable-insecure-extension-access --listen --log-startup --disable-safe-unpickle --skip-prepare-environment --api 按照上述配置完参数后,单击右下角的立即创建, 完成AI应用的创建。 图5 填写参数(2) 当AI应用状态变为正常时,表示创建完成。 图6 AI应用创建完成
  • Step5 部署服务 单击AI应用名称,进入AI应用详情页,单击部署在线服务。 图7 部署在线服务 填写如下服务部署参数。 名称: 服务的名称,按照实际需要填写 是否自动停止:如果配置自动停止,服务会按照配置的时间自动停止。如果需要常驻的服务,建议关掉该按钮。 描述:按照需要填写。 资源池:选择专属资源池。若之前未购买专属资源池,具体步骤请参考创建资源池。 资源规格要求: 硬盘空间:至少200GB。 昇腾资源规格:可以申请Ascend: 1* ascend-snt9b(32GB)或Ascend: 1* ascend-snt9b(64GB)规格。请按需选择需要的规格,64GB规格的推理耗时更短。 推荐使用“西南-贵阳一”Region上的昇腾资源。 AI应用来源: 我的AI应用。 选择AI应用及其版本:此处选择上一步中创建的sdxl-webui-pytorch:0.0.1应用。 计算节点规格: 按需选择Ascend: 1* ascend-snt9b(32GB)或Ascend: 1* ascend-snt9b(64GB)。 图8 填写服务部署参数 选择开启APP认证并选择应用。 图9 开启APP认证 按照上述配置完参数后,单击“下一步”, 确认信息无误后,单击“提交”,完成服务的部署。
  • Step3 启动 自定义镜像 执行以下命令启动自定义镜像。 docker run -itd --name ${container_name} -p 8183:8183 -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /etc/localtime:/etc/localtime -v /usr/local/Ascend/driver:/usr/local/Ascend/driver -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi --shm-size 60g --device=/dev/davinci_manager --device=/dev/hisi_hdc --device=/dev/devmm_svm --device=/dev/davinci0 --security-opt seccomp=unconfined --network=bridge sdxl-train:0.0.1 bash
  • Step4 进入容器运行 进入容器后执行启动命令。 docker exec -it ${container_name} bash python3 launch.py --port 8183 --skip-torch-cuda-test --enable-insecure-extension-access --listen --log-startup --disable-safe-unpickle --api 等待克隆仓库,下载依赖模型,启动成功后显示 图1 启动成功后显示 验证效果。 新开启一个终端,执行以下命令。 curl --noproxy '*' -kv -X POST localhost:8183/sdapi/v1/txt2img -H "Content-Type: application/json" -d '{"prompt":"ultrarealistic shot of a furry blue bird"}' 执行成功显示: 图2 执行成功显示 在浏览器输入http://{宿主机ip}:8183,可以访问前端页面,通过输入文字生成图片。 图3 输入文字生成图片 注意需要勾选Enable Flash Attention按钮。 图4 Enable Flash Attention优化按钮
  • Step1 准备环境 请参考DevServer资源开通,购买DevServer资源,并确保机器已开通,密码已获取,能通过SSH登录,不同机器之间网络互通。 购买DevServer资源时如果无可选资源规格,需要联系华为云技术支持申请开通。 当容器需要提供服务给多个用户,或者多个用户共享使用该容器时,应限制容器访问Openstack的管理地址(169.254.169.254),以防止容器获取宿主机的元数据。具体操作请参见禁止容器获取宿主机元数据。 检查环境。 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装固件和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward、
  • 镜像版本 本教程中用到基础镜像地址和配套版本关系如下表所示,请提前了解。 表2 基础容器镜像地址 镜像用途 镜像地址 Cann版本 基础镜像 swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc2-py_3.9-hce_2.0.2312-aarch64-snt9b-20240727152329-0f2c29a cann_8.0.rc2
  • 软件配套版本 本方案支持的软件配套版本和依赖包获取地址如表1所示。 表1 软件配套版本和获取地址 软件名称 说明 下载地址 插件代码包 AscendCloud-3rdAIGC-6.3.907-xxx.zip 文件名中的xxx表示具体的时间戳,以包名的实际时间为准。 获取路径:Support-E 说明: 如果上述软件获取路径打开后未显示相应的软件信息,说明您没有下载权限,请联系您所在企业的华为方技术支持下载获取。
  • Step9 DIT训练 dit训练分为3个阶段,后两次训练根据其前一次训练的结果继续训练。 第一阶段训练 torchrun --standalone --nproc_per_node 8 train.py configs/opensora-v1-2/train/stage1.py --data-path ./datasets/webvid_meta_data.csv 训练完后的权重文件保存在 ./output 文件夹下 (例如 ./outputs/000-STDiT3-XL-2/epoch0-global_step200/model)。 具体位置打印在日志中: 图4 DIT第一阶段训练日志 训练完成后在目录底下生成loss.txt文件(例如./outputs/000-STDiT3-XL-2/epoch0-global_step200/model)记录每一步的loss。 第二阶段训练 export pretrain_path = "上阶段训练的权重,例如./outputs/000-STDiT3-XL-2/epoch0-global_step200/model" torchrun --standalone --nproc_per_node 8 train.py configs/opensora-v1-2/train/stage2.py --data-path ./datasets/webvid_meta_data.csv --ckpt-path $pretrain_path 训练完后的权重文件保存在 ./output 文件夹下 (例如 ./outputs/001-STDiT3-XL-2/epoch0-global_step200/model),具体位置打印在日志中。 第三阶段训练 torchrun --standalone --nproc_per_node 8 train.py configs/opensora-v1-2/train/stage1.py --data-path ./datasets/webvid_meta_data.csv export pretrain_path = "上阶段训练的权重,例如 ./outputs/001-STDiT3-XL-2/epoch0-global_step200/model" torchrun --standalone --nproc_per_node 8 train.py configs/opensora-v1-2/train/stage3.py --data-path ./datasets/webvid_meta_data.csv --ckpt-path $pretrain_path 训练完后的权重文件保存在 ./output 文件夹下 (例如 ./outputs/002-STDiT3-XL-2/epoch0-global_step200/model),具体位置打印在日志中。
  • Step4 启动镜像 启动容器镜像,推理只需要启动单卡,启动前可以根据实际需要增加修改参数。 docker run -itd --name ${container_name} -v /sys/fs/cgroup:/sys/fs/cgroup:ro -v /etc/localtime:/etc/localtime -v /usr/local/Ascend/driver:/usr/local/Ascend/driver -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi --shm-size 300g --device=/dev/davinci_manager --device=/dev/hisi_hdc --device=/dev/devmm_svm --device=/dev/davinci0 --security-opt seccomp=unconfined --network=bridge OpenSora1.2:1.0 bash 参数说明: --name ${container_name}:容器名称,进入容器时会用到,此处可以自己定义一个容器名称。 --device=/dev/davinci0:挂载NPU设备,该推理示例中挂载了1张卡davinci0。 driver及npu-smi需同时挂载至容器。 不要将多个容器绑到同一个NPU上,会导致后续的容器无法正常使用NPU功能。
  • Step8 VAE训练 vae训练分为3个阶段,后两次训练根据其前一次训练的结果继续训练。 第一阶段训练 torchrun --nnodes=1 --nproc_per_node=8 train_vae.py configs/vae/train/stage1.py --data-path ./datasets/webvid_meta_data.csv 训练完后的权重文件保存在 ./output/vae_stage1 文件夹下 (例如 ./outputs/vae_stage1/000-OpenSoraVAE_V1_2/epoch0-global_step1000/model) 具体位置打印在日志中: 图3 VAE第一阶段训练日志 第二阶段训练 export pretrain_path = "上阶段训练的权重,例如./outputs/vae_stage1/000-OpenSoraVAE_V1_2/epoch0-global_step1000/model" torchrun --nnodes=1 --nproc_per_node=8 train_vae.py configs/vae/train/stage2.py --data-path ./datasets/webvid_meta_data.csv --ckpt-path $pretrain_path 训练完后的权重文件保存在 ./output/vae_stage2 文件夹下 (例如 ./outputs/vae_stage2/000-OpenSoraVAE_V1_2/epoch0-global_step1000/model) 第三阶段训练 export pretrain_path = "上阶段训练的权重,例如./outputs/vae_stage2/000-OpenSoraVAE_V1_2/epoch0-global_step1000/model" torchrun --nnodes=1 --nproc_per_node=8 train_vae.py configs/vae/train/stage3.py --data-path ./datasets/webvid_meta_data.csv --ckpt-path $pretrain_path 训练完后的权重文件保存在 ./output/vae_stage3 文件夹下 (例如 ./outputs/vae_stage3/000-OpenSoraVAE_V1_2/epoch0-global_step1000/model)
  • Step10 推理 对与大尺寸、长时间的视频强制需要多卡推理,具体要求见下图,绿色允许只用单卡推理,蓝色至少双卡推理。 图5 推理视频要求 单卡推理 python inference.py configs/opensora-v1-2/inference/sample.py --num-frames 4s --resolution 720p --aspect-ratio 9:16 --prompt "a beautiful waterfall" 多卡推理 torchrun --nproc_per_node 2 scripts/inference.py configs/opensora-v1-2/inference/sample.py --num-frames 16s --resolution 720p --aspect-ratio 9:16 --prompt "a beautiful waterfall" 最终结果保存在samples/samples/sample_0000.mp4。
  • Step6 下载权重文件 建议手动下载所需的权重文件,在/home/ma-user/Open-Sora-Plan1.0/目录下进行操作。 创建文件夹存放不同的权重文件。 mkdir weights 下载 OpenSora-VAE-v1.2权重,将下载好的权重放在 ./weights 目录下。 OpenSora-VAE-v1.2 官网下载地址:https://huggingface.co/hpcai-tech/OpenSora-VAE-v1.2/tree/main 下载 OpenSora-STDiT-v3权重,将下载好的权重放在 ./weights 目录下。 OpenSora-STDiT-v3 官网下载地址:https://huggingface.co/hpcai-tech/OpenSora-STDiT-v3/tree/main 下载 t5-v1_1-xxl 权重,将下载好的权重放在 ./weights 目录下。 t5-v1_1-xxl 官网下载地址: https://huggingface.co/DeepFloyd/t5-v1_1-xxl/tree/main 下载 pixart_sigma_sdxlvae_T5_diffusers的vae权重,将下载好的权重放在 ./weights 目录下。 pixart_sigma_sdxlvae_T5_diffusers 官网下载地址:https://huggingface.co/PixArt-alpha/pixart_sigma_sdxlvae_T5_diffusers/tree/main 下载下图中vae文件夹的内容。 图1 下载vae文件夹的内容 下载vgg权重,将下载好的权重放在 ./weights 目录下。 vgg16-397923af.pth 官网下载地址: https://download.pytorch.org/models/vgg16-397923af.pth vgg.pth 官网下载地址:https://heibox.uni-heidelberg.de/f/607503859c864bc1b30b/?dl=1 将权重 vgg16-397923af.pth 放在 /home/ma-user/.cache/torch/hub/checkpoints/ 下,这个文件夹需要自己创建。 cp weights/vgg16-397923af.pth /home/ma-user/.cache/torch/hub/checkpoints/vgg16-397923af.pth 下载完成的权重文件如下图所示: 图2 下载完成的权重文件
  • 镜像版本 本教程中用到基础镜像地址和配套版本关系如下表所示,请提前了解。 表2 基础容器镜像地址 配套软件版本 镜像用途 镜像地址 配套 获取方式 6.3.907版本 基础镜像 swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc2-py_3.9-hce_2.0.2312-aarch64-snt9b-20240727152329-0f2c29a cann_8.0.rc2 pytorch_2.1.0 驱动23.0.6 从SWR拉取 不同软件版本对应的基础镜像地址不同,请严格按照软件版本和镜像配套关系获取基础镜像。
共100000条