5.8. 使用多站点同步策略
作为存储管理员,您可以使用存储桶级别的多站点同步策略来控制不同区域中 bucket 之间的数据移动。这些策略称为存储桶粒度同步策略。在以前的版本中,区中的所有存储桶都是对称的。这意味着每个区域都包含给定存储桶的镜像副本,并且存储桶副本在所有区域中都相同。同步过程假定存储桶同步源和存储桶同步目的地引用同一存储桶。
bucket 同步策略只适用于数据,无论存在存储桶同步策略,元数据都会在多站点中的所有区域同步。当存储桶同步策略处于 allowed 或 forbidden 时,创建、修改或删除的对象,它不会在策略生效时自动同步。运行 bucket sync run 命令以同步这些对象。
如果在 zonegroup 级别上定义了多个同步策略,则可以随时有一个策略处于启用状态。如果需要,可以在策略间切换
同步策略替代旧的 zone group coarse 配置(sync_from*)。同步策略可以在 zone group 级别上配置。如果配置了该配置,它将替换 zone group 级别的旧式配置,但也可在 bucket 级别上进行配置。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
- Ceph 监控节点的根级别访问权限.
- 安装 Ceph 对象网关软件.
5.8.1. 多站点同步策略组状态 复制链接链接已复制到粘贴板!
在同步策略中,可以定义可以包含 data-flow 配置列表的多个组,以及管道配置列表。data-flow 定义不同区域之间的数据流。它可以定义对称数据流,其中有多个区域同步数据,并且可以定义方向数据流,其中的数据从一个区域移动到另一个区域。
管道(pipeline)定义了可以使用这些数据流的实际存储桶,以及与它关联的属性,如源对象前缀。
同步策略组可能处于 3 个状态:
-
允许并启用启用。
-
允许允许criu-wagonsync。 -
不允许在此组定义
禁止ProductShortName-wagonsync。
复制区域时,您可以使用同步策略禁用特定存储桶的复制。以下是需要遵循解决策略冲突的语义:
| zonegroup | Bucket | 结果 |
|---|---|---|
| enabled | enabled | enabled |
| enabled | 允许 | enabled |
| enabled | 禁止 | disabled |
| 允许 | enabled | enabled |
| 允许 | 允许 | disabled |
| 允许 | 禁止 | disabled |
| 禁止 | enabled | disabled |
| 禁止 | 允许 | disabled |
| 禁止 | 禁止 | disabled |
对于被设置为反映任何同步对(SOURCE_ZONE、SOURCE_BUCKET)、(DESTINATION_ZONE,DESTINATION_BUCKET)的多个组策略,按以下顺序应用以下规则:
-
即使
禁止一个同步策略,同步也会禁用。 -
应至少
启用一个策略,以便允许同步。
这个组中的同步状态可能会覆盖其他组。
策略可以在 bucket 级别上定义。bucket 级别同步策略继承 zonegroup 策略的数据流,并且只能定义 zonegroup 允许的子集。
通配符区域,策略中的通配符 bucket 参数定义所有相关区域或所有相关存储桶。在 bucket 策略的上下文中,这意味着当前的 bucket 实例。灾难恢复配置,其中整个区被镜像(mirror)不需要在存储桶上配置任何内容。但是,对于精细的存储桶同步,最好在 zonegroup 级别允许(status=allowed)将它们配置为同步管道(例如,使用通配符)。但是,仅在存储桶级别(status=enabled)中启用特定的同步。如果需要,存储桶级别的策略可以将数据移动限制到特定的相关区域。
对 zonegroup 策略的任何更改都需要应用到 zonegroup master zone,并且需要周期更新和提交。对 bucket 策略的更改需要应用到 zonegroup master zone。Ceph 对象网关动态处理这些更改。
5.8.2. 检索当前策略 复制链接链接已复制到粘贴板!
您可以使用 get 命令检索当前 zonegroup 同步策略或特定的存储桶策略。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
检索当前的 zonegroup 同步策略或存储桶策略。要检索特定的存储桶策略,请使用
--bucket选项:语法
radosgw-admin sync policy get --bucket=BUCKET_NAME
radosgw-admin sync policy get --bucket=BUCKET_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync policy get --bucket=mybucket
[ceph: root@host01 /]# radosgw-admin sync policy get --bucket=mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.3. 创建同步策略组 复制链接链接已复制到粘贴板!
您可以为当前 zone group 或特定存储桶创建同步策略组。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
创建同步策略组或存储桶策略。要创建存储桶策略,请使用
--bucket选项:语法
radosgw-admin sync group create --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbidden
radosgw-admin sync group create --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbiddenCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync group create --group-id=mygroup1 --status=enabled
[ceph: root@host01 /]# radosgw-admin sync group create --group-id=mygroup1 --status=enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.4. 修改同步策略组 复制链接链接已复制到粘贴板!
您可以修改当前 zone group 或特定存储桶的现有同步策略组。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
修改同步策略组或存储桶策略。要修改存储桶策略,请使用
--bucket选项:语法
radosgw-admin sync group modify --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbidden
radosgw-admin sync group modify --bucket=BUCKET_NAME --group-id=GROUP_ID --status=enabled | allowed | forbiddenCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=mygroup1 --status=forbidden
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=mygroup1 --status=forbiddenCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.5. 显示同步策略组 复制链接链接已复制到粘贴板!
您可以使用 group get 命令按组 ID 显示当前的同步策略组,或者显示特定的存储桶策略。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
显示当前的同步策略组或存储桶策略。要显示特定的存储桶策略,请使用
--bucket选项:语法
radosgw-admin sync group get --bucket=BUCKET_NAME --group-id=GROUP_ID
radosgw-admin sync group get --bucket=BUCKET_NAME --group-id=GROUP_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync group get --group-id=mygroup
[ceph: root@host01 /]# radosgw-admin sync group get --group-id=mygroupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.6. 删除同步策略组 复制链接链接已复制到粘贴板!
您可以使用 group remove 命令按组 ID 删除当前的同步策略组,或者删除特定的存储桶策略策略。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
删除当前的同步策略组或存储桶策略。要删除特定的存储桶策略,请使用
--bucket选项:语法
radosgw-admin sync group remove --bucket=BUCKET_NAME --group-id=GROUP_ID
radosgw-admin sync group remove --bucket=BUCKET_NAME --group-id=GROUP_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@host01 /]# radosgw-admin sync group remove --group-id=mygroup
[ceph: root@host01 /]# radosgw-admin sync group remove --group-id=mygroupCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.7. 创建同步流 复制链接链接已复制到粘贴板!
您可以为同步策略组或特定存储桶创建两种不同类型的流:
- 方向性同步流
- 对称同步流
group flow create 命令创建一个同步流。如果您为已具有同步流的同步策略组或存储桶发出 group flow create 命令,该命令将覆盖同步流的现有设置,并应用您指定的设置。
| 选项 | 描述 | 必填/选填 |
|---|---|---|
| --bucket | 需要配置同步策略的存储桶的名称。仅在 bucket 级别同步策略中使用。 | 选填 |
| --group-id | 同步组的 ID。 | 必填 |
| --flow-id | 流的 ID。 | 必填 |
| --flow-type | 同步策略组或特定存储桶的流类型 - 方向或对称。 | 必填 |
| --source-zone | 指定应发生同步的源区。将数据发送到同步组的区域。如果同步组的流类型为方向,则需要此项。 | 选填 |
| --dest-zone | 指定应发生同步的目标区。从同步组接收数据的区域。如果同步组的流类型为方向,则需要此项。 | 选填 |
| --zones | 同步组一部分的区域。区域提及是发送者和接收器区域。指定以 "," 分隔的区域。如果同步组的流类型是 symmetrical,则需要此项。 | 选填 |
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
创建或更新方向同步流。要为特定存储桶创建或更新同步流,请使用
--bucket选项。语法
radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONE
radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONECopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建或更新对称同步流。要为对称流类型指定多个区域,请在
--zones选项中使用逗号分隔的列表。语法
radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
radosgw-admin sync group flow create --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.8. 删除同步流和区域 复制链接链接已复制到粘贴板!
group flow remove 命令从同步策略组或存储桶中删除同步流或区域。
对于使用方向流的同步策略组或 bucket,group flow remove 命令会删除流。对于使用对称流的同步策略组或 bucket,您可以使用 group flow remove 命令从流中删除指定区域,或者移除流。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
删除方向同步流。要删除特定存储桶的方向同步流,请使用
--bucket选项。语法
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONE
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=directional --source-zone=SOURCE_ZONE --dest-zone=DESTINATION_ZONECopy to Clipboard Copied! Toggle word wrap Toggle overflow 从对称同步流中删除特定区域。要从对称流中删除多个区域,请对
--zones选项使用逗号分隔的列表。语法
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 移除对称同步流。要从存储桶中删除同步流,请使用
--bucket选项。语法
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAME
radosgw-admin sync group flow remove --bucket=BUCKET_NAME --group-id=GROUP_ID --flow-id=FLOW_ID --flow-type=symmetrical --zones=ZONE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.9. 创建或修改同步组管道 复制链接链接已复制到粘贴板!
作为存储管理员,您可以定义管道来指定哪些存储桶可以使用您配置的数据流,以及与这些数据流关联的属性。
sync group pipe create 命令允许您创建管道,它们是特定存储桶或 bucket 组或特定区域组之间的自定义同步组数据流。
这个命令使用以下选项:
| 选项 | 描述 | 必填/选填 |
|---|---|---|
| --bucket | 需要配置同步策略的存储桶的名称。仅在 bucket 级别同步策略中使用。 | 选填 |
| --group-id | 同步组的 ID | 必填 |
| --pipe-id | 管道 ID | 必填 |
| --source-zones |
将数据发送到同步组的区域。使用单引号(')作为值。使用逗号分隔多个区域。对于与数据流规则匹配的所有区域,使用通配符 | 必填 |
| --source-bucket |
将数据发送到同步组的 bucket 或 bucket。如果没有提及存储桶名称,则会将 | 选填 |
| --source-bucket-id | 源存储桶的 ID。 | 选填 |
| --dest-zones |
接收同步数据的区域或区域。使用单引号(')作为值。使用逗号分隔多个区域。对于与数据流规则匹配的所有区域,使用通配符 | 必填 |
| --dest-bucket |
接收同步数据的 bucket。如果没有提及存储桶名称,则会将 | 选填 |
| --dest-bucket-id | 目标 bucket 的 ID。 | 选填 |
| --prefix |
bucket 前缀。使用通配符 | 选填 |
| --prefix-rm | 不要使用 bucket 前缀进行过滤。 | 选填 |
| --tags-add | 键=值对的逗号分隔列表。 | 选填 |
| --tags-rm | 删除一个或多个标签的 key=value 对。 | 选填 |
| --dest-owner | 来自源的对象的目的地所有者。 | 选填 |
| --storage-class | 来自源的对象的目的地存储类。 | 选填 |
| --mode |
将 | 选填 |
| --uid | 用于用户模式的权限验证。指定发出同步操作的用户 ID。 | 选填 |
要为某些存储桶在 zonegroup 级别启用或禁用同步,请将 zonegroup 级别同步策略分别设置为 启用或禁用 状态,并使用 --source-bucket 和 --dest-bucket 创建包含存储桶名称或 bucket-id、i.e、--source-bucket-id 和 --dest-bucket-id 的每个存储桶的管道。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
创建同步组管道:
语法
radosgw-admin sync group pipe create --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1--dest-bucket-id=DESTINATION_BUCKET_ID --prefix=SOURCE_PREFIX --prefix-rm --tags-add=KEY1=VALUE1, KEY2=VALUE2, ... --tags-rm=KEY1=VALUE1, KEY2=VALUE2, ... --dest-owner=OWNER_ID --storage-class=STORAGE_CLASS --mode=USER --uid=USER_ID
radosgw-admin sync group pipe create --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1--dest-bucket-id=DESTINATION_BUCKET_ID --prefix=SOURCE_PREFIX --prefix-rm --tags-add=KEY1=VALUE1, KEY2=VALUE2, ... --tags-rm=KEY1=VALUE1, KEY2=VALUE2, ... --dest-owner=OWNER_ID --storage-class=STORAGE_CLASS --mode=USER --uid=USER_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.10. 修改或删除同步组管道 复制链接链接已复制到粘贴板!
作为存储管理员,您可以使用 sync group pipe remove 命令,通过删除某些选项来修改同步组管道。您还可以使用此命令完全删除同步组管道。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
流程
修改同步组管道选项。
语法
radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1 --dest-bucket-id=_DESTINATION_BUCKET-ID
radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID --source-zones='ZONE_NAME','ZONE_NAME2'... --source-bucket=SOURCE_BUCKET1 --source-bucket-id=SOURCE_BUCKET_ID --dest-zones='ZONE_NAME','ZONE_NAME2'... --dest-bucket=DESTINATION_BUCKET1 --dest-bucket-id=_DESTINATION_BUCKET-IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 删除同步组管道。
语法
radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_ID
radosgw-admin sync group pipe remove --bucket=BUCKET_NAME --group-id=GROUP_ID --pipe-id=PIPE_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.11. 获取同步操作的信息 复制链接链接已复制到粘贴板!
sync info 命令可让您获取有关同步策略所定义的预期同步源和目标的信息。
当您为存储桶创建同步策略时,该策略定义数据如何从该存储桶移动到不同区域的不同 bucket。创建策略也会创建一个 bucket 依赖项列表,每当该 bucket 与其他存储桶同步时,它们就可用作提示。请注意,存储桶可以引用另一个存储桶,而无需实际同步,因为同步取决于数据流是否允许同步进行。
--bucket 和 effective-zone-name 参数是可选的。如果您调用 sync info 命令但不指定任何选项,则对象网关会返回所有区域中同步策略定义的所有同步操作。
先决条件
- 正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
- 定义了组同步策略。
流程
获取有关同步操作的信息:
语法
radosgw-admin sync info --bucket=BUCKET_NAME --effective-zone-name=ZONE_NAME
radosgw-admin sync info --bucket=BUCKET_NAME --effective-zone-name=ZONE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.8.12. 使用存储桶粒度同步策略 复制链接链接已复制到粘贴板!
当存储桶或 zonegroup 的同步策略时,从 disabled 移到 enabled 状态,观察到以下行为更改:
随着在 6.1 中存储桶粒度同步策略的 GA 版本的有限范围,现在支持以下功能:
- greenfield 部署 :此发行版本只支持新的多站点部署。要设置存储桶粒度同步复制,必须至少配置一个新的 zonegroup/zone。请注意,这个版本不允许将部署的/运行 RGW 多站点复制配置迁移到新功能的 RGW 存储桶同步策略复制。
- 数据流 - 对称 :虽然可以配置单向和双向/符号链接复制,但本发行版本中仅支持对称复制流程。
-
1 到-1 存储桶复制 :目前,只支持在具有相同名称的存储桶之间进行复制。这意味着,如果站点 A 上的存储桶为
bucket1,它可以被复制到站点 B 上的bucket1。当前还不支持将bucket1复制到不同区(zone)中的bucket2。
不支持以下功能:
- 源过滤器
- Storage class
- 目标所有者转换
- 用户模式
正常场景 :
- zonegroup 级别:当同步策略被禁用后,当它被启用时会写入数据,无需额外的步骤。
bucket 级别:当 禁用 同步策略时写入的数据 在启用 策略时不会捕获。在这种情况下,可以应用以下两个临时解决方案之一:
- 向存储桶写入新数据会重新同步旧数据。
-
执行
bucket sync run命令同步所有旧数据。
当您要从同步策略切换到旧策略时,您需要首先运行 sync init 命令,后跟 radosgw-admin bucket sync run 命令来同步所有对象。
重新定义场景 :
- zonegroup 级别:当策略被禁用后发生重新分片(reshard)不会影响在以后启用它时的同步。
存储桶级别:当策略被禁用后发生重新分片,在策略被再次启用后同步的过程会卡住。此时,新对象也不会同步。在这种情况下,请遵循以下临时解决方案:
-
运行
bucket sync run命令。
-
运行
当为 zonegroup 设置为 enabled 且策略被设置为 enabled 或 allowed bucket 时,管道配置会从 zonegroup 级别而不是 bucket 级别生效。这是一个已知问题 BZ#2240719。
先决条件
- 一个正在运行的 Red Hat Ceph Storage 集群。
-
root 或
sudo访问权限。 - 已安装 Ceph 对象网关。
zonegroup 同步双向策略
使用新的同步策略引擎创建 zonegroup 同步策略。对 zonegroup 同步策略的任何更改都需要一个周期更新和提交。
在以下示例中,创建了一个组策略,并且定义了数据流,用于从一个 zonegroup 移动到另一个 zonegroup。除了此之外,zonegroups 的管道也被配置为定义可使用此数据流的存储桶。以下示例中的系统包括 3 个区域: us-east (master zone)、us-west 和 us-west-2。
流程
创建新的同步组,并将状态设置为 允许。
示例
[ceph: root@host01 /]# radosgw-admin sync group create --group-id=group1 --status=allowed
[ceph: root@host01 /]# radosgw-admin sync group create --group-id=group1 --status=allowedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在创建完全配置的 zonegroup 复制策略前,建议将 --status 设置为
allowed,以防止复制启动。为新创建的组创建一个流策略,并将 --flow-type 设置为
symmetrical来启用双向复制。示例
[ceph: root@host01 /]# radosgw-admin sync group flow create --group-id=group1 \ --flow-id=flow-mirror --flow-type=symmetrical \ --zones=us-east,us-west[ceph: root@host01 /]# radosgw-admin sync group flow create --group-id=group1 \ --flow-id=flow-mirror --flow-type=symmetrical \ --zones=us-east,us-westCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建名为
pipe的新管道。示例
[ceph: root@host01 /]# radosgw-admin sync group pipe create --group-id=group1 \ --pipe-id=pipe1 --source-zones='*' \ --source-bucket='*' --dest-zones='*' \ --dest-bucket='*'[ceph: root@host01 /]# radosgw-admin sync group pipe create --group-id=group1 \ --pipe-id=pipe1 --source-zones='*' \ --source-bucket='*' --dest-zones='*' \ --dest-bucket='*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用 * 通配符用于区,使其包含之前流策略中设置的所有区域,而 * 用于存储桶在区域中复制所有现有存储桶。
配置存储桶同步策略后,将 --status 设置为 enabled。
示例
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=enabled
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 更新并提交新周期。
示例
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意对于 zonegroup 策略,更新和提交周期是强制的。
可选:执行
sync info --bucket=bucket_name命令检查同步源以及特定存储桶的目的地。区域 us-east 和 us-west 中的所有存储桶都以双向方式复制。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以上输出中的 id 字段反映了生成该条目的管道规则。单个规则可以生成多个同步条目,如以下示例中所示。
-
可选:运行
sync info命令,以检索有关策略中定义的预期存储桶同步源和目标的信息。
bucket 同步双向策略
bucket 级别策略的数据流继承自 zonegroup 策略。bucket 级别策略不需要更改数据流和管道,因为 bucket 级别策略流和管道只是 zonegroup 策略中定义的流的子集。
- 存储 同级别策略可以启用还没有启用的管道,但在 zonegroup 策略中被禁止的除外。
- bucket 级别策略不需要周期更新。
流程
将 zonegroup 策略 --status 设置为 allowed per-bucket 复制。
示例
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=allowed
[ceph: root@host01 /]# radosgw-admin sync group modify --group-id=group1 --status=allowedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 修改 zonegroup 策略后更新周期。
示例
[ceph: root@host01 /]# radosgw-admin period update --commit
[ceph: root@host01 /]# radosgw-admin period update --commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为要同步到的存储桶创建同步组,并将 --status 设置为 enabled。
示例
[ceph: root@host01 /]# radosgw-admin sync group create --bucket=buck \ --group-id=buck-default --status=enabled[ceph: root@host01 /]# radosgw-admin sync group create --bucket=buck \ --group-id=buck-default --status=enabledCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为上一步中创建的组创建管道。
示例
[ceph: root@host01 /]# radosgw-admin sync group pipe create --bucket=buck \ --group-id=buck-default --pipe-id=pipe1 \ --source-zones='*' --dest-zones='*'[ceph: root@host01 /]# radosgw-admin sync group pipe create --bucket=buck \ --group-id=buck-default --pipe-id=pipe1 \ --source-zones='*' --dest-zones='*'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用通配符 * 为存储桶复制指定源和目标区域。
可选: 要检索有关同步策略定义的预期存储桶同步源和目标的信息,请使用 --bucket 标志运行
radosgw-admin bucket sync info命令。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选: 要检索同步策略定义的预期同步源和目标的信息,请使用 --bucket 标志运行
radosgw-admin sync info命令。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
禁用策略以及同步信息
在某些情况下,若要中断两个 bucket 之间的复制,请将 bucket 的组策略设置为 禁止。
流程
运行
sync group modify命令,将状态从 allowed 改为 forbidden,这可以禁止在 zone us-east 和 us-west 之间进行的存储桶的复制。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意不需要在周期内更新和提交,因为这是存储桶同步策略。
可选:运行
sync info 命令检查存储桶buck的同步状态。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意因为复制已被中断,所以没有源和目标目标。