华为云用户手册

  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 file_system_path 是 String 联动目录名称,SFS Turbo会在文件系统根目录下以该名称创建一个子目录,该目录用于绑定后端存储。必须是文件系统根目录下不存在的目录名。限制如下: 仅支持字母、数字、下划线_、中文字符、连字符-、英文句号. 长度不能超过63个字符,子目录名称不能是“.”或“..” 不支持多层目录,不能包含字符'/' obs 是 ObsDataRepository object OBS类型后端存储 表4 ObsDataRepository 参数 是否必选 参数类型 描述 bucket 是 String OBS桶名称 endpoint 是 String OBS桶所在的区域 域名 policy 否 ObsDataRepositoryPolicy object 后端存储自动同步策略 attributes 否 ObsTargetAttributes object 后端存储属性。2024年6月30日及之前创建,且未升级的文件系统版本不支持该参数,请提工单处理。 表5 ObsDataRepositoryPolicy 参数 是否必选 参数类型 描述 auto_export_policy 否 AutoExportPolicy object 后端存储自动导出策略。当文件系统发生数据更新时,将自动导出到OBS桶。 表6 AutoExportPolicy 参数 是否必选 参数类型 描述 events 否 Array of strings 后端存储自动导出到OBS桶的数据更新类型。 NEW:表示新增数据,SFS Turbo联动目录下创建的文件,及之后对这些文件进行的元数据和数据修改,会被自动同步到OBS桶里。 CHANGED:表示修改数据,从OBS桶里导入到SFS Turbo联动目录下的文件,在SFS Turbo上对这些文件所进行的数据和元数据的修改,会被自动同步到OBS桶里。 DELETED:表示删除数据,在SFS Turbo联动目录下删除文件,OBS桶对应的对象也会被删除,只有被SFS Turbo写入的OBS对象才会被删除。 枚举值: NEW CHANGED DELETED prefix 否 String 后端存储内对象匹配前缀 suffix 否 String 后端存储内对象匹配后缀 表7 ObsTargetAttributes 参数 是否必选 参数类型 描述 file_mode 否 Integer 导入的文件权限。取值范围是0到777。 第一位表示文件所有者的权限,取值范围是0到7;第二位表示文件所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。文件所有者由uid指定,文件所属用户组由gid指定,不是文件所有者且不在文件所属用户组的用户为其他用户。 数字4、2、1分别表示读、写、执行权限,这些数字相加,即可得到所需的权限组合。例如:750中第一位7代表该文件所有者对该文件具有读、写、执行权限;第二位5代表该文件所属用户组对该文件具有读、执行权限;第三位0代表其他用户对该文件无权限。 dir_mode 否 Integer 导入的目录权限。取值范围是0到777。 第一位表示目录所有者的权限,取值范围是0到7;第二位表示目录所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。目录所有者由uid指定,目录所属用户组由gid指定,不是目录所有者且不在目录所属用户组的用户为其他用户。 数字4、2、1分别表示读、写、执行权限,这些数字相加,即可得到所需的权限组合。例如:750中第一位7代表该目录所有者对该目录具有读、写、执行权限;第二位5代表该目录所属用户组对该目录具有读、执行权限;第三位0代表其他用户对该文件无权限。 uid 否 Integer 导入对象所有者的用户id,默认值是0,取值范围是0到4,294,967,294(即2^32-2)。 gid 否 Integer 导入对象所属用户组id,默认值是0,取值范围是0到4,294,967,294(即2^32-2)。
  • 接口约束 该接口仅适用于SFS Turbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB文件系统。 请求体参数file_system_path必须是文件系统根目录下不存在的目录名。 绑定OBS桶作为后端存储时,仅支持OBS存储桶,不支持OBS并行文件系统。 创建 OBS后端存储库,依赖的服务是 对象存储服务 OBS。用户需要额外配置OBS Adminstrator权限。 该接口仅适用于NFS文件系统共享协议。
  • 响应参数 状态码:202 表3 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 状态码:400 表4 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表5 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码:500 表6 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表7 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 请求示例 文件系统ID为"77ba6f4b-6365-4895-8dda-bc7142af4dde", 任务ID为"11abef677ac40f46644d1d5cfc2424a4",删除该任务 "DELETE HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/77ba6f4b-6365-4895-8dda-bc7142af4dde/hpc-cache/task/11abef677ac40f46644d1d5cfc2424a4"
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 id String 权限规格的id ip_cidr String 授权对象的IP地址或网段 rw_type String 授权对象的读写权限 rw:默认选项,以读写的方式共享 ro:以只读的方式共享 none: 没有权限 user_type String 授权对象的系统用户对文件系统的访问权限。取值如下: no_root_squash:客户端使用的是root用户时,映射到NFS服务器的用户依然为root用户。 root_squash:客户端使用的是root用户时,映射到NFS服务器的用户为NFS的匿名用户(nfsnobody)。 all_squash:默认选项。所有访问NFS服务器的客户端的用户都映射为匿名用户。' 状态码:400 表4 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码:500 表5 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 请求示例 文件系统ID为"77ba6f4b-6365-4895-8dda-bc7142af4dde",规则rule_id为"11abef677ac40f46644d1d5cfc2424a4", 查询权限规则详情 GET HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/77ba6f4b-6365-4895-8dda-bc7142af4dde/fs/perm-rules/11abef677ac40f46644d1d5cfc2424a4
  • 响应示例 状态码:200 查询成功 查询文件系统的某一个权限规则的响应示例。 { "id" : "1131ed520xxxxxxebedb6e57xxxxxxxx", "ip_cidr" : "192.168.xx.xx/16", "rw_type" : "rw", "user_type" : "no_root_squash" } 状态码:400 错误响应 { "errCode" : "SFS.TURBO.0001", "errMsg" : "Invalid rule id" } 状态码:500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 url 是 String LDAP服务器的url,固定格式为 ldap://{ip_address}:{port_number} 或 ldaps://{ip_address}:{port_number},例如ldap://192.168.xx.xx:60000 base_dn 是 String 数据库中的域 user_dn 否 String 用户区别名 password 否 String LDAP认证密码 vpc_id 否 String 一般不涉及。仅在SFS Turbo支持多VPC的场景下,需要指定LDAP服务器可连通的VPC的id。 filter_condition 否 String 过滤条件。保留字段,暂不支持 backup_url 否 String LDAP备节点的url,固定格式为 ldap://{ip_address}:{port_number} 或 ldaps://{ip_address}:{port_number},例如ldap://192.168.xx.xx:60000 schema 否 String LDAP的schema,不填写则默认为RFC2307 search_timeout 否 Integer LDAP搜索的超时时间,单位为秒。不填写则默认为3秒
  • 请求示例 创建绑定一个LDAP服务器 { "url" : "ldap://192.168.xx.xx:60000", "base_dn" : "dc=example,dc=com", "user_dn" : "cn=admin,dc=example,dc=com", "password" : "pwdxxxxxx", "backup_url" : "ldap://192.168.xx.xx:60000", "schema" : "RFC2307", "search_timeout" : 10 }
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 jobId String LDAP异步任务的id。可通过查询job的状态详情接口查询job的执行状态。 状态码:400 表5 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码:500 表7 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表8 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 响应示例 状态码:200 请求已被接受 { "jobId" : "72362dxxxxa04d419dbd5e6d9fe5xxxx" } 状态码:400 客户端错误 { "errCode" : "SFS.TURBO.0001", "errMsg" : "Invalid rule id" } 状态码:500 内部错误 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 响应示例 状态码:200 查询成功 查询LDAP的配置的响应示例。 { "url" : "ldap://192.168.xx.xx:60000", "base_dn" : "dc=example,dc=com", "user_dn" : "cn=admin,dc=example,dc=com", "vpc_id" : "15e1a488-0ee5-4742-8fb7-168100000000", "backup_url" : "ldap://192.168.xx.xx:60000", "schema" : "RFC2307", "search_timeout" : 20 } 状态码:500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 url String LDAP服务器的url base_dn String 数据库中的域 user_dn String 用户区别名 filter_condition String 过滤条件。保留字段,暂不支持 vpc_id String 一般不涉及。仅在SFS Turbo支持多VPC的场景下,需要指定LDAP服务器可连通的VPC的id。 backup_url String LDAP备节点的url schema String LDAP的schema,不填写则默认为RFC2307 search_timeout Integer LDAP搜索的超时时间,单位为秒。不填写则默认为3秒 状态码:500 表4 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表5 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 响应参数 状态码:204 创建目录成功 状态码:400 表4 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码:409 表5 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码:500 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 响应示例 状态码:400 错误响应 { "errCode" : "SFS.TURBO.0122", "errMsg" : "invalid mode" } 状态码:409 错误响应,目录冲突 { "errCode" : "SFS.TURBO.0114", "errMsg" : "path already exist" } 状态码:500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 path 是 String 合法的的目录全路径 mode 否 Long 目录权限,默认值是755,取值范围是0到777。第一位表示目录所有者的权限,取值范围是0到7;第二位表示目录所属用户组的权限,取值范围是0到7;第三位表示其他用户的权限,取值范围是0到7。目录所有者由uid指定,目录所属用户组由gid指定,不是目录所有者且不在目录所属用户组的用户为其他用户。例如:755中第一位7代表该目录所有者对该目录具有读、写、执行权限;第二位5代表该目录所属用户组对该目录具有读、执行权限;第三位5代表其他用户对该目录具有读、执行权限。 uid 否 Long 目录所有者的用户id,默认值是0,取值范围是0到4,294,967,294(即2^32-2)。 gid 否 Long 目录所属用户组id,默认值是0,取值范围是0到4,294,967,294(即2^32-2)。
  • 概述 轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),是对目录服务器(Directory Server)进行访问、控制的一种标准协议。LDAP服务器可以集中式地管理用户和群组的归属关系,通过绑定LDAP服务器,当一个用户访问您的文件系统的文件时,SFS Turbo将会访问您的LDAP服务器以进行用户身份验证,并且获取用户和群组的归属关系,从而进行Linux标准的文件UGO权限的检查。要使用此功能,首先您需要搭建好LDAP服务器(当前SFS Turbo仅支持LDAP v3协议),常见提供LDAP协议访问的目录服务器实现有OpenLdap(Linux),Active Directory(Windows)等,不同目录服务器的实现细节有所差别,绑定时需要指定对应的Schema(Schema配置错误将会导致SFS Turbo无法正确获取用户以及群组信息,可能导致无权限访问文件系统内文件),当前SFS Turbo支持的Schema有: RFC2307(Openldap通常选择此Schema) MS-AD-BIS(Active Directory通常选择此Schema,支持RFC2307bis,支持嵌套的群组) SFS Turbo还支持配置主备LDAP服务器,当您的一台LDAP服务器故障无法访问后,SFS Turbo将会自动切换到备LDAP服务器访问,以免影响您的业务。如果所有配置的LDAP服务器都不可连通,则所有用户都会失去访问权限。 如果系统已对接 LDAP 服务器,SFS Turbo将不会对未在LDAP中配置的用户授予任何权限。
  • 使用限制 仅支持NFS协议类型的SFS Turbo文件系统配置LDAP域。 在SFS Turbo对接LDAP服务器后,单个用户最多支持加入512个用户组。 在SFS Turbo对接LDAP服务器后,任何未存在于该LDAP服务器中的用户,其访问请求均会被系统拒绝。 在SFS Turbo对接LDAP服务器后,SFS Turbo将完全依据LDAP服务器中的配置信息来确定用户的组成员身份。本地的用户组信息将不再有效。 在SFS Turbo对接LDAP服务器之前,确保所有需要通过SFS Turbo访问资源的用户已存在于LDAP服务器中,且已分配至正确的用户组。
  • FAQ 什么情况下会发生数据淘汰? 从OBS导入到SFS Turbo的文件,当文件在设定数据淘汰时间内没有被访问时,会自动对该文件进行淘汰。 在SFS Turbo上创建的文件,只有已经导出到OBS并且满足数据淘汰时间,才会进行淘汰,如果还没有导出到OBS,则不会淘汰。 数据淘汰之后,怎么重新将数据导入到SFS Turbo文件系统? 对文件进行读写操作时会重新从OBS桶加载文件数据到SFS Turbo文件系统; 使用数据预热功能重新将数据从OBS桶加载到SFS Turbo文件系统。 什么场景下会发生数据导入失败? 当只导入了文件元数据,或者SFS Turbo中发生了数据淘汰,SFS Turbo中只剩下文件元数据,但OBS桶中的对象又被删除时,进行数据导入或访问文件内容时会发生失败。 导入/导出任务是同步的,还是异步的? 是异步的,任务提交后马上返回,您可以通过任务id查询异步任务完成状态。 删除SFS Turbo联动目录内的文件,OBS桶里对应的对象会删除吗? 如果没有开启自动同步策略,则不会。如果开启了自动同步策略,则会删除。 SFS Turbo绑定OBS桶时或者绑定之后可以指定导入目录和文件的权限吗? 一般情况下,您可以指定导入目录和文件的权限。如果无法指定,请提交工单申请。指定权限详情如下所示: 绑定OBS桶时或绑定OBS桶后,支持设置导入目录和文件的默认权限,在控制台设置权限请参考绑定OBS桶,使用API设置权限请参考《高性能弹性文件服务API参考》的“绑定后端存储”和“更新后端存储属性”章节。如果未设置,默认为750(目录权限)和640(文件权限)。 快速导入和数据导入时,支持指定导入目录和文件的权限,在控制台设置权限请参考绑定OBS桶,使用API设置权限请参考《高性能弹性文件服务API参考》的“创建数据导入导出任务”章节。如果未指定,则以上述默认权限为准。 历史版本导入目录和文件的默认权限为755(目录权限)和644(文件权限),现逐步按区域切换为750(目录权限)和640(文件权限),如有疑问,请提交工单申请。 SFS Turbo绑定OBS桶时或者绑定之后,建议指定导入目录和文件的默认权限。如果您未指定,非root用户无权限访问对应的目录和文件。
  • 数据淘汰功能 SFS Turbo文件系统绑定OBS桶之后,可以使用数据淘汰功能。淘汰时会释放数据内容,仅保留元数据,释放后不占用SFS Turbo文件系统上的存储空间。再次访问该文件时,将重新从OBS中加载文件数据内容。 按时间淘汰 SFS Turbo文件系统绑定OBS桶之后,支持数据按时间淘汰功能。设定时间内没有被访问过的文件会被淘汰。 按时间淘汰功能支持设置(冷)数据淘汰时间,设置步骤请参考以下操作。 登录高性能弹性文件服务管理控制台。 在文件系统列表中,单击创建的SFS Turbo文件系统名称,进入文件系统详情页面。 在“基本信息”页签,设置(冷)数据淘汰时间。 图7 设置冷数据淘汰时间 按容量淘汰 SFS Turbo文件系统绑定OBS桶后,支持数据按容量淘汰功能。 容量达到95%及以上按照30分钟淘汰时间进行淘汰,淘汰至容量低于85%。 淘汰规则:按时间淘汰和按容量淘汰哪个先达到就先按哪个淘汰。 数据淘汰默认开启,淘汰时间默认为60小时。设置(冷)数据淘汰时间的API请参考更新文件系统。 如果SFS Turbo文件系统存储空间写满,会影响业务运行,建议在 云监控服务 CES上配置SFS Turbo已用容量的监控告警。 当触发容量阈值告警时请手动缩短数据淘汰时间,例如从60小时配置成40小时,加速(冷)数据淘汰,或者对SFS Turbo存储空间进行扩容。 建议在需要高性能场景下适当延长数据淘汰周期,避免淘汰后需要从OBS中加载冷数据而产生的高时延。
  • 数据预热功能 SFS Turbo文件系统绑定OBS桶后,可以使用数据预热功能。 默认情况下,数据快速导入完成后,数据不会导入到SFS Turbo文件系统中,初次访问会按需从OBS中加载数据,对文件的第一次读取操作可能耗时较长。如果您的业务对时延比较敏感,并且您知道业务需要访问哪些目录和文件,比如AI训练等场景涉及海量小文件,对时延比较敏感,可以选择提前导入指定目录和文件。 数据预热功能会同时导入元数据和数据内容,元数据将会采用快速导入方式,不会导入其他附加元数据(如uid、gid、mode),如果您想指定导入目录和文件的权限,请参考《高性能弹性文件服务API参考》的“创建数据导入导出任务”章节,该操作仅针对本次导入任务生效。 在绑定OBS桶之后,单击“数据预热”选项。 图5 数据预热 “对象路径”请填写绑定OBS桶内对象的路径(不包含桶名)。 OBS桶中的对象路径(不包含桶名),目录需以“/”结尾。 如果要导入OBS桶内所有对象,则不用填写对象路径。SFS Turbo会将数据导入到联动目录下,且联动目录下的文件路径和OBS桶里的对象路径保持一致。 对象路径示例(“/mnt/sfs_turbo”为您的挂载目录,“output-1”为您的联动目录名称): 如对象路径为dir/,则会导入到“/mnt/sfs_turbo/output-1/dir” 如对象路径为dir/file, 则会导入到“/mnt/sfs_turbo/output-1/dir/file” 如对象路径为空,则会直接导入到“/mnt/sfs_turbo/output-1” (可选)填写高级配置信息,填写说明请参见表1。 单击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,如果OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。 通过API使用数据预热功能的具体操作请参考创建SFSTurbo 和 OBS 之间的联动任务。 不支持长度大于255字节的文件名或子目录名。
  • 绑定OBS桶 登录高性能弹性文件服务管理控制台。 在文件系统列表中,单击创建的文件系统名称,进入文件系统详情页面。 进入“绑定后端存储”页签,单击“绑定OBS桶”。 图1 绑定OBS桶 在右侧弹窗“绑定OBS桶”中,填写如下参数。 表1 参数说明 参数 含义 限制 配置后可编辑 联动目录名称 SFS Turbo文件系统根目录下会以该名称创建一个子目录,该目录将绑定对应的OBS桶,且该目录名称不能和已有目录重名。 子目录名称不能重复,子目录名称长度不能超过63个字符。 子目录名称必须是文件系统根目录下不存在的目录名。 子目录名称不能是“.”或“..”。 不支持 桶名 OBS存储桶桶名。 无法绑定不存在的存储桶。 不支持绑定OBS并行文件系统和已配置服务端加密的OBS存储桶进行联动。 不支持 OBS区域域名 OBS区域域名,即OBS的终端节点。 OBS存储桶必须和SFS Turbo文件系统在同一个Region。 不支持 导入的文件权限 导入的文件权限。输入的三位数字分别表示文件所有者、文件所属用户组和其他用户的权限,每一位数字的取值为4(读权限)、2(写权限)、1(执行权限)、0(无权限)相加的组合。 可选参数。取值范围是0到7组成的三位数。 支持 导入的目录权限 导入的目录权限。输入的三位数字分别表示文件所有者、文件所属用户组和其他用户的权限,每位数字的取值为4(读权限)、2(写权限)、1(执行权限)、0(无权限)相加的组合。 可选参数。取值范围是0到7组成的三位数。 支持 用户ID 导入的文件或目录所有者的用户ID。 可选参数。取值范围是0到4294967294(即2^32-2)。 支持 用户组ID 导入的文件或目录所属用户组ID。 可选参数。取值范围是0到4294967294(即2^32-2)。 支持 自动导出 打开开关后,当文件系统发生数据更新时,将自动导出到OBS桶。 - 支持 导出数据 打开“自动导出”开关,则会出现该参数。 选择导出到OBS桶的数据更新类型“新增数据”、“修改数据”或“删除数据”后,SFS Turbo会以异步方式导出到OBS。 新增数据:SFS Turbo联动目录下创建的文件,及之后对这些文件进行的元数据和数据修改,会被自动同步到OBS桶里。 修改数据:从OBS桶里导入到SFS Turbo联动目录下的文件,在SFS Turbo上对这些文件所进行的数据和元数据的修改,会被自动同步到OBS桶里。 删除数据:在SFS Turbo联动目录下删除文件,OBS桶对应的对象也会被删除,只有被SFS Turbo写入的OBS对象才会被删除。 - 支持 勾选“将OBS桶的读写权限通过桶策略授权给SFS Turbo云服务”,并单击“确定”,完成绑定。 如果您想使用API指定导入目录和文件的权限,请参考《高性能弹性文件服务API参考》的“绑定后端存储”和“更新后端存储属性”执行操作。 不支持绑定OBS并行文件系统和已配置服务端加密的OBS存储桶进行联动。 绑定OBS桶时,会在OBS桶上添加Sid为“PolicyAddedBySFSTurbo”的桶策略,请不要修改或删除该桶策略,否则可能导致联动功能异常。 如果您已将一个或多个SFS Turbo文件系统绑定了OBS存储桶,在删除文件系统或删除绑定之前,请不要删除该OBS存储桶,否则可能导致联动功能异常。 以桶名为“obs-test”的OBS桶为例,桶策略“PolicyAddedBySFSTurbo”的内容如下所示: { "Statement": [ { "Sid": "PolicyAddedBySFSTurbo", "Effect": "Allow", "Principal": { "ID": [ "domain/xxx:user/xxx" ] }, "Action": [ "ListBucket", "HeadBucket", "GetBucketStorage", "GetBucketPolicy", "GetBucketAcl", "GetBucketNotification", "GetBucketQuota", "GetObject", "PutObject", "DeleteObject", "GetObjectAcl", "PutObjectAcl", "ModifyObjectMetaData" ], "Resource": [ "obs-test", "obs-test/*" ] } ] }
  • 快速导入功能 SFS Turbo文件系统绑定OBS桶后,可以使用快速导入功能。 当您使用SFS Turbo文件系统访问OBS桶的数据时,您需要使用快速导入功能提前将OBS数据文件的元数据(名称、大小、最后修改时间)导入到SFS Turbo文件系统中。只有元数据导入之后,您才可以在文件系统的联动子目录中去访问OBS存储桶中的数据。快速导入功能仅会导入文件元数据,文件内容会在首次访问时从OBS存储桶中加载并缓存在SFS Turbo中,后续重复访问会直接命中,无需再从OBS存储桶中加载。 SFS Turbo文件系统提供快速导入和附加元数据导入两种元数据导入方式。数据快速导入之后,您可以在联动子目录下看到导入的目录和文件列表。 快速导入:当您绑定的OBS桶中存储的数据不是来源于SFS Turbo导出时,可以选择快速导入方式,快速导入方式仅会导入OBS的元数据(名称、大小、最后修改时间),不会导入其它附加元数据(如uid、gid、mode),SFS Turbo会生成默认的附加元数据(uid、gid、目录权限、文件权限),如果您想使用API指定导入目录和文件的权限,请参考《高性能弹性文件服务API参考》的“创建数据导入导出任务”章节,该操作仅针对本次导入任务生效。快速导入能够提供更快的元数据导入性能,推荐您使用快速导入。 附加元数据导入:当您绑定的OBS桶中存储的数据是来源于SFS Turbo导出时,可以使用附加元数据导入方式,附加元数据导入方式会导入OBS的元数据(名称、大小、最后修改时间)以及来源于SFS Turbo导出时的附加元数据(如uid、gid、mode)。如果没有来源于SFS Turbo的附加元数据则以指定导入目录和文件的权限为准。 在绑定OBS桶之后,单击“快速导入”选项。 图4 快速导入 “导入前缀”请填写绑定OBS桶内对象的前缀,可以具体到某个对象名。如果要导入整个OBS桶内的所有对象,则不用填写。 勾选“附加元数据导入”将会采用附加元数据导入方式,不勾选“附加元数据导入”将采用快速导入方式。 (可选)填写高级配置信息,填写说明请参见表1。 单击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,如果OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。 不支持长度大于255字节的文件名或子目录名。
  • 概述 AI训练和推理、高性能数据预处理、EDA、渲染、仿真等场景下,您可以通过SFS Turbo文件系统来加速OBS对象存储中的数据访问。SFS Turbo文件系统支持无缝访问存储在OBS对象存储桶中的对象。您可以指定SFS Turbo内的目录与OBS对象存储桶进行关联,然后通过创建导入导出任务实现数据同步。您可以在上层训练等任务开始前将OBS对象存储桶中的数据提前导入到SFS Turbo中,加速对OBS对象存储中的数据访问;上层任务产生的中间和结果等数据可以直接高速写入到SFS Turbo缓存中,中间缓存数据可被下游业务环节继续读取并处理,结果数据可以异步方式导出到关联的OBS对象存储中进行长期低成本存储。同时,您还可以配置缓存数据淘汰功能,及时将长期未访问的数据从SFS Turbo缓存中淘汰,释放SFS Turbo高性能缓存空间。
  • 使用限制 支持存储联动的SFS Turbo文件系统规格有:20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB。 SFS Turbo目录和OBS配置联动后不支持创建硬链接、设置目录配额、执行重命名功能。 单个SFS Turbo文件系统最多可配置16个OBS联动目录。 创建 OBS 后端存储库,依赖的服务是对象存储服务 OBS。用户需要额外配置OBS Adminstrator权限。 同一层目录下不允许同样名称的文件和目录存在。 不支持超长路径,数据流动支持的路径最大长度是1023字符。 数据流动导入时,不支持长度大于255字节的文件名或子目录名。 开启WORM策略的OBS桶,只能从OBS桶导入数据到SFS Turbo,无法从SFS Turbo导出数据到OBS桶。 不支持绑定OBS并行文件系统和已配置服务端加密的OBS存储桶进行联动。
  • 使用限制 仅支持NFS协议类型的SFS Turbo文件系统配置LDAP域。 在SFS Turbo对接LDAP服务器后,单个用户最多支持加入512个用户组。 在SFS Turbo对接LDAP服务器后,任何未存在于该LDAP服务器中的用户,其访问请求均会被系统拒绝。 在SFS Turbo对接LDAP服务器后,SFS Turbo将完全依据LDAP服务器中的配置信息来确定用户的组成员身份。本地的用户组信息将不再有效。 在SFS Turbo对接LDAP服务器之前,确保所有需要通过SFS Turbo访问资源的用户已存在于LDAP服务器中,且已分配至正确的用户组。
  • 概述 轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP),是对目录服务器(Directory Server)进行访问、控制的一种标准协议。LDAP服务器可以集中式地管理用户和群组的归属关系,通过绑定LDAP服务器,当一个用户访问您的文件系统的文件时,SFS Turbo将会访问您的LDAP服务器以进行用户身份验证,并且获取用户和群组的归属关系,从而进行Linux标准的文件UGO权限的检查。要使用此功能,首先您需要搭建好LDAP服务器(当前SFS Turbo仅支持LDAP v3协议),常见提供LDAP协议访问的目录服务器实现有OpenLdap(Linux),Active Directory(Windows)等,不同目录服务器的实现细节有所差别,绑定时需要指定对应的Schema(Schema配置错误将会导致SFS Turbo无法正确获取用户以及群组信息,可能导致无权限访问文件系统内文件),当前SFS Turbo支持的Schema有: RFC2307(Openldap通常选择此Schema) MS-AD-BIS(Active Directory通常选择此Schema,支持RFC2307bis,支持嵌套的群组) SFS Turbo还支持配置主备LDAP服务器,当您的一台LDAP服务器故障无法访问后,SFS Turbo将会自动切换到备LDAP服务器访问,以免影响您的业务。如果所有配置的LDAP服务器都不可连通,则所有用户都会失去访问权限。 如果系统已对接 LDAP 服务器,SFS Turbo将不会对未在LDAP中配置的用户授予任何权限。
  • 数据淘汰功能 SFS Turbo文件系统绑定OBS桶之后,可以使用数据淘汰功能。淘汰时会释放数据内容,仅保留元数据,释放后不占用SFS Turbo文件系统上的存储空间。再次访问该文件时,将重新从OBS中加载文件数据内容。 按时间淘汰 SFS Turbo文件系统绑定OBS桶之后,支持数据按时间淘汰功能。设定时间内没有被访问过的文件会被淘汰。 按时间淘汰功能支持设置(冷)数据淘汰时间,设置步骤请参考以下操作。 登录高性能弹性文件服务管理控制台。 在文件系统列表中,单击创建的SFS Turbo文件系统名称,进入文件系统详情页面。 在“基本信息”页签,设置(冷)数据淘汰时间。 图7 设置冷数据淘汰时间 按容量淘汰 SFS Turbo文件系统绑定OBS桶后,支持数据按容量淘汰功能。 容量达到95%及以上按照30分钟淘汰时间进行淘汰,淘汰至容量低于85%。 淘汰规则:按时间淘汰和按容量淘汰哪个先达到就先按哪个淘汰。 数据淘汰默认开启,淘汰时间默认为60小时。设置(冷)数据淘汰时间的API请参考更新文件系统。 如果SFS Turbo文件系统存储空间写满,会影响业务运行,建议在 云监控 服务 CES 上配置SFS Turbo已用容量的监控告警。 当触发容量阈值告警时请手动缩短数据淘汰时间,例如从60小时配置成40小时,加速(冷)数据淘汰,或者对SFS Turbo存储空间进行扩容。 建议在需要高性能场景下适当延长数据淘汰周期,避免淘汰后需要从OBS中加载冷数据而产生的高时延。
  • FAQ 什么情况下会发生数据淘汰? 从OBS导入到SFS Turbo的文件,当文件在设定数据淘汰时间内没有被访问时,会自动对该文件进行淘汰。 在SFS Turbo上创建的文件,只有已经导出到OBS并且满足数据淘汰时间,才会进行淘汰,如果还没有导出到OBS,则不会淘汰。 数据淘汰之后,怎么重新将数据导入到SFS Turbo文件系统? 对文件进行读写操作时会重新从OBS桶加载文件数据到SFS Turbo文件系统; 使用数据预热功能重新将数据从OBS桶加载到SFS Turbo文件系统。 什么场景下会发生数据导入失败? 当只导入了文件元数据,或者SFS Turbo中发生了数据淘汰,SFS Turbo中只剩下文件元数据,但OBS桶中的对象又被删除时,进行数据导入或访问文件内容时会发生失败。 导入/导出任务是同步的,还是异步的? 是异步的,任务提交后马上返回,您可以通过任务id查询异步任务完成状态。 删除SFS Turbo联动目录内的文件,OBS桶里对应的对象会删除吗? 如果没有开启自动同步策略,则不会。如果开启了自动同步策略,则会删除。 SFS Turbo绑定OBS桶时或者绑定之后可以指定导入目录和文件的权限吗? 一般情况下,您可以指定导入目录和文件的权限。如果无法指定,请提交工单申请。指定权限详情如下所示: 绑定OBS桶时或绑定OBS桶后,支持设置导入目录和文件的默认权限,在控制台设置权限请参考绑定OBS桶,使用API设置权限请参考《高性能弹性文件服务API参考》的“绑定后端存储”和“更新后端存储属性”章节。如果未设置,默认为750(目录权限)和640(文件权限)。 快速导入和数据导入时,支持指定导入目录和文件的权限,在控制台设置权限请参考绑定OBS桶,使用API设置权限请参考《高性能弹性文件服务API参考》的“创建数据导入导出任务”章节。如果未指定,则以上述默认权限为准。 历史版本导入目录和文件的默认权限为755(目录权限)和644(文件权限),现逐步按区域切换为750(目录权限)和640(文件权限),如有疑问,请提交工单申请。 SFS Turbo绑定OBS桶时或者绑定之后,建议指定导入目录和文件的默认权限。如果您未指定,非root用户无权限访问对应的目录和文件。
  • 数据预热功能 SFS Turbo文件系统绑定OBS桶后,可以使用数据预热功能。 默认情况下,数据快速导入完成后,数据不会导入到SFS Turbo文件系统中,初次访问会按需从OBS中加载数据,对文件的第一次读取操作可能耗时较长。如果您的业务对时延比较敏感,并且您知道业务需要访问哪些目录和文件,比如AI训练等场景涉及海量小文件,对时延比较敏感,可以选择提前导入指定目录和文件。 数据预热功能会同时导入元数据和数据内容,元数据将会采用快速导入方式,不会导入其他附加元数据(如uid、gid、mode),如果您想指定导入目录和文件的权限,请参考《高性能弹性文件服务API参考》的“创建数据导入导出任务”章节,该操作仅针对本次导入任务生效。 在绑定OBS桶之后,单击“数据预热”选项。 图5 数据预热 “对象路径”请填写绑定OBS桶内对象的路径(不包含桶名)。 OBS桶中的对象路径(不包含桶名),目录需以“/”结尾。 如果要导入OBS桶内所有对象,则不用填写对象路径。SFS Turbo会将数据导入到联动目录下,且联动目录下的文件路径和OBS桶里的对象路径保持一致。 对象路径示例(“/mnt/sfs_turbo”为您的挂载目录,“output-1”为您的联动目录名称): 如对象路径为dir/,则会导入到“/mnt/sfs_turbo/output-1/dir” 如对象路径为dir/file, 则会导入到“/mnt/sfs_turbo/output-1/dir/file” 如对象路径为空,则会直接导入到“/mnt/sfs_turbo/output-1” (可选)填写高级配置信息,填写说明请参见表1。 单击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,如果OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。 通过API使用数据预热功能的具体操作请参考创建SFSTurbo 和 OBS 之间的联动任务。 不支持长度大于255字节的文件名或子目录名。
共100000条