更新时间:2021-03-18 GMT+08:00
分享

创建备份策略

功能介绍

创建备份策略对服务器进行周期性备份,还可以为备份策略附加一个复制策略,对该策略产生的备份进行复制。

URI

  • URI

    POST https://{endpoint}/v1/{project_id}/policies

  • 参数说明
    表1 参数说明

    参数

    是否必选

    参数类型

    描述

    project_id

    String

    项目ID。

    获取方法请参见获取项目ID

请求

  • 要素说明
    表2 要素说明

    参数

    是否必选

    参数类型

    描述

    policy

    policy_create

    创建参数。

    详情请参见表3

  • policy_create 字段数据结构说明
    表3 policy_create 字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    description

    String

    备份策略描述,长度限制:0- 255,除了“<”、“>”不能输入,其它字符均可。

    name

    String

    备份策略名称,长度限制:1- 255,只能由中文、字母、数字、“_”、“-”组成。

    parameters

    policy_param

    备份参数。

    详情请参见表4

    provider_id

    String

    备份提供商ID,当前取值固定值:fc4d5750-22e7-4798-8a46-f48f62c4c1da。用于区分备份对象是服务器或磁盘。

    resources

    List<resource>

    备份对象列表,列表可以为空。

    详情请参见表5

    scheduled_operations

    List<scheduled_operation_create>

    调度周期。

    详情请参见表6

  • policy_param 字段数据结构说明
    表4 policy_param 字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    common

    common_param

    备份策略通用参数,此处默认为空。

    详情请参见common_param 字段数据结构说明

  • common_param 字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    app_consistency

    Integer

    是否对备份策略中的备份对象做应用一致性备份;0代表不做应用一致性备份;1代表做应用一致性备份且应用一致性备份失败后,不继续做崩溃一致性备份;2代表做应用一致性备份且应用一致性备份失败后,继续做崩溃一致性备份。未输入app_consistency参数时,不做应用一致性备份。应用一致性备份特性参照创建资源备份接口描述。

  • resource 字段数据结构说明
    表5 resource 字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    id

    String

    待备份对象ID

    type

    String

    备份对象的实体对象类型。

    当前支持的取值包含两个:OS::Nova::Server,该值代表备份对象为云服务器,OS::Ironic::BareMetalServer,该值代表备份对象为裸金属服务器。

    name

    String

    备份对象名称

    extra_info

    Dict

    备份对象的附加信息

  • extra_info参数说明

    参数

    是否必选

    参数类型

    描述

    exclude_volumes

    List<volume_id>

    磁盘的ID列表,如果备份对象为云服务器或者裸金属服务器,代表备份时不对该服务器下指定的磁盘进行备份。

  • scheduled_operation_create 字段数据结构说明
    表6 scheduled_operation_create 字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    description

    String

    调度周期描述,长度限制:0- 255,除了“<”、“>”不能输入,其它字符均可。

    enabled

    Boolean

    是否启用该调度周期, 启用时策略会自动调度;不启用时策略不会自动调度,可以通过调用执行备份策略接口手动执行策略。

    name

    String

    调度周期名称,长度限制:1- 255,只能由中文、字母、数字、“_”、“-”组成。

    operation_type

    String

    操作类型,如备份,复制

    Enum:[ backup,replication]

    operation_definition

    operation_definition

    调度周期参数。

    详情请参见表7

    trigger

    trigger

    调度策略

  • operation_definition 字段数据结构说明
    表7 operation_definition 字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    max_backups

    Integer

    单个备份对象自动备份的最大备份数。取值为-1或0-99999。-1代表不按备份数清理。

    retention_duration_days

    Integer

    备份保留时长,单位天。取值为-1或0-99999。-1代表不按时间清理。

    permanent

    Boolean

    是否永久保留。“false”:不永久保留,“true”:永久保留

    plan_id

    String

    备份策略ID。

    provider_id

    String

    备份提供商ID,当前取值固定值:fc4d5750-22e7-4798-8a46-f48f62c4c1da。用于区分备份对象是服务器或磁盘。

    destination_region

    String

    复制的目标区域ID,仅在跨区域复制时才会使用并且必须指定。

    destination_project_id

    String

    复制的目标项目ID,仅在跨区域复制时才会使用并且必须指定。

    获取方法请参见获取项目ID

    enable_acceleration

    Boolean

    跨区域复制时,是否启用加速从而缩减复制的时间,如果不指定,默认不启用加速

    day_backups

    Integer

    保留日备个数,该备份不受保留最大备份数限制。若选择该参数,则timezone 也必选。

    week_backups

    Integer

    保留周备个数,该备份不受保留最大备份数限制。若选择该参数,则timezone 也必选。

    month_backups

    Integer

    保留月备个数,该备份不受保留最大备份数限制。若选择该参数,则timezone 也必选。

    year_backups

    Integer

    保留年备个数,该备份不受保留最大备份数限制。若选择该参数,则timezone 也必选。

    timezone

    String

    用户所在时区,格式形如UTC+08:00,若没有选择年备,月备,周备,日备中任一参数,则不能选择该参数。

    • permanent配置为true,无论max_backups和retention_duration_days配置为何值,都是表示永久保留。
    • permanent配置为false或者不配置,以max_backups和retention_duration_days配置为准。
    • permanent,max_backups和retention_duration_days都不配置,则表示永久保留。
  • trigger 字段数据结构说明
    表8 trigger 字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    properties

    trigger_properties

    调度器属性。

    详情请参见表9

  • trigger_properties 字段数据结构说明
    表9 trigger_properties 字段数据结构说明

    参数

    是否必选

    参数类型

    描述

    pattern

    String

    调度器的调度策略,长度限制为10240个字符,参照iCalendar RFC 2445规范,但仅支持FREQ、BYDAY、BYHOUR、BYMINUTE四个参数,其中FREQ仅支持WEEKLY和DAILY,BYDAY支持一周七天(MO、TU、WE、TH、FR、SA、SU),BYHOUR支持0-23小时,BYMINUTE支持0-59分钟,并且时间点间隔不能小于一小时,一个备份策略可以同时设置多个备份时间点,一天最多可以设置24个时间点。

  • 请求样例
    POST https://{endpoint}/v1/{project_id}/policies
    {
      "policy" : {
        "name" : "my-plan",
        "description" : "My plan",
        "provider_id" : "fc4d5750-22e7-4798-8a46-f48f62c4c1da",
        "parameters" : {
          "common" : {
              "app_consistency": 1
          }
        },
        "scheduled_operations" : [ {
          "name" : "my-backup-policy",
          "description" : "My backup policy",
          "enabled" : true,
          "operation_definition" : {
            "max_backups" : 20
          },
          "trigger" : {
            "properties" : {
              "pattern" : "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"
            }
          },
          "operation_type" : "backup"
        },{
          "name" : "my-replication-policy",
          "description" : "My replication policy",
          "enabled" : true,
          "operation_definition" : {
            "max_backups" : 20,
            "destination_region": "cn-south-1",
            "destination_project_id": "827099a5c63945d3b5a473ce9a1eaf88"
          },
          "trigger" : {
            "properties" : {
              "pattern" : "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n"
            }
          },
          "operation_type" : "replication"
        }],
        "resources" : [ {
          "id" : "45baf976-c20a-4894-a7c3-c94b7376bf55",
          "type" : "OS::Nova::Server",
          "name" : "resource1",
        }, {
          "id" : "5aa119a8-d25b-45a7-8d1b-88e127885635",
          "type" : "OS::Nova::Server",
          "name" : "resource2"
        } ]
      }
    }

响应

  • 要素说明
    表10 要素说明

    参数

    参数类型

    描述

    policy

    policy_resp

    详情请参见表11

  • policy_resp 字段数据结构说明
    表11 policy_resp 字段数据结构说明

    参数

    参数类型

    描述

    created_at

    String

    创建时间,如:"2017-04-18T01:21:52.701973"

    description

    String

    备份策略描述,长度限制:0- 255,除了“<”、“>”不能输入,其它字符均可。

    id

    String

    备份策略ID

    name

    String

    备份策略名称,长度限制:1- 255,只能由中文、字母、数字、“_”、“-”组成。

    parameters

    policy_param

    备份策略参数。

    详情请参见表12

    project_id

    String

    项目ID

    获取方法请参见获取项目ID

    provider_id

    String

    备份提供商ID,当前取值固定值:fc4d5750-22e7-4798-8a46-f48f62c4c1da。用于区分备份对象是服务器或磁盘。

    resources

    List<resource>

    备份对象列表。

    详情请参见表13

    scheduled_operations

    List<scheduled_operation_resp>

    调度周期列表。

    详情请参见表14

    status

    String

    备份策略状态,

    “disabled”:不可用

    “enabled”:可用

  • policy_param 字段数据结构说明
    表12 policy_param 字段数据结构说明

    参数

    参数类型

    描述

    common

    common_param

    备份策略通用参数。

    详情请参见common_param 字段数据结构说明

  • common_param 字段数据结构说明

    参数

    参数类型

    描述

    app_consistency

    Integer

    是否对备份策略中的备份对象做应用一致性备份;0代表不做应用一致性备份;1代表做应用一致性备份且应用一致性备份失败后,不继续做崩溃一致性备份;2代表做应用一致性备份且应用一致性备份失败后,继续做崩溃一致性备份。未输入app_consistency参数时,不做应用一致性备份。应用一致性备份特性参照创建资源备份接口描述。

  • resource 字段数据结构说明
    表13 resource 字段数据结构说明

    参数

    参数类型

    描述

    id

    String

    待备份对象ID

    type

    String

    备份对象的实体对象类型。

    虚拟机:OS::Nova::Server

    type

    String

    备份对象的实体对象类型。

    当前支持的取值包含两个:OS::Nova::Server,该值代表备份的对象为云服务器,OS::Ironic::BareMetalServer,该值代表备份的对象为裸金属服务器。

    name

    String

    备份对象名称

    extra_info

    Dict

    备份对象的附加信息

  • extra_info参数说明

    参数

    参数类型

    描述

    exclude_volumes

    List<volume_id>

    磁盘的ID列表,如果备份对象为云服务器或者裸金属服务器,代表备份时不对该服务器下指定的磁盘进行备份。

  • scheduled_operation_resp 字段数据结构说明
    表14 scheduled_operation_resp 字段数据结构说明

    参数

    参数类型

    描述

    description

    String

    调度周期描述,长度限制:0- 255,除了“<”、“>”不能输入,其它字符均可。

    enabled

    Boolean

    是否启用该调度周期,默认为true, 不启用时策略不会自动调度,可以手工调度

    name

    String

    调度周期名称,长度限制:1- 255,只能由中文、字母、数字、“_”、“-”组成。

    operation_type

    String

    操作类型,备份,复制

    Enum:[ backup,replication]

    operation_definition

    operation_definition

    调度周期参数。

    详情请参见表15

    trigger

    trigger_resp

    调度策略

    id

    String

    调度周期ID

    trigger_id

    String

    调度器ID

  • operation_definition 字段数据结构说明
    表15 operation_definition 字段数据结构说明

    参数

    参数类型

    描述

    max_backups

    String

    单个备份对象自动备份的最大备份数。取值为-1或0-99999。-1代表不按备份数清理。

    retention_duration_days

    String

    备份保留时长,单位天。取值为-1或0-99999。-1代表不按时间清理。

    permanent

    String

    是否永久保留。

    plan_id

    String

    备份策略ID。

    provider_id

    String

    备份提供商ID,当前取值固定值:fc4d5750-22e7-4798-8a46-f48f62c4c1da。用于区分备份对象是服务器或磁盘。

    destination_region

    String

    复制的目标区域,仅在跨区域复制时才会使用并且必须指定。

    destination_project_id

    String

    复制的目标项目ID,仅在跨区域复制时才会使用并且必须指定。

    enable_acceleration

    String

    跨区域复制时,是否启用加速从而缩减复制的时间,如果不指定,默认不启用加速。

    • permanent配置为true,无论max_backups和retention_duration_days配置为何值,都是表示永久保留。
    • permanent配置为false或者不配置,以max_backups和retention_duration_days配置为准。
    • permanent,max_backups和retention_duration_days都不配置,则表示永久保留。
  • trigger_resp 字段数据结构说明
    表16 trigger_resp 字段数据结构说明

    参数

    参数类型

    描述

    properties

    trigger_properties_resp

    调度器属性。

    详情请参见trigger_properties_resp 字段数据结构说明

    id

    String

    调度器ID。

    name

    String

    调度器名称。

    type

    String

    调度类型,"time":时间类型

  • trigger_properties_resp 字段数据结构说明
    表17 trigger_properties_resp 字段数据结构说明

    参数

    参数类型

    描述

    pattern

    String

    调度器的调度策略,长度限制为10240个字符,参照iCalendar RFC 2445规范,但仅支持FREQ、BYDAY、BYHOUR、BYMINUTE四个参数,其中FREQ仅支持WEEKLY和DAILY,BYDAY支持一周七天(MO、TU、WE、TH、FR、SA、SU),BYHOUR支持0-23小时,BYMINUTE支持0-59分钟,并且时间点间隔不能小于一小时,一个备份策略可以同时设置多个备份时间点,一天最多可以设置24个时间点。

    start_time

    String

    调度器开始时间,如:"2017-04-18T01:21:52"

    format

    String

    调度器类型

  • 响应样例
    {
      "policy" : {
        "created_at" : "2017-03-07T09:27:40.928000",
        "description" : "My plan",
        "id" : "f766c171-9336-479a-8b30-b83cabf6381e",
        "name" : "my-plan",
        "parameters" : {
          "common" : {
              "app_consistency": 1
          }
        },
        "project_id" : "tenant",
        "provider_id" : "c714180d-ea34-4b13-9a5e-577c7c416eec",
        "resources" : [ {
          "id" : "45baf976-c20a-4894-a7c3-c94b7376bf55",
          "name" : "resource1",
          "type" : "OS::Nova::Server",
          "extra_info" : {
            "exclude_volumes": ["8a8ccde2-0b9a-4450-a5f3-150816635f46"]
        }
        }, {
          "id" : "5aa119a8-d25b-45a7-8d1b-88e127885635",
          "name" : "resource2",
          "type" : "OS::Nova::Server"
        } ],
        "scheduled_operations" : [ {
          "description" : "My backup policy",
          "enabled" : true,
          "id" : "9303a23d-e433-48e7-b88a-5ee6442e434e",
          "name" : "my-backup-policy",
          "operation_definition" : {
            "max_backups" : "20",
            "plan_id" : "f766c171-9336-479a-8b30-b83cabf6381e",
            "provider_id" : "c714180d-ea34-4b13-9a5e-577c7c416eec"
          },
          "operation_type" : "backup",
          "trigger" : {
            "id" : "8178846b-766d-4fe6-941f-b38c76b6f3b9",
            "name" : "default",
            "properties" : {
              "pattern" : "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n",
              "start_time" : "2017-03-07 09:27:41",
              "format" : "ical"
            },
            "type" : "time"
          },
          "trigger_id" : "8178846b-766d-4fe6-941f-b38c76b6f3b9"
        },{
          "description" : "My replication policy",
          "enabled" : true,
          "id" : "9303a23d-e433-48e7-b88a-5ee6442e434f",
          "name" : "my-replication-policy",
          "operation_definition" : {
            "max_backups" : "20",
            "plan_id" : "f766c171-9336-479a-8b30-b83cabf6381e",
            "provider_id" : "c714180d-ea34-4b13-9a5e-577c7c416eec",
            "destination_region": "cn-south-1",
            "destination_project_id": "827099a5c63945d3b5a473ce9a1eaf88"
          },
          "operation_type" : "replication",
          "trigger" : {
            "id" : "8178846b-766d-4fe6-941f-b38c76b6f3b8",
            "name" : "default",
            "properties" : {
              "pattern" : "BEGIN:VCALENDAR\r\nBEGIN:VEVENT\r\nRRULE:FREQ=WEEKLY;BYDAY=TH;BYHOUR=12;BYMINUTE=27\r\nEND:VEVENT\r\nEND:VCALENDAR\r\n",
              "start_time" : "2017-03-07 09:27:41"
            },
            "type" : "time"
          },
          "trigger_id" : "8178846b-766d-4fe6-941f-b38c76b6f3b8"
        } ],
        "status" : "suspended"
      }
    }

状态码

  • 正常

    状态码

    说明

    200

    OK

  • 异常

    状态码

    说明

    400

    请求参数不合法

    401

    鉴权失败

    403

    没有操作权限

    404

    请求对象不存在

    500

    服务内部错误

    503

    服务不可用

错误码

请参考错误码

相关文档