华为云用户手册

  • 使用场景 OBS支持4种存储类别:标准存储、低频访问存储、归档存储、深度归档存储(受限公测),从而满足客户业务对存储性能、成本的不同诉求。不同规格的存储类别计费参见存储费用。 不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。 标准存储访问时延低和吞吐量高,因而适用于有大量热点文件(平均一个月多次)或小文件(小于1MB),且需要频繁访问数据的业务场景,例如:大数据、移动应用、热点视频、社交图片等场景。 低频访问存储适用于不频繁访问(平均一年少于12次)但在需要时也要求快速访问数据的业务场景,例如:文件同步/共享、企业备份等场景。 归档存储适用于很少访问(平均一年访问一次)数据的业务场景,例如:数据归档、长期备份等场景。归档存储安全、持久且成本极低,可以用来替代磁带库。为了保持成本低廉,数据恢复时间可能长达数分钟到数小时不等。 深度归档存储(受限公测)适用于长期不访问(平均几年访问一次)数据的业务场景,其成本相比归档存储更低,但相应的数据恢复时间将更长,一般为数小时。
  • 存储类别对比 对比项目 标准存储 低频访问存储 归档存储 深度归档存储(受限公测) 特点 高性能、高可靠、高可用的 对象存储服务 高可靠、较低成本的实时访问存储服务 归档数据的长期存储,存储单价更优惠 深度归档数据的长期存储,存储单价相比归档存储更优惠 应用场景 云应用、数据分享、内容分享、热点对象 网盘应用、企业备份、活跃归档、监控数据 档案数据、医疗影像、视频素材、带库替代 长期不访问的数据存档场景 设计持久性 99.999999999% 99.999999999% 99.999999999% 99.999999999% 设计持久性(多AZ) 99.9999999999% 99.9999999999% 不支持多AZ 不支持多AZ 设计可用性 99.99% 99% 99% 99% 设计可用性(多AZ) 99.995% 99.5% 不支持多AZ 不支持多AZ 最小计量单位a 64KB 64KB 64KB 64KB 最低存储时间b 无 30天 90天 180天 数据恢复 不涉及 按实际恢复数据量收费,单位GB 分加急和标准两种恢复方式,不同恢复方式消耗时间不同,请参见恢复归档存储或深度归档存储对象。 按实际恢复数据量收费,单位GB 分加急和标准两种恢复方式,不同恢复方式消耗时间不同,请参见恢复归档存储或深度归档存储对象。 按实际恢复数据量收费,单位GB 图片处理 支持 支持 不支持 不支持 a:最小计量单位是指对象的计费大小下限。对象大小小于最小计量单位时,将按照最小计量单位进行计费。例如上传一个32KB的标准存储对象,会按照64KB进行计费。 b:最低存储时间是指对象的计费时间下限。对象存储时间小于最低存储时间时,将按照最低存储时间计费。例如,一个低频访问存储对象在OBS中存储了20天后删除,会按照30天计费。
  • 桶存储类别和对象存储类别 创建桶时支持设置桶存储类别,也可在桶创建完成后修改桶存储类别。 上传对象时,对象的存储类别默认继承桶的存储类别,您也可以重新指定对象的存储类别,同时也支持在对象上传完成后修改对象的存储类别。 修改桶的存储类别,桶内已有对象的存储类别不会修改,新上传对象时的默认对象存储类别随之修改。 归档存储的对象,恢复状态默认为未恢复,此状态下无法直接下载。您可以开启归档数据直读功能,方可直接下载归档存储的对象,无需提前恢复。归档数据直读会收取相应的费用,请根据实际业务合理规划。
  • DIS通知 OBS提供的DIS通知功能,主要面向大数据场景,要求OBS与 数据接入服务 (DIS)及其他大数据相关服务结合使用。 仅支持华东-上海一、华北-北京四、华南-广州区域。 当OBS桶中触发了对象上传、下载、删除等操作事件时,OBS将事件通知发送给DIS,再通过DIS通道将通知分发给下游的大数据处理服务,如 数据湖 工厂(DLF)。大数据处理服务接到通知后,利用委托的OBS权限对OBS中更新的数据进行实时分析处理。您可以将通知配置为按对象名称的前缀或后缀进行筛选。 假设在某大数据场景下,用户要求每隔5分钟对OBS中上传的“.mp4”后缀的视频文件进行一次归类。用户可以在OBS中创建一个DIS通知规则,规定在将带有“.mp4”后缀的视频文件上传到OBS桶时发送通知。一旦规则触发,OBS会发送通知给DIS,经DIS通道分发给下游的DLF。在DLF中经过开发,可实现每5分钟汇总一次DIS通知,并将这些通知中涉及的视频文件统一移动到OBS某个文件夹下,再对其进行进一步的分析处理。 图1 DIS通知示意图
  • 约束与限制 需要使用 IAM 增加Tenant Administrator权限后才能设置、获取、删除DIS通知策略。使用DIS 消息通知 需要使用IAM创建对OBS云服务的委托,委托赋予的权限需为数据接入服务DIS的DIS Administrator或DIS User权限。 一个桶中最多同时配置10条DIS通知规则。 新创建的DIS通知将在5分钟之内生效。 一个桶的多条DIS通知规则不允许重复,即任意对象在发生任意事件时都不能同时匹配两条以上的DIS通知规则,重复规则会创建失败。 针对同一事件,如果配置了一条前后缀都为空的规则,则不允许再配置第二条规则。前后缀都为空表示对所有对象生效。 例如:针对Put事件,已存在一条规则A,定义的前缀是“abcd”,后缀是“.txt”。如果要创建另外一条针对Put事件的规则B,则规则B配置不同前后缀的结果如表1所示。 表1 规则B前后缀配置场景及结果 规则A前后缀配置 规则B前后缀配置 规则B创建结果 原因 前缀:abcd 后缀:.txt 前缀:abcd 后缀:.txt 失败 前后缀相同 前缀:abcd 后缀:空 失败 前缀相同,后缀B包含A 前缀:ab 后缀:xt 失败 前缀B包含A,后缀B包含A 前缀:abef 后缀:.txt 成功 前缀不同,后缀相同 前缀:abcd 后缀:.mp4 成功 前缀相同,后缀不同
  • 事件通知消息结构 OBS发布的事件通知消息是具有以下结构的JSON消息。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 { "Records":[ { "eventVersion":"", //版本号,目前为"3.0" "eventSource":"", //消息源,固定为"OBS" "eventRegion":"", //事件所在的region "eventTime":"", //事件时间,格式为ISO-8601,示例:2020-07-10T09:24:11.418Z "eventName":"", //触发事件通知的事件名 "userIdentity":{ "ID":"" //触发事件的用户对应的计费ID }, "requestParameters":{ "sourceIPAddress":"" //请求的源IP }, "responseElements":{ "x-obs-request-id":"", //请求对应的requestid "x-obs-id-2":"" //帮助定位问题的特殊符号 }, "obs":{ "Version":"1.0", "configurationId":"", //此事件匹配的OBS中事件通知规则的名称 "bucket":{ "name":"examplebucket", "ownerIdentity":{ "ID":"" //桶拥有者的账号ID }, "bucket":"" //桶名 }, "object":{ "key":"", //对象名 "eTag":"", //对象的etag "size": , //对象的大小 "versionId":"null", //对象的版本ID "sequencer":"" //确定某个特定对象事件顺序的标识 } } } ] } 请注意以下几点: 您可以通过“responseElements”键值来跟踪OBS的请求。其中,“x-obs-request-id”和“x-obs-id-2”均可用于跟踪单个请求,这两个参数的值即OBS响应请求时返回的值。 “obs”键值包含了事件中涉及的桶和对象的相关信息。其中,对象键名称进行了URL编码,例如,“TEST/中 文.jpg”将变为“TEST%2F%E4%B8%AD+%E6%96%87%2F.jpg”。 二次开发时,如果使用OBS SDK下载此对象 ,则需要先对对象名进行URL解码,再调用下载接口。而如果直接使用浏览器访问此对象,则不需要解码。 “sequencer”键值可以确定事件顺序。通常情况下,事件通知并非按照事件发生的顺序进行提示,但是创建对象(PUT)和删除对象(DELETE)的事件通知包含sequencer,该键值可帮助确定特定对象的事件顺序。比较同一对象键上的两个事件通知的十六进制sequencer字符串时,sequencer值越大,事件发生越晚。 sequencer不能用于确定不同对象键上的事件顺序。 sequencer确定的事件顺序仅供参考,该方法不适用于高可靠性系统。
  • 支持代码安全检查 支持场景 软件开发阶段对代码质量和安全问题进行自动化检查,支持内置安全规范、要求到软件生产作业流,帮助企业软件生产安全。 提供深度代码安全检查能力,帮助政务云运营者和大企业管控ISV软件安全质量,构建供应链安全体系。 能力说明 提供跨函数、跨文件检查能力,提供污点分析检查能力。 支持注入类、信息泄露类(AccessKey)等TOP安全漏洞检查。 支持华为云编程规范,兼容支持CWE、OWASP TOP 10、CERT、SANS TOP 25检查。
  • 支持主流开发语言,内置8000+检查规则,便于用户开箱即用 代码检查服务支持Java、C/C++、Python、C#、Go、JavaScript、TypeScript、PHP、HTML、 CSS 等10+常见开发语言,满足嵌入式、WEB应用、移动应用等多种开发场景所需。 内置多款的开源工具与自研引擎一起提供丰富的检查规则(8000+)。 梳理各类场景需要,内置全面检查规则集、关键检查规则集、移动领域规则集、华为编程规范规则集等10+规则集,便于用户开箱即用。更多规则集详情,请参见代码检查规则集列表。 用户也可基于规则库定制满足场景专项需求的检查规则集 。
  • 桶 桶(Bucket)是OBS中存储对象的容器。对象存储提供了基于桶和对象的扁平化存储方式,桶中的所有对象都处于同一逻辑层级,去除了文件系统中的多层级树形目录结构。 每个桶都有自己的存储类别、访问权限、所属区域等属性,用户可以在不同区域创建不同存储类别和访问权限的桶,并配置更多高级属性来满足不同场景的存储诉求。 对象存储服务设置有四类桶存储类别,分别为:标准存储、低频访问存储、归档存储、深度归档存储(受限公测中),从而满足客户业务对存储性能、成本的不同诉求。创建桶时可以指定桶的存储类别,桶的存储类别可以修改。 在OBS中,桶名必须是全局唯一的且不能修改,即用户创建的桶不能与自己已创建的其他桶名称相同,也不能与同账号、其他账号及账号下的所有IAM用户创建的桶名称相同。桶所属的区域在创建后也不能修改。每个桶在创建时都会生成默认的桶ACL(Access Control List,访问控制列表),桶ACL的每项包含了对被授权用户授予什么样的权限,如读取权限、写入权限等。用户只有对桶有相应的权限,才可以对桶进行操作,如创建、删除、显示、设置桶ACL等。 一个账号及账号下的所有IAM用户可创建的桶+并行文件系统的上限为100个。每个桶中存放的对象的数量和大小总和没有限制,用户不需要考虑数据的可扩展性。 由于OBS是基于REST风格HTTP和HTTPS协议的服务,您可以通过URL(Uniform Resource Locator)来定位资源。 OBS中桶和对象的关系如图1所示: 图1 桶和对象 桶的相关操作请参见桶管理。 父主题: 基本概念
  • 约束与限制 本章介绍OBS一些主要特性的使用限制。 表1 OBS使用限制 限制项 说明 带宽 单个华为云账号默认的读写(GET/PUT)带宽上限是16Gbit/s。如果带宽达到该阈值,请求会触发流控。 如果您的业务有更大的带宽需求,请提交工单申请。 每秒请求数(Query Per Second, QPS) 单个华为云账号默认的写请求(PUT Object)上限是6000请求每秒。 单个华为云账号默认的读请求(GET Object)上限是10000请求每秒。 单个华为云账号默认的列举类请求(LIST)上限是1000请求每秒。 说明: 如果用户在对象命名规则上使用了顺序前缀(如时间戳或字母顺序),可能导致大量对象的请求访问集中于某个特定分区,造成访问热点。会使热点分区上的请求速率受限,访问时延上升。 推荐使用随机前缀对象名,这样请求就会均匀分布在多个分区,达到水平扩展的效果。使用随机前缀对象名的方法,请参见性能优化最佳实践。 如果您的业务有更大的QPS需求,请提交工单申请。 资源包 资源包为区域专属,不支持共享给其他区域使用,请根据资源所在地谨慎选择。 OBS只对部分计费项提供了资源包,其他计费项支持按需计费模式。详情请参见计费说明。 当月使用量超出已购资源包的额度,将自动转为按需计费。新购资源包不能抵扣已产生的资源用量。 资源包类型需要和桶的数据冗余存储策略(单AZ存储、多AZ存储)以及桶的存储类别(标准存储、低频访问存储、归档存储、深度归档)相匹配,否则会产生按需计费。 购买的标准存储包、归档存储包和公网流出流量包可同时应用于并行文件系统和对象存储桶。由于并行文件系统暂时不支持跨区域复制和回源,所以无法使用对应流量包。 访问规则 OBS基于DNS解析性能和可靠性的考虑,要求凡是携带桶名的请求,在构造URL的时候都必须将桶名放在domain前面,形成三级域名形式,又称为 虚拟主机 访问域名。 例如,如果您有一个位于cn-north-4区域的名为test-bucket的桶,期望访问桶中一个名为test-object对象的acl,正确的访问URL为https://test-bucket.obs.cn-north-4.myhuaweicloud.com/test-object?acl 桶 在OBS中,桶名必须是全局唯一的且不能修改,即用户创建的桶不能与自己已创建的其他桶名称相同,也不能与其他用户创建的桶名称相同。 桶创建成功后,桶名、所属区域和数据冗余存储策略均不允许修改。 一个账号及账号下的所有IAM用户可创建的桶+并行文件系统的上限为100个。建议结合OBS细粒度权限控制能力,合理进行桶规划和使用。例如,建议在桶内根据对象前缀划分不同的目录,通过细粒度权限控制实现不同目录在不同业务部门之间的权限隔离。 默认情况下,OBS系统和单个桶都没有总数据容量和对象数量的限制。 删除桶之前必须确保桶内所有对象已彻底删除。 用户删除桶后,需要等待30分钟才能创建同名桶和并行文件系统。 桶清单 详见桶清单简介 上传对象 OBS管理控制台支持批量上传文件,单次最多支持100个文件同时上传,总大小不超过5GB。如果只上传1个文件,则这个文件最大为5GB。 OBS Browser+、obsutil、API和SDK上传的单个对象最大是48.8TB。 支持批量上传功能需要满足以下条件: OBS桶的版本号为“3.0”。 在未开启多版本控制功能的情况下,如果新上传的文件和桶内文件重名,则新上传的文件会自动覆盖老文件,且不会保留老文件的ACL等信息;如果新上传的文件夹和桶内文件夹重名,则上传后会将新老文件夹合并,合并过程如遇重名文件,会使用新上传的文件夹中的文件进行覆盖。 在开启了多版本控制功能的情况下,如果新上传的文件和桶内文件重名,则会在老文件上新增一个版本。 对象键(对象名)虽然可以使用任何UTF-8字符,但是建议按照对象键命名指导原则进行命名,有助于最大程度符合DNS、Web安全字符、XML分析器和其他API的要求。 删除对象 桶没有开启多版本控制功能时,对象删除后不可恢复,请谨慎操作。 深度归档存储(受限公测中) 转为深度归档对象之后的追加写对象不支持追加写。 不支持批量恢复。 恢复归档或深度归档存储对象 归档存储或深度归档存储的对象正在恢复的过程中,不允许暂停或删除恢复任务。 对象的恢复状态为恢复中时,对象不能再次恢复。 数据恢复后,会产生一个标准存储类型的对象副本,即对象同时存在标准存储类型的对象副本和归档或深度归档存储类型的对象。在恢复的有效期内,会同时收取这份数据在标准存储和归档存储或深度归档存储中的存储费用。恢复有效期到期后标准存储类型的对象副本会自动删除。 生命周期管理 单个桶的生命周期规则条数没有限制,但一个桶中所有生命周期规则的XML描述总大小不能超过20KB。 跨区域复制 详见跨区域复制简介 自定义域名绑定 桶版本号为3.0及以上的桶支持自定义绑定域名功能。 每个桶默认最多绑定20个自定义域名,部分区域支持最多绑定30个自定义域名(如华南-广州),各区域支持绑定的最大值请以控制台自定义域名绑定页面的实际规格为准。 OBS自定义域名绑定暂时不支持HTTPS访问自定义域名,只支持HTTP访问自定义域名。 客户自定义域名绑定成功后,若想使用HTTPS进行访问,需同时使用CDN,通过CDN管理控制台进行HTTPS证书管理,即可使用HTTPS访问。 CDN管理控制台HTTPS证书管理方式,详情请参见HTTPS配置。 一个自定义域名只能绑定到一个桶域名上。 绑定的自定义域名后缀目前支持的范围为2~6个英文大小写字母。 数据回源 详见数据回源简介 ACL 一个桶的桶ACL最多支持100条授权,所有桶ACL策略大小总和不超过50KB。 一个对象的对象ACL最多支持100条授权,所有对象ACL策略大小不超过50KB。 桶策略 单个桶的桶策略条数(statement)没有限制,但一个桶中所有桶策略的JSON描述总大小不能超过20KB。 Data+ 说明: Data+已下线,如果需要使用数据处理服务,可使用数据工坊 DWR,详情请参见数据工坊 DWR。 当前仅在以下区域开放:华北-北京一、华北-北京四、华东-上海二。 当前仅支持创建串行的工作流。 一个事件触发器仅支持关联一个工作流,一个工作流可同时被多个事件触发器关联。 当前暂不支持创建重名工作流,即使工作流被删除后,也不能再创建与之重名的工作流。 同一桶内的触发器名称不允许重复。 Data+工作流及工作流中使用的FunctionGraph、数据处理服务、消息通知服务、OBS桶等均需要在相同区域的默认项目下。 说明: Data+工作流所属区域为创建工作流的桶所属区域。例如工作流A是在桶A中创建的,则桶A的区域即为工作流A的区域。 并行文件系统 详见《并行文件系统特性指南》 图片处理 详见《图片处理特性指南》
  • 步骤详情 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 部署租户 当前租户:表示将软件包部署到当前租户的FunctionGraph插件中发布。 选中“当前租户”,当前租户需要有FunctionGraph操作权限,如果当前没有FunctionGraph操作权限,可以通过下方的IAM授权选择已有权限的授权用户进行部署。 其他租户:表示通过IAM授权方式将软件包部署到其他租户的FunctionGraph中发布。 选中“其他租户”,则必须选择授权租户进行FunctionGraph部署。 说明: 推荐配置拥有FunctionGraph操作权限的子账号的AK/SK,不推荐配置租户账号的AK/SK。 IAM授权 如果当前用户没有FunctionGraph操作权限,可以通过IAM授权选择授权的用户进行部署。 函数名称 FunctionGraph中创建的函数,请参考快速创建第一个FunctionGraph函数。 函数别名 FunctionGraph中对应函数创建好的别名,函数别名支持绑定两个版本,一个对应版本和开启灰度版本,并且支持配置同一个别名下两个不同版本分流权重,每个版本只能创建一个别名。 对应版本 可通过别名来调用对应版本的函数,仅可以为每个版本创建一个别名。 开启灰度版本 灰度版本可以分流主版本请求的部分,可以通过设置灰度版本的权重值来控制分流的多少,更多灰度版本的介绍,请参考版本管理。 控制选项 配置是否启用该操作。 当前步骤部署失败后,应用是否继续部署后续的步骤。
  • 步骤详解 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 部署租户 当前租户:表示将软件包部署到当前租户的CCE集群中发布。 选择“当前租户”,当前租户需要有CCE集群操作权限,如果当前没有CCE集群操作权限,可以通过下方的IAM授权选择已有权限的授权用户进行部署。 其他租户:表示通过IAM授权方式将软件包部署到其他租户的CCE集群中发布。 选择“其他租户”,则必须选择授权租户进行CCE集群部署。 说明: 推荐配置拥有CCE集群操作权限的子账号的AK/SK,不推荐配置租户账号的AK/SK。 是否使用IAM提权 如果当前用户无操作权限执行接口时,可通过IAM提权获取到其他用户的临时AK/SK去执行CCE接口。 区域 选择要部署的区域。 集群名称 选择CCE云容器引擎中申请的K8S集群。 命名空间名称 选择CCE云容器引擎中K8S集群的命名空间。 工作负载名称 选择需要部署的无状态工作负载。 访问方式名称 选择与目标工作负载所绑定的service服务名称。 路由名称 选择与目标service服务所绑定的路由名称。 容器名称 选择需要部署的容器实例名。 镜像名称 选择需要部署的镜像。 镜像版本 选择需要部署的镜像版本。 开启灰度配置 灰度策略: Header Header-Key:持输入自定义Header的键。 Header-Value:支持输入自定义Header的值,支持字符串及正则表达式,正则表达式格式为:^....$。 灰度流量权重(%):支持流量自定义配置。 Cookie Cookie:支持输入自定义Cookie内容。 灰度流量权重(%):支持流量自定义配置。 说明: Header与Cookie所输入的字符串长度最大为500。
  • 步骤详情 表1 参数说明 参数项 说明 步骤显示名称 步骤添加后在部署步骤编排区显示的名称。 部署租户 当前租户:表示将软件包部署到当前租户的CCE集群中发布。 选择“当前租户”,当前租户需要有CCE集群操作权限,如果当前没有CCE集群操作权限,可以通过下方的IAM授权选择已有权限的授权用户进行部署。 其他租户:表示通过IAM授权方式将软件包部署到其他租户的CCE集群中发布。 选择“其他租户”,则必须选择授权租户进行CCE集群部署。 说明: 推荐配置拥有CCE集群操作权限的子账号的AK/SK,不推荐配置租户账号的AK/SK。 是否使用IAM提权 如果当前用户无操作权限执行接口时,可通过IAM提权获取到其他用户的临时AK/SK去执行CCE接口。 区域 选择要部署的区域。 集群名称 选择CCE云容器引擎中申请的K8S集群。 命名空间名称 选择CCE云容器引擎中K8S集群的命名空间。 工作负载名称 选择需要部署的工作负载。 实例数量 填写需要部署的实例数量。 说明: 若实例数量输入为空,则自动适配CCE集群实时实例数量。 容器名称 选择需要部署的容器实例名。 镜像名称 选择需要部署的镜像。 镜像版本 选择需要部署的镜像版本。 容器规格 可配置目标工作负载中的目标容器的容器规格。 CPU配额 配额申请:容器使用的最小CPU需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配CPU总量 ≥ 容器CPU申请数时,才允许将容器调度到该节点。 配额限制:容器能使用的CPU最大值,如果CPU使用值大于限制值,则容器使用CPU资源可能会被限流。 内存配额 配额申请:容器使用的最小内存需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配内存总量 ≥ 容器内存申请数时,才允许将容器调度到该节点。 配额限制:容器能使用的内存最大值。当内存使用率超出设置的内存限制值时,该实例可能会被重启进而影响工作负载的正常使用。 环境变量 支持配置目标工作负载中的目标容器的环境变量 支持获取容器实时环境变量并同步到当前页面,同步后将覆盖本页面原有环境变量。 JAVA探针 可协助您快速进行工作负载的问题定位与性能瓶颈分析,详情可参考性能管理配置(性能瓶颈分析)。 控制选项 当前步骤部署失败后,应用是否继续部署后续的步骤。 超过时间 指定该步骤最大执行时间,时间单位为分钟。在手动停止应用之前,执行时长大于超时时长,系统将该步骤设置为执行超时状态。取值范围:1-30 。
  • 资源和成本规划 本节介绍最佳实践中资源规划情况,包含以下内容: 表1 资源和成本规划内容说明 维度 说明 资源规划 OBS:存放训练数据集、预训练模型等数据资源的桶,桶存储类别为“标准存储”,桶策略为“私有”。 SFS Turbo:文件系统类型为“HPC型”,存储类型请根据存储容量和性能需求选择,AI场景建议选择250MB/s/TiB及以上的存储类型。 ModelArts: AI开发平台 ,采用多机多卡分布式训练。 VPC:虚拟私有云和子网。 算法及数据:准备AI训练需要的算法及数据集,如Swin-Transformer算法,及ImageNet21K数据集。 说明: 为了提供最佳加速性能,建议SFS Turbo HPC文件系统和ModelArts资源池就近选择在同一个Region的同一个可用区(AZ)。 成本规划 OBS费用:详见OBS计费说明。 SFS Turbo费用:详见SFS计费说明。 ModelArts费用:详见ModelArts计费说明。 须知: 本文提供的成本预估费用仅供参考,资源的实际费用以华为云管理控制台或价格计算器显示为准。 如果您想了解更多本方案相关信息,或在方案使用过程中存在疑问,可通过方案咨询渠道,寻求专业人员支持。 父主题: 面向AI场景使用OBS+SFS Turbo的存储加速实践
  • 配置SFS Turbo数据淘汰策略 SFS Turbo HPC型文件系统绑定OBS后端之后,建议配置缓存数据淘汰功能。SFS Turbo会自动释放设定时间内没有访问过的文件数据内容,仅保留文件元数据,数据内容释放后不占用SFS Turbo文件系统上的存储空间,再次访问该文件时,将重新从OBS中加载文件数据内容。 登录SFS管理控制台。 在文件系统列表中,单击创建的HPC型文件系统名称,进入文件系统详情页面。 在“基本信息”页签,设置冷数据淘汰时间。 图1 设置冷数据淘汰时间 只有已经导出到OBS且满足淘汰时间的数据才会被淘汰。 父主题: 基本配置
  • 操作流程 本文档介绍面向AI场景如何使用OBS+SFS Turbo的存储加速,流程如图1所示。 图1 面向AI场景使用OBS+SFS Turbo的存储加速方案步骤 表1 面向AI场景使用OBS+SFS Turbo的存储加速流程说明 序号 步骤 说明 1 规划组网和资源 此步骤请提交工单联系技术支持人员进行支撑配置。 2 创建资源 创建VPC:创建1个虚拟私有云和子网。 创建SFS Turbo HPC型文件系统:创建1个SFS Turbo文件系统,文件系统类型选择“HPC型”,存储类型请根据存储容量和性能需求选择,AI场景建议选择250MB/s/TiB及以上的存储类型。 创建OBS桶:创建1个OBS桶,存储类别为“标准存储”,桶策略为“私有”。 创建ModelArts资源池:创建1个专属资源池。 3 基本配置 配置ModelArts和SFS Turbo间网络直通。 创建委托授权ModelArts云服务使用SFS Turbo。 配置ModelArts网络关联SFS Turbo。 配置SFS Turbo和OBS联动。 配置SFS Turbo数据自动导出到OBS桶。 配置SFS Turbo数据淘汰策略。 4 训练 上传数据至OBS并预热到SFS Turbo中。 创建训练任务。 5 例行运维 使用OBS+SFS Turbo的存储加速方案的过程中,您可以进行采取以下运维措施,保证系统正常高效运行: SFS Turbo容量监控及告警。 SFS Turbo性能监控。 调整SFS Turbo数据淘汰策略。 SFS Turbo容量及性能扩容。 OBS性能监控。 如果您想了解更多本方案相关信息,或在方案使用过程中存在疑问,可通过方案咨询渠道,寻求专业人员支持。 父主题: 面向AI场景使用OBS+SFS Turbo的存储加速实践
  • 方案架构 针对AI训练场景中面临的问题,华为云提供了基于对象存储服务OBS+高性能文件服务SFS Turbo的AI 云存储 解决方案,如图所示,华为云高性能文件服务SFS Turbo HPC型支持和OBS数据联动,您可以通过SFS Turbo HPC型文件系统来加速对OBS对象存储中的数据访问,并将生成的结果数据异步持久化到OBS对象存储中长期低成本保存。 图1 基于OBS+SFS Turbo的华为云AI云存储解决方案
  • 方案优势 华为云AI云存储解决方案的主要优势如下表所示。 表1 华为云AI云存储解决方案的主要优势 序号 主要优势 详细描述 1 存算分离,资源利用率高 GPU/NPU算力和SFS Turbo存储解耦,各自按需扩容,资源利用率提升。 2 SFS Turbo高性能,加速训练过程 训练数据集高速读取,避免GPU/NPU因存储I/O等待产生空闲,提升GPU/NPU利用率。 大模型TB级Checkpoint文件秒级保存和加载,减少训练任务中断时间。 3 数据导入导出异步化,不占用训练任务时长,无需部署外部迁移工具 训练任务开始前将数据从OBS导入到SFS Turbo,训练过程中写入到SFS Turbo的Checkpoint数据异步导出到OBS,均不占用训练任务时长。 SFS Turbo和OBS存储服务之间数据直接导入导出,无需部署外部数据拷贝机器及工具。 4 冷热数据自动流动,降低存储成本 SFS Turbo支持自定义数据淘汰策略,冷数据自动分级到OBS,释放高性能存储空间用于接收新的热数据。 访问冷数据时SFS Turbo从OBS自动加载数据提升访问性能。 5 多AI开发平台、生态兼容 pytorch、mindspore等主流AI应用框架,kubernetes容器引擎、算法开发场景通过文件语义访问共享数据,无需适配开发。 如果您想了解更多本方案相关信息,或在方案使用过程中存在疑问,可通过方案咨询渠道,寻求专业人员支持。
  • 应用场景 近年来,AI快速发展并应用到很多领域中,AI新产品掀起一波又一波热潮,AI应用场景越来越多,有自动驾驶、大模型、AIGC、科学AI等不同行业。AI人工智能的实现需要大量的基础设施资源,包括高性能算力,高速存储和网络带宽等基础设施,即“大算力、大存力、大运力”的AI基础大设施底座,让算力发展不要偏斜。 从过去的经典AI,到今天人人谈论的大模型,自动驾驶,我们看到AI模型的参数及AI算力规模呈现出指数级的爆发增长,对存储基础设施也带来全新的挑战。 高吞吐的数据访问挑战:随着企业使用 GPU/NPU 越来越多,底层存储的 IO 已经跟不上计算能力,企业希望存储系统能提供高吞吐的数据访问能力,充分发挥 GPU/NPU 的计算性能,包括训练数据的读取,以及为了容错做的检查点(以下简称Checkpoint)保存和加载。训练数据的读取要尽量读得快,减少计算对 I/O 的等待,而 Checkpoint主要要求高吞吐、减少训练中断的时间。 文件接口方式的数据共享访问:由于 AI 架构需要使用到大规模的计算集群(GPU/NPU服务器),集群中的服务器访问的数据来自一个统一的数据源,即一个共享的存储空间。这种共享访问的数据有诸多好处,它可以保证不同服务器上访问数据的一致性,减少不同服务器上分别保留数据带来的数据冗余等。另外以 AI 生态中非常流行的开源深度学习框架PyTorch为例,PyTorch默认会通过文件接口访问数据,AI算法开发人员也习惯使用文件接口,因此文件接口是最友好的共享存储访问方式。
  • 配置ModelArts网络关联SFS Turbo ModelArts网络关联SFS Turbo后,可直接在ModelArts的Notebook开发及训练环境中挂载SFS Turbo共享文件系统,并访问其中的数据。 登录ModelArts管理控制台,创建网络并打通创建资源中创建的创建虚拟私有云和子网,详细步骤参见ModelArts网络。 单击1中创建生成的资源池“网络”所在行的“更多”,选择“关联sfsturbo”。 在“关联sfsturbo”弹窗中,选择创建资源中创建的SFS Turbo HPC型文件系统。 图2 关联SFS Turbo 选择完成后,单击“确定”创建关联。 使用过程中请不要解除关联,解除关联会导致ModelArts资源池无法访问SFS Turbo文件系统中的数据。 一个SFS Turbo文件系统最多可关联1个网络。
  • 常见问题 可以只使用SFS Turbo HPC型文件系统支撑AI训练吗? 当数据规模较小,不存在冷热数据分级降本诉求,又希望能方便快捷的构建AI训练系统时,可以选择只使用SFS Turbo高性能文件存储支撑AI训练。 可以基于OBS对象存储支撑AI自动驾驶、大模型训练吗? OBS为容量型存储,在时延、带宽等存储性能上无法满足高性能AI训练,建议使用SFS Turbo HPC型高性能文件系统加速AI训练任务,训练速度加快可以节省AI算力费用。 文件系统使用空间不足,可以扩容吗? SFS Turbo文件系统支持在线扩容,扩容过程中挂载文件系统可能失败,建议业务低峰期扩容。 父主题: 面向AI场景使用OBS+SFS Turbo的存储加速实践
  • 修订记录 发布日期 修订记录 2023-12-26 第五次正式发布。 本次更新说明如下: 新增面向AI场景使用OBS+SFS Turbo的存储加速实践。 2023-11-28 第四次正式发布。 本次更新说明如下: 新增IDC专线通过域名挂载SFS Turbo HPC型的最佳实践。 2022-11-22 第三次正式发布。 本次更新说明如下: 新增时延测试的最佳实践。 2022-04-30 第二次正式发布。 本次更新说明如下: 新增数据迁移和性能测试的最佳实践。 2019-05-27 第一次正式发布。
  • 配置SFS Turbo和OBS联动 SFS Turbo HPC型文件系统支持无缝访问存储在 对象存储OBS 存储桶中的对象,您可以指定SFS Turbo内的文件目录与OBS对象存储桶进行关联。 登录SFS管理控制台,在左侧导航窗格中选择“SFS Turbo”。 在文件系统列表中,单击创建资源中创建的HPC型文件系统,进入文件系统详情页面。 进入页签“OBS绑定目标”,单击“绑定OBS”。 图1 绑定OBS桶 在右侧弹窗“绑定OBS目标”中,填写如下表所示参数。 表1 绑定OBS目标配置参数 参数 含义 限制 配置后可编辑 路径名称 SFS Turbo文件系统根目录下会以该名称创建一个子目录,该目录将绑定对应的OBS桶 子目录名称不能重复,子目录名称长度不能超过255个字符 子目录名称必须是文件系统根目录下不存在的目录名 子目录名称不能是“.”或“..” 不支持 桶名 OBS存储桶桶名 无法绑定不存在的存储桶 目前仅支持OBS存储桶,不支持并行文件系统 不支持 OBS Endpoint OBS区域域名 OBS存储桶必须和HPC型文件系统在同一个Region 不支持 勾选“将OBS桶读写权限授权给SFS Turbo服务进行OBS目标绑定”。 单击“确定”,完成绑定。 父主题: 基本配置
  • SFS Turbo容量监控及告警 如果SFS Turbo HPC型文件系统存储空间被写满,会影响业务运行,您可以在 CES 云监控服务上监控SFS Turbo文件系统的容量使用情况,并创建告警规则,当容量使用率超过一定阈值,可以发送邮件、短信等告警到运维人员。当收到容量监控告警时,您需要及时清理SFS Turbo存储空间、或缩短冷数据淘汰时间加速冷数据淘汰、或对SFS Turbo进行空间扩容。详情可参见SFS Turbo监控指标说明和创建告警规则。
  • 配置SFS Turbo数据自动导出到OBS桶 配置自动导出后,训练过程中周期性写入SFS Turbo文件系统的Checkpoint模型文件会自动以异步方式导出到关联的OBS桶中进行长期保存,无需手工导出,异步导出方式不会占用上层训练任务时间。 SFS Turbo的自动导出功能当前处于受限使用状态,请提交工单联系技术支持人员进行配置。 文件导出速度受OBS服务的写入带宽上限影响,默认是16Gbit/s,如果大模型训练生成的Checkpoint文件过大、导出速度过慢,可提交工单申请调大OBS服务的写入带宽。 父主题: 基本配置
  • 操作步骤 登录弹性文件服务管理控制台。 在文件系统列表中查看所有文件系统的基本信息,参数说明如表1所示。 表1 参数说明 参数 说明 名称 已创建的文件系统名称,例如:sfs-name-001。 可用区 文件系统所在的可用区。 状态 文件系统的状态,包含“可用”、“不可用”、“已冻结”、“正在创建”、“正在删除”、“删除错误”、“创建失败”、“正在扩容”、“扩容错误”、“正在缩容”、“缩容错误”和“缩容失败”。 类型 文件系统的类型。 协议类型 文件系统的协议类型为NFS或CIFS。 已用容量(GB) 文件系统存放数据已使用的空间。 说明: 该数据不是实时数据,平均15分钟刷新一次。SFS容量型文件系统已用容量小于1MB时,将不会显示已用容量。 最大容量(GB) 文件系统的最大使用容量。 是否加密 已经创建的文件系统的加密状态,包括“是”和“否”。 企业项目 文件系统归属的企业项目。 挂载地址 文件系统的挂载地址,NFS类型的格式为:文件系统域名:/路径,或文件系统IP:/,或域名地址:/;CIFS类型的格式为:\\文件系统域名\路径。 说明: 由于挂载地址名称较长,需要拉宽该栏以便完整显示。 操作 SFS容量型包含“容量调整”、“查看监控指标”和“删除”操作。 SFS Turbo包含“扩容”、“删除”、“查看监控指标”、“续订”和“退订”操作。 SFS 3.0容量型包含“删除”操作。 说明: 包年/包月的SFS Turbo文件系统创建完成后,大约1到2分钟后,才能执行续订、退订等操作。 单击文件系统名称,可查看更多的文件系统信息,如图1所示。 图1 文件系统的扩展信息 (可选)通过文件系统名称关键字、密钥ID或文件系统状态来过滤查看指定的文件系统。 可以通过页面中间“所有项目”搜索框查询不同企业项目下的文件系统。
  • 操作步骤 登录管理控制台。 单击“”,搜索“云运维中心”,并单击““进行搜索,选择“云运维中心”。 在左侧菜单栏单击“应用资源管理”,进入“应用管理”页签,选择应用,单击“+”按钮。 图1 创建组件 填写创建组件弹窗信息,具体信息可参考 表1 ,单击“确认”按钮。 表1 创建组件参数说明表 参数 说明 示例 组件ID 应用下组件信息,自定义组件ID,必填项 testComponent 组件名称 应用下组件信息,自定义组件名称,必填项 测试组件
  • 操作步骤 登录管理控制台。 单击“”,搜索“云运维中心”,并单击““进行搜索,选择“云运维中心”。 在左侧菜单栏单击“应用资源管理”,进入“应用管理”页签,选择应用,单击“编辑”按钮。 图1 编辑应用 填写编辑应用弹窗信息,具体信息可参考 表1 ,单击“确认”按钮。 表1 更新应用参数说明表 参数 说明 示例 应用名称 基本信息,自定义应用名称,必填项 测试应用 描述 基本信息,该应用相关描述,非必填项 -
  • 操作步骤 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。 单击“”,搜索“云运维中心”,并单击进行搜索,选择“云运维中心”。 选择“WarRoom”页签,可以查看WarRoom列表信息。 单击WarRoomID,进入对应的WarRoom。在上方可以看到WarRoom状态。 图1 WarRoom状态 单击最右侧的warroom状态按钮(故障界定/故障已恢复/warroom关闭),可以更新WarRoom状态到对应的状态。
  • 操作步骤 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。 单击“”,搜索“云运维中心”,并单击进行搜索,选择“云运维中心”。 选择“WarRoom”页签,可以查看WarRoom列表信息。 单击WarRoomID,进入对应的WarRoom。 单击“”,选择要邀请的成员,之后单击“加入WarRoom”。 悬停在人员列表的“”处,根据提示可以单击“设置为恢复责任人”、“设置为恢复成员”、“移除”,对与会人员进行管理。 图1 与会成员
共100000条