云服务器内容精选

  • 操作场景 SFS容量型文件系统除了支持多VPC访问,还支持跨账号跨VPC访问。 只要将其他账号使用的VPC的VPC ID添加到SFS容量型文件系统的权限列表下,且云服务器IP地址或地址段被添加至授权地址中,则实际上不同账号间的云服务器也能共享访问同一个文件系统。 更多关于VPC的信息请参见虚拟私有云 VPC。 SFS Turbo文件系统基于VPC的对等连接功能,实现跨账号访问。更多关于VPC对等连接功能信息和实现方法请参见VPC对等连接。 本章节介绍SFS容量型文件系统如何实现跨账号跨VPC访问。SFS容量型文件系统目前仅北京四支持跨账号访问功能。
  • SFS容量型操作步骤 登录弹性文件服务管理控制台。 在文件系统列表中单击目标文件系统名称,进入权限列表界面。 可以为文件系统添加多个其他账号使用的VPC,单击“租户授权添加VPC”,弹出“租户授权添加VPC”对话框。如图1所示。 图1 租户授权添加VPC 可以根据参数说明如表1所示完成添加。 表1 参数说明 参数 说明 虚拟私有云 添加VPC的VPC ID。VPC ID可以前往虚拟私有云控制台,查看目标VPC详情获取。 授权地址 只能输入一个IPv4地址/地址段。 输入的IPv4地址/地址段必须合法,且不能为除0.0.0.0/0以外之前0开头的IP地址或地址段,其中当设置为0.0.0.0/0时表示VPC内的任意IP。同时,不能为127以及224~255开头的IP地址或地址段,例如127.0.0.1,224.0.0.1,255.255.255.255,因为以224-239开头的IP地址或地址段是属于D类地址,用于组播;以240-255开头的IP地址或地址段属于E类地址,用于研究。使用非合法的IP或IP地址段可能会导致添加访问规则失败或者添加的访问规则无法生效。 无法输入多个地址,如:10.0.1.32,10.5.5.10用逗号分隔等形式的多个地址。 如果要表示一个地址段,如192.168.1.0-192.168.1.255的地址段应使用掩码形式:192.168.1.0/24,不支持192.168.1.0-255等其他地址段表示形式。掩码位数的取值为0到31的整数,且只有为0.0.0.0/0时掩码位数可取0,其他情况均不合法。 优先级 优先级只能是0-100的整数。0表示优先级最高,100表示优先级最低。同一VPC内挂载时会优先使用该优先级高的IP地址/地址段所拥有的权限,存在相同优先级时会优先匹配最新添加或修改的IP地址/地址段。例如:用户在执行挂载操作时的IP地址为10.1.1.32,而在已经授权的IP地址/地址段中10.1.1.32(读写)优先级为100和10.1.1.0/24(只读)优先级为50均符合要求,则用户权限会使用优先级为50的10.1.1.0/24(只读)的只读权限。10.1.1.0/24内的所有地址包括10.1.1.32,在无其他授权优先级的情况下,则将会使用优先级为50的10.1.1.0/24(只读)的只读权限。 读或写权限 分为读/写权限和只读权限。默认为“读/写”。 用户权限 设置是否保留共享目录的UID和GID。默认为“no_all_squash”。 all_squash:共享文件的UID(User ID)和GID(Group ID)映射给nobody用户,适合公共目录。 no_all_squash:保留共享文件的UID和GID。 CIFS类型的文件系统添加授权地址时,不涉及该参数。 用户root权限 设置是否允许客户端的root权限。默认为“no_root_squash”。 root_squash:不允许客户端以root用户访问,客户端使用root用户访问时映射为nobody用户。 no_root_squash:允许客户端以root用户访问,root用户具有根目录的完全控制访问权限。 CIFS类型的文件系统添加授权地址时,不涉及该参数。 单击“确定”,完成添加。添加成功的VPC会出现在列表中。 单击VPC名称左边的,可以查看目标VPC添加的IP地址/地址段的详细信息。可以对其进行添加、编辑和删除IP地址/地址段的操作。在目标VPC的“操作”列,单击“添加”,弹出“添加授权地址”的弹窗,如图2所示。可以根据参数说明如表1所示完成添加。 图2 增加授权地址
  • 元数据导入功能 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:0、gid:0、目录权限:755、文件权限:644)。快速导入能够提供更快的元数据导入性能,推荐您使用快速导入。 附加元数据导入:当您绑定的OBS桶中存储的数据是来源于SFS Turbo导出时,可以使用附加元数据导入方式,附加元数据导入方式会导入OBS的元数据(名称、大小、最后修改时间)以及来源于SFS Turbo导出时的附加元数据(如uid、gid、mode)。 在绑定OBS桶之后,单击“导入”选项。 图2 元数据导入 “导入前缀”请填写绑定OBS桶内对象的前缀,可以具体到某个对象名。如果要导入整个OBS桶内的所有对象,则不用填写。 勾选“附加元数据导入”将会采用附加元数据导入方式,不勾选“附加元数据导入”将采用快速导入方式。 点击“确定”,提交导入任务。 在OBS数据导入到SFS Turbo之后,若OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。
  • 数据导出功能 SFS Turbo文件系统绑定OBS桶后,可以使用数据导出功能。 当您在联动目录创建一些文件,或者对从OBS导入的文件进行修改后,需要将这些文件存储到OBS桶里,可以使用数据导出功能。数据导出支持指定前缀,只有满足指定前缀的目录和文件才会被导出到OBS桶里。 在绑定OBS桶之后,单击“导出”选项。 图3 数据导出 “导出前缀”请填写需要导出的目录和文件前缀(路径不包含联动目录),可以具体到某个文件。如果要导出整个联动目录到OBS桶,则不用填写。 单击“确定”,提交导出任务。 数据导出功能会启动异步任务对导出目录内的文件进行扫描并导出,若扫描时发现文件10s内发生过更新,则本次任务不会导出该文件。 对于一个文件的所有修改,导出到OBS桶之后,下次再提交该文件的导出任务时,若该文件未发生过变化,则该文件不会被再次导出,即使OBS桶里已经将导出的对象删掉了,也不会再导出该文件。 从SFS Turbo导出的对象,在OBS对象的自定义元数据里保存了一些SFS Turbo的元数据信息,名称以x-obs-meta-sfsturbo-st-开头。 不支持超长路径,可导出文件路径的最大长度为1023个字符。 文件系统内单个文件大小上限为320TB、可导出的单个文件大小上限为48.8TB。 大文件导出时OBS桶内x-obs-upload-sfsturbo-temp-part目录会存储大文件导出过程中产生的临时文件,导出完成后会自动删除该目录及临时文件。 导出数据时: 导入到SFS Turbo的对象,当在SFS Turbo里修改了,再从SFS Turbo导出这个对象时,若OBS桶里该对象没有发生过修改,则会覆盖OBS桶里的对象,若OBS桶里该对象发生过修改,则不会覆盖。 对象正在被导出时,上传同名对象可能会造成新上传的对象被覆盖。 开启WORM策略的OBS桶,无法从SFS Turbo导出数据到OBS桶。
  • 数据淘汰功能 SFS Turbo文件系统绑定OBS桶之后,可以配置数据淘汰功能。SFS Turbo会自动释放设定时间内没有访问过的文件数据内容,仅保留文件元数据,数据内容释放后不占用SFS Turbo文件系统上的存储空间,再次访问该文件时,将重新从OBS中加载文件数据内容。 配置(冷)数据淘汰时间请参考以下步骤进行操作。 登录弹性文件服务管理控制台。 在文件系统列表中,单击创建的SFS Turbo文件系统名称,进入文件系统详情页面。 在“基本信息”页签,设置(冷)数据淘汰时间。 图4 设置冷数据淘汰时间 数据淘汰默认开启,淘汰时间默认为60小时。配置冷数据淘汰时间的API请参考更新文件系统。 如果SFS Turbo文件系统存储空间写满,会影响业务运行,建议在云监控服务CES上配置SFS Turbo已用容量的监控告警。 当触发容量阈值告警时请手动缩短数据淘汰时间,例如从60小时配置成40小时,加速(冷)数据淘汰,或者对SFS Turbo存储空间进行扩容。
  • 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桶后,可以使用数据预热功能。 默认情况下,元数据导入完成后,数据不会导入到SFS Turbo文件系统中,初次访问会按需从OBS中加载数据,对文件的第一次读取操作可能耗时较长。如果您的业务对时延比较敏感,并且您知道业务需要访问哪些目录和文件,比如AI训练等场景涉及海量小文件,对时延比较敏感,可以选择提前预热指定目录和文件。 数据预热功能会同时导入元数据和数据内容,数据预热功能的具体操作请参考创建SFSTurbo 和 OBS 之间的联动任务。 在OBS数据导入到SFS Turbo之后,若OBS桶中的数据发生新增或修改,需要重新导入到SFS Turbo中。
  • 概述 AI训练和推理、高性能数据预处理、EDA、渲染、仿真等场景下,您可以通过SFS Turbo文件系统来加速OBS对象存储中的数据访问。SFS Turbo文件系统支持无缝访问存储在OBS对象存储桶中的对象。您可以指定SFS Turbo内的目录与OBS对象存储桶进行关联,然后通过创建导入导出任务实现数据同步。您可以在上层训练等任务开始前将OBS对象存储桶中的数据提前预热到SFS Turbo中,加速对OBS对象存储中的数据访问;上层任务产生的中间和结果等数据可以直接高速写入到SFS Turbo缓存中,中间缓存数据可被下游业务环节继续读取并处理,结果数据可以异步方式导出到关联的OBS对象存储中进行长期低成本存储。同时,您还可以配置缓存数据淘汰功能,及时将长期未访问的数据从SFS Turbo缓存中淘汰,释放SFS Turbo高性能缓存空间。
  • 绑定OBS桶 登录弹性文件服务管理控制台。 在文件系统列表中,单击创建的文件系统名称,进入文件系统详情页面。 进入第三个页签“OBS绑定目标”,单击“绑定OBS”。 图1 绑定OBS 在右侧弹窗“绑定OBS目标”中,填写如下参数。 参数 含义 限制 配置后可编辑 路径名称 SFS Turbo文件系统根目录下会以该名称创建一个子目录,该目录将绑定对应的OBS桶 子目录名称不能重复 子目录名称必须是文件系统根目录下不存在的目录名 子目录名称不能是“.”或“..” 不支持 桶名 OBS存储桶桶名 无法绑定不存在的存储桶 目前仅支持OBS存储桶,不支持OBS并行文件系统 不支持 OBS Endpoint OBS区域域名 OBS存储桶必须和SFS Turbo文件系统在同一个Region 不支持 勾选“将OBS桶读写权限授权给SFS Turbo服务进行OBS目标绑定”,并单击“确定”,完成绑定。 目前仅支持OBS存储桶,不支持OBS并行文件系统。 绑定OBS桶时,会在OBS桶上添加名为"Sid": "PolicyAddedBySFSTurbo"的桶策略,请不要修改或删除该桶策略,否则可能导致联动功能异常。 绑定OBS桶后,OBS桶原有的桶策略会被名为"Sid": "PolicyAddedBySFSTurbo"的桶策略覆盖。
  • 使用限制 支持存储联动的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联动目录。 数据淘汰只与数据淘汰时间有关,与SFS Turbo文件系统存储空间大小无关,用户需要根据实际业务场景评估文件系统存储空间用量,权衡数据淘汰时间。 创建 OBS 后端存储库,依赖的服务是对象存储服务 OBS。用户需要额外配置OBS Adminstrator权限。 同一层目录下不允许同样名称的文件和目录存在。 不支持超长路径,数据流动支持的路径最大长度是1023字符。 开启WORM策略的OBS桶,只能从OBS桶导入数据到SFS Turbo,无法从SFS Turbo导出数据到OBS桶。
  • 响应示例 状态码: 200 创建配额成功 { "path" : "/data/test", "capacity" : 1024, "inode" : 100000 } 状态码: 400 错误响应 { "errCode" : "SFS.TURBO.0102", "errMsg" : "Path is not directory" } 状态码: 409 错误响应 { "errCode" : "SFS.TURBO.0112", "errMsg" : "quota alreay exist" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 path String 合法的已存在的目录的全路径 capacity Integer 目录的容量大小,单位:MB inode Integer 目录的inode数量限制 used_capacity Integer 目录已使用的容量大小,单位:MB。仅SFSTurbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB返回该字段 used_inode Integer 目录的已使用的inode数量。仅SFSTurbo 20MB/s/TiB、40MB/s/TiB、125MB/s/TiB、250MB/s/TiB、500MB/s/TiB、1000MB/s/TiB返回该字段 状态码: 400 表5 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 409 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512 状态码: 500 表7 响应Body参数 参数 参数类型 描述 errCode String 错误码 最小长度:8 最大长度:36 errMsg String 错误描述 最小长度:2 最大长度:512
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 path 是 String 合法的已存在的目录的全路径 capacity 否 Integer 目录的容量大小,单位:MB; 设置为0会导致数据无法写入目录; capacity和quota至少二选一 inode 否 Integer 目录的inode数量限制; 设置为0会导致数据无法写入目录; capacity和quota至少二选一
  • 响应示例 状态码: 200 任务下发成功 { "count" : 1, "targets" : [ { "target_id" : "00000334-xxxx-402d-a5d4-bxxxxx87b939", "creation_time" : "2023-10-10T12:02:03", "file_system_path" : "sfsturboDirName", "obs" : { "bucket" : "myBucket", "endpoint" : "obs.cn-north-7.ulanqab.huawei.com" } } ] } 状态码: 404 错误响应 { "errCode" : "SFS.TURBO.0002", "errMsg" : "share not exist" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 请求示例 查询文件系统后端存储库列表,文件系统ID为"630509b1-ded4-476e-8d06-dbbc3dc23900", 从target_id为"11abef677ac40f46644d1d5cfc2424a4"起,获取10个后端存储库 GET HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/630509b1-ded4-476e-8d06-dbbc3dc23900/targets?marker=11abef677ac40f46644d1d5cfc2424a4&limit=10