
# 并行文件系统支持的特性
#### 并行文件系统支持的API列表
本节主要介绍并行文件系统和已有的OBS API的兼容情况，并对部分兼容的API进行差异说明。
关于OBS各个API接口的详细介绍，请参见[《对象存储服务API参考》](https://support.huaweicloud.com/api-obs/obs_04_0005.html)。
#### 桶基础操作接口
表1桶基础操作接口 
| 接口      | 并行文件系统是否兼容 | 差异说明                                            |
|:---|:---|:---|
| 获取桶列表   | √          | 获取并行文件系统列表需要携带头域"x-obs-bucket-type: POSIX"。     |
| 创建桶     | √          | 创建并行文件系统需要携带头域"x-obs-fs-file-interface:Enabled" |
| 列举桶内对象  | √          | -                                               |
| 获取桶元数据  | √          | -                                               |
| 获取桶区域位置 | √          | -                                               |
| 删除桶     | √          | -                                               |
   
#### 桶高级配置接口
表2桶高级配置接口 
| 接口            | 并行文件系统是否兼容 | 差异说明                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| 设置桶策略         | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶策略         | √          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶策略         | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶ACL        | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶ACL        | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶日志管理配置     | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶日志管理配置     | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶的生命周期配置    | √          | 差异详见[生命周期特性]章节                                                                                                                                                                                                                                 |
| 获取桶的生命周期配置    | √          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶的生命周期配置    | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶的多版本状态     | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶的多版本状态     | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶的消息通知配置    | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶的消息通知配置    | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶默认存储类型     | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶默认存储类型     | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶的跨区域复制配置   | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶的跨区域复制配置   | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶的跨区域复制配置   | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶标签         | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶标签         | √          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶标签         | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶配额         | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶配额         | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶存量信息       | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶清单         | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶清单         | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 列举桶清单         | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶清单         | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶的自定义域名     | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶的自定义域名     | √          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶的自定义域名     | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶的加密配置      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶的加密配置      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶的加密配置      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶归档存储对象直读策略 | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶归档存储对象直读策略 | √          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶归档存储对象直读策略 | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置镜像回源规则      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取镜像回源规则      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 删除镜像回源规则      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 设置DIS通知策略     | √          | 并行文件系统仅支持以下事件类型订阅（rules.events）： ObjectCreated:\*,ObjectCreated:PUT,ObjectCreated:COPY,ObjectCreated: CompleteMultipartUpload,ObjectRemoved:\*,ObjectRemoved:Delete,ObjectChanged:\*,ObjectChanged:MODIFY,ObjectChanged:TRUNCATE,ObjectChanged:RENAME |
| 获取DIS通知策略     | √          | -                                                                                                                                                                                                                                                                                                                               |
| 删除DIS通知策略     | √          | -                                                                                                                                                                                                                                                                                                                               |
| 设置在线解压策略      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取在线解压策略      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 删除在线解压策略      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 配置桶级默认WORM策略  | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶级默认WORM策略  | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶的网站配置      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶的网站配置      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶的网站配置      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| 设置桶的CORS配置    | √          | -                                                                                                                                                                                                                                                                                                                               |
| 获取桶的CORS配置    | √          | -                                                                                                                                                                                                                                                                                                                               |
| 删除桶的CORS配置    | √          | -                                                                                                                                                                                                                                                                                                                               |
| OPTIONS桶      | ×          | -                                                                                                                                                                                                                                                                                                                               |
| OPTIONS对象     | ×          | -                                                                                                                                                                                                                                                                                                                               |
   
#### 对象操作接口
表3对象操作接口 
| 接口            | 并行文件系统是否兼容 | 差异说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| PUT上传         | √          | - 不支持的头域：x-obs-storage-class、x-obs-website-redirect-location、x-obs-server-side-encryption、x-obs-server-side-encryption-kms-key-id、x-obs-server-side-encryption-customer-algorithm、x-obs-server-side-encryption-customer-key、x-obs-server-side-encryption-customer-key-MD5、success-action-redirect、x-obs-expires  - 不支持直接上传低频访问存储和归档存储对象，上传后默认为标准存储，可通过生命周期或元数据修改存储类型。  - 支持自动创建请求路径上不存在的目录对象。例如您执行以下PUT操作，并行文件系统中存在dir01目录对象，没有dir02、dir03对象时，会自动创建出dir02目录对象和dir03目录对象。即此命令返回成功后，您实际创建了dir02目录对象、dir03目录对象和file01文件对象。 ``` PUT /dir01/dir02/dir03/file01 HTTP/1.1 ```    |
| POST上传        | √          | 不支持的头域：x-obs-storage-class、x-obs-website-redirect-location、x-obs-server-side-encryption、x-obs-server-side-encryption-kms-key-id、x-obs-server-side-encryption-customer-algorithm、x-obs-server-side-encryption-customer-key、x-obs-server-side-encryption-customer-key-MD5、success-action-redirect、x-obs-expires                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 复制对象          | √          | 只支持相同集群内并行文件系统或OBS桶之间进行复制。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 下载对象          | √          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 获取对象元数据       | √          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 删除对象          | √          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 批量删除对象        | √          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 恢复归档存储存储对象    | √          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 追加写对象         | ×          | 并行文件系统不支持追加写对象接口，您可以通过获取对象元数据接口获取文件长度，再用修改写对象接口完成追加写功能。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 设置对象ACL       | √          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 获取对象ACL       | √          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 修改对象元数据       | √          | 并行文件系统不支持修改目录的存储类型。如需修改目录中文件的存储类别，请修改文件的元数据，或者使用生命周期规则批量修改文件存储类别。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 修改写对象         | √          | 此为并行文件系统独有接口，OBS桶不支持该接口。 并行文件系统不支持修改写低频访问存储和归档存储对象。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 截断对象          | √          | 此为并行文件系统独有接口，OBS桶不支持该接口。 并行文件系统不支持截断低频访问存储和归档存储对象。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 重命名对象         | √          | 并行文件系统独有接口，OBS桶不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 回调            | ×          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 设置对象标签        | ×          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 获取对象标签        | ×          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 删除对象标签        | ×          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 配置对象级WORM保护策略 | ×          | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
#### 多段操作接口
表4多段操作接口 
| 接口           | 并行文件系统是否兼容 | 差异说明                |
|:---|:---|:---|
| 列举桶中已初始化多段任务 | √          | -                   |
| 初始化上传段任务     | √          | -                   |
| 上传段          | √          | -                   |
| 拷贝段          | √          | 不支持对追加写过的文件执行拷贝段操作。 |
| 列举已上传的段      | √          | -                   |
| 合并段          | √          | -                   |
| 取消多段上传任务     | √          | -                   |
   
#### 并行文件系统权限配置
并行文件系统的权限配置与对象存储权限配置应用场景与主要功能一致，更多信息可参照[权限配置指南](https://support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html)。
#### 与对象桶权限配置的主要差异说明
需要精确匹配指定目录时，策略中的资源路径需要以"/"结束。因为并行文件系统做权限检查时，判断被检查对象为目录，但对象标识没有以/结束，会在对象标识尾部加上/，然后做策略匹配。
#### IAM权限配置样例
**示例1：给用户授予dir_1目录的下载权限，不包括子目录**
策略配置如下，资源路径以/结束，这时head请求url中携带dir_1或者dir_1/都可以收到成功响应。
注意：该策略没有对dir_1中子目录或文件授予权限，所以对dir_1/file1发送head请求会收到失败响应。
```
{
    "Version": "1.1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "obs:object:GetObject",
            ],
            "Resource": [
                "obs:*:*:object:examplebucket/dir_1/",
            ]
        }
    ]
}
```
**示例2：** **给用户授予** **dir_1** **及其子目录的下载权限**
策略配置如下所示，资源路径做前缀匹配，以通配符\*结束，这时对dir_1/file1发送head请求可以收到成功响应。
```
{
    "Version": "1.1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "obs:object:GetObject",
            ],
            "Resource": [
                "obs:*:*:object:examplebucket/dir_1/*",
            ]
        }
    ]
}
```
#### 桶策略配置样例
**示例1：给用户授予dir_1目录的下载权限，不包括子目录**
策略配置如下所示，资源路径以/结束，这时head请求url中携带dir_1或者dir_1/都可以收到成功响应。
```
{
    "Statement":[
    {
      "Sid":"test",
      "Effect":"Allow",
      "Principal": {"ID": ["domain/b4bf1b36d9ca43d984fbcb9491b6fce9:user/71f3901173514e6988115ea2c26d1999"]},
      "Action":["*"],
      "Resource":[
        "examplebucket/dir_1/",
      ]
    }
  ]
}
```
 #### 生命周期特性
并行文件系统的生命周期管理与对象存储生命周期管理应用场景与主要功能一致，更多信息可参照。
SDK参考可参照[对象生命周期的SDK参考](https://support.huaweicloud.com/sdkreference-obs/obs_02_0001.html)。
#### 与对象生命周期管理主要差异说明
- 您可以使用生命周期管理功能管理文件对象和目录对象，其中目录对象不支持转归档存储，但是空目录支持过期删除。
- 由于并行文件系统不支持多版本，因此不支持为对象历史版本设置过期删除和存储类别转换。
- 您最多可以在一个并行文件系统下配置20条生命周期管理规则，超过20条将提示不支持。
- 文件满足生命周期规则的基准时间为文件数据内容最后一次做更新的时间点。
- 单个并行文件系统配置生命周期规则后，对于规则生效的目录有如下限制，超过限制后，将导致生命周期规则执行完成的时间延长。
  1. 每个目录下的一级子目录数不超过10万。
  
  2. 所有规则前缀匹配的子目录总数（文件夹总数）不超过1000万。
  
  3. 所有规则前缀匹配的文件总数不超过3000万。
   
 
#### 生命周期相关其他说明
- 您如果执行rename操作， rename后的文件或rename后的目录下的文件如果满足某个生命周期规则，则匹配生命周期的基准时间仍为文件数据内容最后一次更新的时间而非rename的时间，且这些文件的生命周期管理生效时间可能会有延迟，延迟时间为0至7天。

- 对于文件客户端执行的拷贝操作，生命周期判断超期或者转归档存储的时间基准为拷贝的时间点。
  - 例：文件src.txt创建时间为2019年1月1日，在2019年9月1日执行cp -a src.txt des.txt后，des.txt的生命周期管理时间以2019年9月1日来计算是否满足超期或转归档存储的时间配置。
   
- 并行文件系统生命周期，目录的删除是靠周期扫描任务进行的，从最深目录进行扫描，如果空目录符合过期条件则删除该空目录，非空目录不做处理。目录周期扫描任务扫描间隔依赖集群配置，一般为7天。单层目录为空后0-7天内删除。二级目录需等两个周期，在各目录下均无文件或目录后等待0-14天。依此递增。
- 被误放置到生命周期前缀下的文件或目录，撤回动作需在目录或文件满足生命周期时间条件时刻的24小时前进行。当目录或文件在24小时内就会满足生命周期的时间条件，即使执行撤回动作也可能会被生命周期处理。
- 配置的前缀筛选条件的最后一级目录如果带"/"，则该目录本身不在生命周期回收范围内；如果不带"/"且该目录满足回收条件，则生命周期最后会删除该目录。
 
