Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

5.8. 多站点命令行使用

5.8.1. realm

realm 代表一个全局唯一的命名空间,它由一个或多个 zone group 组成,包含一个或多个 zone,以及包含 bucket 的区域,后者又包含对象。域允许 Ceph 对象网关在同一硬件上支持多个命名空间及其配置。

域中包含句点的概念。每个 period 代表 zone group 和 zone 配置的状态。每次您更改一个 zonegroup 或 zone zone 时,更新 period 并提交。

默认情况下,Ceph 对象网关版本 2 不创建域,以向后兼容版本 1.3 及更早的版本。但是,作为一种最佳实践,红帽建议为新集群创建域。

5.8.1.1. 创建 Realm

若要创建域,可执行 realm create 并指定 realm 名称。如果 realm 是默认值,指定 --default

[root@master-zone]# radosgw-admin realm create --rgw-realm={realm-name} [--default]

例如:

[root@master-zone]# radosgw-admin realm create --rgw-realm=movies --default

通过指定 --default,域将通过 each radosgw-admin 调用隐式调用,除非明确提供了 --rgw-realm 和 realm 名称。

5.8.1.2. 将 Realm 设置为默认值

realm 列表中的一个域应为默认域。可能只有一个默认域。如果只有一个域,但没有在创建时指定为默认域,则使其成为默认域。或者,要更改哪个域是默认域,请执行:

[root@master-zone]# radosgw-admin realm default --rgw-realm=movies
注意

当 realm 为 default 时,命令行假设 --rgw-realm=<realm-name> 作为参数。

5.8.1.3. 删除 Realm

若要删除域,可执行 realm delete 并指定 realm 名称。

[root@master-zone]# radosgw-admin realm delete --rgw-realm={realm-name}

例如:

[root@master-zone]# radosgw-admin realm delete --rgw-realm=movies

5.8.1.4. 获取域

若要获取域,可执行 realm get 并指定 realm 名称。

# radosgw-admin realm get --rgw-realm=<name>

例如:

# radosgw-admin realm get --rgw-realm=movies [> filename.json]

CLI 将回显具有 realm 属性的 JSON 对象。

{
    "id": "0a68d52e-a19c-4e8e-b012-a8f831cb3ebc",
    "name": "movies",
    "current_period": "b0c5bbef-4337-4edd-8184-5aeab2ec413b",
    "epoch": 1
}

使用 > 和输出文件名将 JSON 对象输出到文件中。

5.8.1.5. 设置 Realm

若要设置 realm,可执行 realm 设置,使用输入文件名指定 realm 名称和 --infile=

[root@master-zone]# radosgw-admin realm set --rgw-realm=<name> --infile=<infilename>

例如:

[root@master-zone]# radosgw-admin realm set --rgw-realm=movies --infile=filename.json

5.8.1.6. 列出 Realms

若要列出 realm,可执行 realm list

# radosgw-admin realm list

5.8.1.7. 列出 Realm Periods

若要列出 realm period,可执行 realm list-periods

# radosgw-admin realm list-periods

5.8.1.8. 拉取域

若要将含有 master zone group 和 master zone 的节点的域拉取到包含 second zone group 或 zone 的节点,请在将接收 realm 配置的节点上执行 realm pull

# radosgw-admin realm pull --url={url-to-master-zone-gateway} --access-key={access-key} --secret={secret}

5.8.1.9. 重命名域

realm 不是该 period 的一部分。因此,仅在本地应用重命名域,且不会通过 realm pull 来拉取。重命名具有多个区域的域时,在每个区域上运行 命令。要重命名域,请执行以下操作:

# radosgw-admin realm rename --rgw-realm=<current-name> --realm-new-name=<new-realm-name>
注意

不要使用 realm set 来更改 name 参数。这仅更改内部名称。指定 --rgw-realm 仍然会使用旧的域名。