华为云用户手册

  • 步骤三:创建日志采集配置 在“日志接入”页面,选择左侧导航栏的“日志采集配置”。 单击“创建日志采集配置”。 配置日志采集参数,配置完成后,单击“确定”。 新创建的采集配置默认为草稿状态,展示在“草稿”页签下,当配置被微服务使用后,状态会更新为“已下发”,并展示到“已下发”页签下。 表4 日志采集配置参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目,相同服务的不同日志使用同一个日志项目。 日志空间 选择已创建的日志空间。选择日志空间时日志提取规则会展示日志空间定义的日志格式,采集的日志须满足对应格式。 配置名称 自定义日志采集配置名称。 配置类型 选择日志采集配置类型,建议选择“FILEBEAT”。 日志类型 输入采集日志类型。 日志路径 填写实际日志路径,可使用通配符进行匹配。 说明: 接入容器日志需要根据通配符匹配完成。 注意避免同一台主机上下发的多个采集任务重复采集相同的日志文件,会导致filebeat进程异常。 日志TPS TPS表示单实例每秒日志条数,请准确填写,用于推荐资源自动计算。 如果采集路径是单个日志,则按照单个日志单台机器(pod)的TPS值填写,且按照高峰期计算。 如果采集路径配置了通配符,则将采集的日志TPS累加,累加计算高峰期单台机器(pod)的TPS,建议按近期业务增长预期填写。 日志模式 选择日志采集模式,是单行模式还是多行模式。 是否支持软连接 当填写的日志路径为链接路径时,需要开启支持软连接。 首行正则表达式 日志模式选择多行模式时,需要输入首行正则表达式。 日志提取规则 根据填写的配置参数会自动生成提取规则。
  • 步骤二:创建日志空间 在“日志接入”页面,选择左侧导航栏的“日志空间”。 单击“申请实时日志空间”。 根据界面提示填写日志空间参数。 配置实时日志空间信息,参数说明如表2所示,配置完成后,单击“下一步”。 表2 实时日志空间信息参数说明 参数名称 参数说明 空间名称 自定义日志空间名称,建议包含日志类型语义。 空间描述 输入日志空间描述,非必填项。 日志类型 选择需接入的日志类型,该日志空间中接入的日志数据“logType”字段会根据选择的日志类型生成。不同日志类型所对应的“logType”字段如下: 访问日志:AC CES S_ LOG 接口日志:INTERFACE_LOG 错误日志:ERROR_LOG 异常日志:EXCEPTION_LOG 安全日志:SAFE_LOG 资源日志:RESOURCE_LOG 运行日志:RUN_LOG 话单日志:CDR_LOG 指标日志:METRI CS _LOG GC日志:GC_LOG HCW日志:HCW_LOG 日志大小 预计一天的日志量,默认为1GB。 开启日志检索 如果需要使用日志检索功能,可以打开该开关,并创建导流任务,创建导流任务后可以在“日志检索”页面查看日志。 检索空间类型 选择ClickHouse。 原索引名称(ClickHouse) 可选择现有的ClickHouse,如果不填会自动生成。 TTL 日志索引的生命周期,即可以检索的日志时间范围,当前默认支持7天。 配置实时日志字段信息,参数说明如表3所示,配置完成后,单击“下一步”。 表3 实时日志字段信息参数说明 参数名称 参数说明 自定义字段 必须接入的日志字段已默认勾选,可以勾选其他需要接入的日志字段,包括通用字段、容器字段和虚机字段。 新增自定义环境变量 如需添加自定义环境变量,请选择环境变量名,然后单击“添加”。虚机暂无可选自定义环境变量。 清洗规则 选择日志清洗规则。 请优先使用算子清洗模式采样,通过配置解析脚本将原始日志清洗为业务需要的日志字段,算子清洗功能及使用样例请参见算子清洗功能介绍。原始日志采样清洗只适用于单纯采样,不需要清洗的场景。 日志样例 输入日志样例。 解析脚本 配置解析脚本,将日志样例清洗为字段显示,具体算子功能及使用样例请参见算子清洗功能介绍。 说明: 配置解析脚本时字段命名不支持使用中划线“-”,支持使用下划线“_”。 清洗字段 配置解析脚本后单击“配置解析脚本”,自动生成清洗字段,查看字段是否符合预期。 开启汇聚 选择是否开启日志汇集,如果日志量较大且不需要关注原始日志时可以进行日志汇集。 开启后会自动创建用于存储汇聚数据的Topic,同时需要配置汇集相关参数。 汇聚粒度 开启汇聚后,需要设置汇集粒度。支持分钟级和秒级数据汇聚。选择分钟级,每一分钟会生成一个统计点,选择秒级,每一秒会生成一个统计点。 汇聚时间戳 仅支持时间戳格式字段timestamp,获取当前计算的日志的时间。 时间戳格式 选择时间戳格式。支持秒、毫秒、纳秒级时间戳,获取当前计算的日志的时间格式。 汇聚维度 结合业务场景需要,选择日志是以哪些日志字段进行日志汇聚,支持多选。 汇聚度量 设置对日志字段以COUNT、SUM、MAX、MIN进行度量。 原始字段是日志中的字段,用来获取原始值;度量字段是用户自定义字段名,计算后,度量的值会赋值给该字段。 输出原始日志 选择是否需要输出原始日志。如果打开输出原始日志,原始日志也会上报。 日志字段确认,确认日志字段配置是否达到预期,达到预期后可单击“下一步”。 其中字段来源COMMON表示通用字段、CONTAINER表示容器字段、VM表示虚机字段。 申请日志空间共享,如果需要其他服务共用这个空间进行日志下发和日志检索,可以添加共享服务。配置完成后,单击“保存”。
  • 查看监控指标数据 以采集弹性云服务器的监控指标为例,查看弹性云服务器对应的命名空间、指标ID、维度的Key和Value。 在支持监控的服务列表页面查看对应的监控指标参考文档。 在参考文档中查看命名空间,弹性云服务器对应的命名空间为“SYS.ECS”。 查看监控指标的指标ID和测量对象(维度),例如监控指标CPU使用率的指标ID为“cpu_util”,测量对象为“云服务器”。 查看维度的Key和Value,云服务器维度的Key和Value分别为instance_id和云服务器ID。
  • 配置服务扩展信息 在开发中心首页下方的“我的团队”区域,选择需要操作的团队卡片,进入该团队空间。 如果该团队关联多个服务,可在顶部切换团队关联的其他服务。也可在顶部切换其他团队。 在左侧导航栏选择“服务配置”。 在“服务配置”页面,单击“关联项目”。 在“关联项目”对话框中的“项目名称”下,输入项目名称(默认为当前服务名称,可自定义修改),根据实际业务需要在“项目类型”下拉框选择项目类型(Scrum、IPD-系统设备类、IPD-独立软件类),如图1所示,然后单击“确定”。 图1 关联项目 在“关联项目”对话框对将要关联的项目名称进行二次确认,单击“确定”。 关联项目成功后不可解除关联。 关联项目成功:在“服务配置”页面的“服务扩展信息”区域,可查看关联项目名称、关联项目类型。 关联项目失败:系统检测到您尚未进行凭证(AK/SK)授权时,将弹框提示关联失败,并提示您前往AppStage管理控制台进行凭证授权,完成凭证(AK/SK)授权后,返回“服务配置”页面,重新关联项目。
  • 操作步骤 在开发中心首页下方的“我的团队”区域,选择需要操作的团队卡片,进入该团队空间。 如果该团队关联多个服务,可在顶部切换团队关联的其他服务。也可在顶部切换其他团队。 在左侧导航栏选择“版本管理”。 在“版本管理”页面,单击右上角“创建版本”。 在“创建版本”页面,设置版本的基本及配置信息,参数说明详见表1。 表1 创建版本参数说明 参数名称 参数说明 基本及配置信息 服务 无需配置,默认为当前服务名称。 版本号 必填项,根据界面输入框填写规划的版本号(系统将自动合成完整版本号)。示例:23.0.1.100 版本描述(可选) 非必填项,版本信息相关的简要描述。 软件类型 无需配置,默认为“服务软件”。 版本类型 必填项,可分为两种类型: 基线 补丁,在版本规划时需规划补丁版本缺陷,详见规划补丁版本缺陷。 发布类型 无需配置,默认为“标准发布”。 关联发布计划 仅服务关联了IPD类型的项目(IPD系统设备类项目、IPD独立软件类项目),且“版本类型”选择“基线”时,需配置此参数。 选择需要关联的发布计划,也可勾选“自动创建新发布计划”,自动创建的新发布计划名称默认为版本号。 关联迭代 仅服务关联了Scrum类型的项目,且“版本类型”选择“基线”时,需配置此参数。 选择需要关联的迭代,也可勾选“自动创建新迭代”,自动创建的新迭代名称默认为版本号。 产能 必填项,指版本开发团队每天能提供的开发人员的数量。单位:人/天。 选择计划时间 版本开始时间 必填项,版本开始的日期。 自动创建新发布计划或自动创建新迭代时,开始时间默认为设置的版本开始时间。 版本发布时间 必填项,版本发布的日期。 自动创建新发布计划或自动创建新迭代时,发布时间默认为设置的版本发布时间。 单击“提交”。 在版本列表中可查看到此新建版本。
  • 操作步骤 在开发中心首页下方的“我的团队”区域,单击右侧“创建团队”。 在“创建团队”页面,设置团队相关参数,参数配置请参见表1。 表1 创建团队参数说明 参数名称 参数说明 团队名称 必填项,团队的命名。 团队归属部门 必填项,选择系统中已提前创建的部门。 关联服务 必填项,选择系统中已提前创建并发布的服务。 团队LOGO 必填项,单击系统默认图片上的“点击修改”,可选择本地图片自定义LOGO图片。 团队简介(可选) 非必填项,团队空间的功能描述或其他备注信息。 单击“创建”。 在“我的团队”区域可查看到创建的团队的卡片。
  • 负载Hostpath配置方式 操作场景 在使用CCE或者其他K8s集群时,用户使用HostPath类型存储。但CCI是共享集群,不开放HostPath能力,因此使用HostPath的Pod通过bursting弹到CCI时,会被拦截。如无法改变Pod spec.volumes中配置的HostPath,可通过配置Annotation的形式,允许让使用HostPath的Pod弹性到CCI上,bursting在校验时需要去掉Pod中的HostPath或者将HostPath替换为localDir、emptyDir或者flexVolume。 约束与限制 LocalDir的sizeLimit只支持1Gi、2Gi。 EmptyDir的sizeLimit需为1Gi的整数倍,且不能大于Pod CPU核数的10倍。 操作步骤 通过在Pod.Annotations中加入注解可以做到hostPath转localdir、emptydir或者flexvolume。 单个hostPath替换为localdir配置方式: "coordinator.cci.io/hostpath-replacement": '[{"name":"source-hostpath-volume","policyType":"replaceByLocalDir","localDir":{"sizeLimit":"1Gi"}}] 单个hostPath替换为flexVolume配置方式: "coordinator.cci.io/hostpath-replacement": '[{"name":"source-hostpath-volume-1","policyType":"remove"},{"name":"source-hostpath-volume-2","policyType":"replaceByLocalDir","localDir":{"sizeLimit":"1Gi"}},{"name":"source-hostpath-volume-3","policyType":"replaceByEmptyDir","emptyDir":{"sizeLimit":"10Gi"}}]' EVS目前支持普通I/O、高I/O、超高I/O三种规格,volumeType根据实际情况填写。 表1 EVS规格 EVS规格 类型 应用场景 应用场景示例 普通I/O sata 后端存储由SATA存储介质提供,适用于大容量,读写速率要求不高,事务性处理较少的应用场景。 开发测试、企业办公应用。 高I/O sas 后端存储由SAS存储介质提供,适用于性能相对较高,读写速率要求高,有实时数据存储需求应用场景。 创建文件系统、分布式文件共享。 超高I/O ssd 后端存储SSD存储介质提供,适用于高性能、高读写速率要求、数据密集型应用场景。 NoSQL、关系型数据库、 数据仓库 (如Oracle RAC、SAP HANA)。 全部HostPath都忽略: "coordinator.cci.io/hostpath-replacement": '[{"name":"*","policyType":"remove"}]' 多个HostPath差异化替换策略: "coordinator.cci.io/hostpath-replacement": '[{"name":"source-hostpath-volume-1","policyType":"remove"},{"name":"source-hostpath-volume-2","policyType":"replaceByLocalDir","localDir":{"sizeLimit":"1Gi"}},{"name":"source-hostpath-volume-3","policyType":"replaceByEmptyDir","emptyDir":{"sizeLimit":"10Gi"}}]' 对于path为/etc/localtime的HostPath存储,会被单个HostPath替换的策略(策略name为具体的volume name)替换,不会被全部HostPath替换的策略(策略name为"*")替换。 参考deployment yaml示例: apiVersion: apps/v1 kind: Deployment metadata: annotations: description: '' labels: virtual-kubelet.io/burst-to-cci: enforce appgroup: '' version: v1 name: test namespace: default spec: replicas: 2 selector: matchLabels: app: test version: v1 template: metadata: labels: app: test version: v1 annotations: coordinator.cci.io/hostpath-replacement: '[{"name": "test-log2", "policyType": "remove"}, {"name": "test-log", "policyType": "replaceByEmptyDir", "emptyDir":{"sizeLimit":"10Gi"}}, {"name": "test-log1", "policyType": "replaceByLocalDir", "localDir":{"sizeLimit":"1Gi"}}]' spec: containers: - name: container-1 image: nginx imagePullPolicy: IfNotPresent env: - name: PAAS_APP_NAME value: test - name: PAAS_NAMESPACE value: default - name: PAAS_PROJECT_ID value: 0b52a6e40b00d3682f36c0005163a82c resources: requests: cpu: 250m memory: 512Mi limits: cpu: 250m memory: 512Mi volumeMounts: - name: test-log mountPath: /tmp/log - name: test-log1 mountPath: /tmp/log1 - name: test-log2 mountPath: /tmp/log2 volumes: - hostPath: path: /var/paas/sys/log/virtual-kubelet type: "" name: test-log - hostPath: path: /var/paas/sys/log type: "" name: test-log1 - hostPath: path: /var/paas/sys/log2 type: "" name: test-log2
  • 约束与限制 调度到CCI的实例的存储类型支持ConfigMap、Secret、EmptyDir、DownwardAPI、Projected、PersistentVolumeClaims几种Volume类型,其中Projected和DownwardAPI类型仅bursting 1.3.25版本及以上支持。 EmptyDir:不支持子路径。 PersistentVolumeClaims:只支持SFS、SFS Turbo 云存储 类型,且只支持使用CSI类型的StorageClass。volcano调度器不支持调度所有云存储类型。 Projected:如配置了serviceAccountToken类型的source,那么弹性到CCI后挂载的会是对应service-account-token secret中的token,该token为长期有效的token且没有预期受众,即expirationSeconds和audience两项配置不会生效。
  • 支持的存储类型 用户在配置负载存储类型时,CCE的console有如下选项。 弹性CCI的负载对存储类型的支持情况如下: volume类型 是否支持 特殊场景说明 HostPath 否 CCI是共享集群,不直接开放HostPath能力。 1.5.9及以上版本可支持配置path为/etc/localtime的HostPath存储,配置后CCI侧容器中挂载的时区将会与CCE节点的时区一致。 ConfigMap 是 - Secret 是 - EmptyDir 是 挂载EmptyDir不支持子路径。 EmptyDir的sizeLimit需为1Gi的整数倍,且不能大于Pod CPU核数的10倍。 DownwardAPI 是 - Projected 是 如配置了serviceAccountToken类型的source,弹性到CCI后会挂载对应service-account-token secret中的token,该token为长期有效,且token没有预期受众,即expirationSeconds和audience两项配置不会生效。 PersistentVolumeClaims 是 只支持SFS、SFS Turbo云存储类型,且只支持使用CSI类型的StorageClass。
  • 响应示例 状态码: 200 成功 { "target_id" : "xxxxxx-xxx-xxxx-xxxxxxx", "policy" : { "auto_export_policy" : { "events" : [ "NEW", "CHANGED", "DELETED" ] } } } 状态码: 404 错误响应 { "errCode" : "SFS.TURBO.0126", "errMsg" : "target not found, not bound yet" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "internal server error" }
  • 请求示例 文件系统ID为"77ba6f4b-6365-4895-8dda-bc7142af4dde",后端target_id为"11abef677ac40f46644d1d5cfc2424a4",更新后端存储自动同步策略 PUT HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/77ba6f4b-6365-4895-8dda-bc7142af4dde/targets/11abef677ac40f46644d1d5cfc2424a4/policy { "policy" : { "auto_export_policy" : { "events" : [ "NEW", "CHANGED", "DELETED" ] } } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 policy 是 ObsDataRepositoryPolicy object 后端存储自动同步策略 表4 ObsDataRepositoryPolicy 参数 是否必选 参数类型 描述 auto_export_policy 否 AutoExportPolicy object 后端存储自动导出策略。当文件系统发生数据更新时,将自动导出到OBS桶。 表5 AutoExportPolicy 参数 是否必选 参数类型 描述 events 否 Array of strings 后端存储自动导出到OBS桶的数据更新类型。 NEW:表示新增数据,SFS Turbo联动目录下创建的文件,及之后对这些文件进行的元数据和数据修改,会被自动同步到OBS桶里。 CHANGED:表示修改数据,从OBS桶里导入到SFS Turbo联动目录下的文件,在SFS Turbo上对这些文件所进行的数据和元数据的修改,会被自动同步到OBS桶里。 DELETED:表示删除数据,在SFS Turbo联动目录下删除文件,OBS桶对应的对象也会被删除,只有被SFS Turbo写入的OBS对象才会被删除。
  • 响应参数 状态码: 200 表6 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表7 响应Body参数 参数 参数类型 描述 target_id String 绑定关系id policy ObsDataRepositoryPolicy object 后端存储自动同步策略 表8 ObsDataRepositoryPolicy 参数 参数类型 描述 auto_export_policy AutoExportPolicy object 后端存储自动导出策略。当文件系统发生数据更新时,将自动导出到OBS桶。 表9 AutoExportPolicy 参数 参数类型 描述 events Array of strings 后端存储自动导出到OBS桶的数据更新类型。 NEW:表示新增数据,SFS Turbo联动目录下创建的文件,及之后对这些文件进行的元数据和数据修改,会被自动同步到OBS桶里。 CHANGED:表示修改数据,从OBS桶里导入到SFS Turbo联动目录下的文件,在SFS Turbo上对这些文件所进行的数据和元数据的修改,会被自动同步到OBS桶里。 DELETED:表示删除数据,在SFS Turbo联动目录下删除文件,OBS桶对应的对象也会被删除,只有被SFS Turbo写入的OBS对象才会被删除。 状态码: 404 表10 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码: 500 表11 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 响应示例 状态码: 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 错误码 errMsg String 错误描述 状态码: 409 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 path 是 String 合法的已存在的目录的全路径 capacity 否 Integer 目录的容量大小,单位:MB; 不填写则默认为0;设置为0会导致数据无法写入目录; capacity和quota至少二选一 inode 否 Integer 目录的inode数量限制; 不填写则默认为0;设置为0会导致数据无法写入目录; capacity和quota至少二选一
  • 请求示例 文件系统ID为"77ba6f4b-6365-4895-8dda-bc7142af4ddw",目录的全路径是“/data/test”, 删除目录quota DELETE HTTPS://{endpoint}/v1/{project_id}/sfs-turbo/shares/77ba6f4b-6365-4895-8dda-bc7142af4ddw/fs/dir-quota { "path" : "/data/test" }
  • 响应示例 状态码: 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.region.example.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
  • URI GET /v1/{project_id}/sfs-turbo/shares/{share_id}/targets 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目id share_id 是 String 文件系统id 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 查询列表返回元素个数 marker 否 String 查询列表偏移量
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表5 响应Body参数 参数 参数类型 描述 count Integer 后端存储列表个数 targets Array of ShowBackendTargetInfoResponseBody objects 后端存储列表 表6 ShowBackendTargetInfoResponseBody 参数 参数类型 描述 target_id String 绑定关系id creation_time String 绑定关系创建时间 file_system_path String 联动目录名称 failure_details FailureDetailsMessage object 绑定错误信息 lifecycle String 绑定状态 obs ObsDataRepository object OBS类型后端存储 表7 FailureDetailsMessage 参数 参数类型 描述 message String 错误信息 表8 ObsDataRepository 参数 参数类型 描述 bucket String OBS桶名称 endpoint String OBS桶所在的区域 域名 policy ObsDataRepositoryPolicy object 后端存储自动同步策略 attributes ObsTargetAttributes object 后端存储属性。2024年6月30日及之前创建,且未升级的文件系统版本不支持该参数,请提工单处理。 表9 ObsDataRepositoryPolicy 参数 参数类型 描述 auto_export_policy AutoExportPolicy object 后端存储自动导出策略。当文件系统发生数据更新时,将自动导出到OBS桶。 表10 AutoExportPolicy 参数 参数类型 描述 events Array of strings 后端存储自动导出到OBS桶的数据更新类型。 NEW:表示新增数据,SFS Turbo联动目录下创建的文件,及之后对这些文件进行的元数据和数据修改,会被自动同步到OBS桶里。 CHANGED:表示修改数据,从OBS桶里导入到SFS Turbo联动目录下的文件,在SFS Turbo上对这些文件所进行的数据和元数据的修改,会被自动同步到OBS桶里。 DELETED:表示删除数据,在SFS Turbo联动目录下删除文件,OBS桶对应的对象也会被删除,只有被SFS Turbo写入的OBS对象才会被删除。 表11 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)。 状态码: 404 表12 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码: 500 表13 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 响应示例 状态码: 200 创建成功 { "id" : "1131ed520xxxxxxebedb6e57xxxxxxxx", "ip_cidr" : "192.32.0.0/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" }
  • 响应参数 状态码: 200 表4 响应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 表5 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码: 500 表6 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 ip_cidr 否 String 授权对象的IP地址或网段,设置后不支持修改 rw_type 否 String 授权对象的读写权限 rw:默认选项,以读写的方式共享 ro:以只读的方式共享 none: 没有权限 user_type 否 String 授权对象的系统用户对文件系统的访问权限。取值如下: no_root_squash:默认选项。客户端使用包括root用户在内的任何用户,NFS服务器都保持客户端使用的用户,不做映射。 root_squash:客户端使用的是root用户时,映射到NFS服务器的用户为NFS的匿名用户(nfsnobody)。客户端使用非root用户时,NFS服务器保持客户端使用的用户,不做映射。 all_squash:所有访问NFS服务器的客户端的用户都映射为匿名用户。
  • 请求示例 配置hpc缓存型后端信息,冷数据淘汰时间是100小时,后端校验时间是60秒。配置Nas后端信息,nas 配置 ip是“192.168.xx.xx:/”,nas 配置协议类型是“NFS”。 { "update_hpc_cache" : { "action" : "initialize_overlay", "data" : { "gc_time" : 100, "ck_time" : 60, "nas" : [ { "name" : "abc", "type" : "NFS", "url" : "192.168.xx.xx:/" } ] } } }
  • 响应参数 状态码: 200 表7 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 状态码: 400 表8 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表9 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码: 500 表10 响应Header参数 参数 参数类型 描述 X-request-id String 请求ID 表11 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 update_hpc_cache 是 ReqUpdateHpcCacheInfo object 后端挂载信息 表4 ReqUpdateHpcCacheInfo 参数 是否必选 参数类型 描述 action 是 String 配置hpc缓存型的动作,如initialize_overlay data 是 ReqUpdateHpcCacheData object hpc 缓存型后端配置信息 表5 ReqUpdateHpcCacheData 参数 是否必选 参数类型 描述 gc_time 是 Long 冷数据淘汰时间。单位:小时。指定时间内线上缓存的数据如果没有被访问则会自动从缓存中删除。0表示数据不会因为时间原因自动从缓存中删除。 ck_time 是 Long 后端校验时间。单位:秒。指定时间间隔进行线上缓存文件与后端存储文件比较,存在变化则自动更新。0表示文件进行实时校验。 nas 否 Array of ConfigNasTarget objects 配置 nas 后端的信息 表6 ConfigNasTarget 参数 是否必选 参数类型 描述 name 是 String nas 配置名 type 是 String nas 配置协议类型 url 是 String nas 配置 ip
  • 响应示例 状态码: 200 删除中 { "job_Id" : "72362dxxxxa04d419dbd5e6d9fe5xxxx" } 状态码: 400 错误响应 { "errCode" : "SFS.TURBO.0001", "errMsg" : "Invalid rule id" } 状态码: 500 错误响应 { "errCode" : "SFS.TURBO.0005", "errMsg" : "Internal server error" }
  • 功能介绍 删除ldap配置。LDAP(Lightweight Directory Access Protocol),中文名称轻量级目录访问协议,是对目录服务器(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服务器访问,以免影响您的业务。同时,若您还选择将allow_local_user配置为Yes(默认为No),那么当您的LDAP服务器全部故障无法访问时,SFS Turbo将会使用您的本地用户以及群组信息,而非LDAP服务器中配置的信息进行身份验证和UGO权限检查,以最大程度减少故障影响面。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 jobId String ldap异步任务的id。可通过查询job的状态详情接口查询job的执行状态。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述 状态码: 500 表5 响应Body参数 参数 参数类型 描述 errCode String 错误码 errMsg String 错误描述
共100000条