6.2. 使用命令行界面配置单向镜像
此流程配置池从主存储集群到辅助存储集群的单向复制。
使用单向复制时,您可以镜像到多个次要存储集群。
本节中的示例通过将主镜像作为 site-a 引用主存储集群和您将要复制镜像的辅助存储集群作为 site-b 来区分两个存储集群。这些示例中使用的池名称称为 data。
先决条件
- 至少两个健康状态并运行 Red Hat Ceph Storage 集群。
- 对每个存储集群的 Ceph 客户端节点的根级别访问权限。
- 具有管理员级别功能的 CephX 用户。
流程
在两个站点上登录到
cephadmshell:示例
cephadm shell cephadm shell
[root@site-a ~]# cephadm shell [root@site-b ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在
site-b上,调度在二级集群中部署 mirror 守护进程:语法
ceph orch apply rbd-mirror --placement=NODENAME
ceph orch apply rbd-mirror --placement=NODENAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@site-b /]# ceph orch apply rbd-mirror --placement=host04
[ceph: root@site-b /]# ceph orch apply rbd-mirror --placement=host04Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意nodename是要在二级集群中配置镜像的主机。在
site-a上的镜像上启用日志功能。对于新镜像,使用
--image-feature选项:语法
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE FEATURE
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE FEATURECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@site-a /]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
[ceph: root@site-a /]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journalingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果已经启用了
exclusive-lock,则使用journaling作为唯一参数,否则会返回以下错误:one or more requested features are already enabled (22) Invalid argument
one or more requested features are already enabled (22) Invalid argumentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于现有镜像,请使用
rbd feature enable命令:语法
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE, FEATURE
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE, FEATURECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@site-a /]# rbd feature enable data/image1 exclusive-lock, journaling
[ceph: root@site-a /]# rbd feature enable data/image1 exclusive-lock, journalingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要默认在所有新镜像中启用日志,请使用
ceph config set命令设置配置参数:示例
[ceph: root@site-a /]# ceph config set global rbd_default_features 125 [ceph: root@site-a /]# ceph config show mon.host01 rbd_default_features
[ceph: root@site-a /]# ceph config set global rbd_default_features 125 [ceph: root@site-a /]# ceph config show mon.host01 rbd_default_featuresCopy to Clipboard Copied! Toggle word wrap Toggle overflow
在两个存储集群中选择 mirroring 模式(池模式或镜像模式)。
启用 池模式 :
语法
rbd mirror pool enable POOL_NAME MODE
rbd mirror pool enable POOL_NAME MODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@site-a /]# rbd mirror pool enable data pool [ceph: root@site-b /]# rbd mirror pool enable data pool
[ceph: root@site-a /]# rbd mirror pool enable data pool [ceph: root@site-b /]# rbd mirror pool enable data poolCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这个示例启用对名为
data的完整池进行镜像。启用 镜像模式 :
语法
rbd mirror pool enable POOL_NAME MODE
rbd mirror pool enable POOL_NAME MODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@site-a /]# rbd mirror pool enable data image [ceph: root@site-b /]# rbd mirror pool enable data image
[ceph: root@site-a /]# rbd mirror pool enable data image [ceph: root@site-b /]# rbd mirror pool enable data imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这个示例在名为
data的池上启用镜像模式镜像。注意要在池中的特定镜像上启用镜像功能,请参阅 Red Hat Ceph Storage Block Device Guide 中的 Enabling image mirroring 部分以了解更多详细信息。
验证两个站点都已成功启用了镜像:
语法
rbd mirror pool info POOL_NAME
rbd mirror pool info POOL_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 Ceph 客户端节点上,引导存储集群对等点。
创建 Ceph 用户帐户,并将存储集群对等注册到池:
语法
rbd mirror pool peer bootstrap create --site-name PRIMARY_LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
rbd mirror pool peer bootstrap create --site-name PRIMARY_LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKENCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@rbd-client-site-a /]# rbd mirror pool peer bootstrap create --site-name site-a data > /root/bootstrap_token_site-a
[ceph: root@rbd-client-site-a /]# rbd mirror pool peer bootstrap create --site-name site-a data > /root/bootstrap_token_site-aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意这个示例 bootstrap 命令创建
client.rbd-mirror.site-a和client.rbd-mirror-peerCeph 用户。-
将 bootstrap 令牌文件复制到
site-b存储集群。 在
site-b存储集群中导入 bootstrap 令牌:语法
rbd mirror pool peer bootstrap import --site-name SECONDARY_LOCAL_SITE_NAME --direction rx-only POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
rbd mirror pool peer bootstrap import --site-name SECONDARY_LOCAL_SITE_NAME --direction rx-only POOL_NAME PATH_TO_BOOTSTRAP_TOKENCopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
[ceph: root@rbd-client-site-b /]# rbd mirror pool peer bootstrap import --site-name site-b --direction rx-only data /root/bootstrap_token_site-a
[ceph: root@rbd-client-site-b /]# rbd mirror pool peer bootstrap import --site-name site-b --direction rx-only data /root/bootstrap_token_site-aCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意对于单向 RBD 镜像功能,您必须使用
--direction rx-only参数,因为在引导对等时双向镜像是默认设置。
要验证镜像状态,请从主站点和次要站点的 Ceph monitor 节点运行以下命令:
语法
rbd mirror image status POOL_NAME/IMAGE_NAME
rbd mirror image status POOL_NAME/IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在这里,
up表示rbd-mirror守护进程正在运行,stopped意味着此镜像不是从另一个存储集群复制的目标。这是因为镜像是这个存储集群的主要部分。示例
[ceph: root@mon-site-b /]# rbd mirror image status data/image1 image1: global_id: c13d8065-b33d-4cb5-b35f-127a02768e7f
[ceph: root@mon-site-b /]# rbd mirror image status data/image1 image1: global_id: c13d8065-b33d-4cb5-b35f-127a02768e7fCopy to Clipboard Copied! Toggle word wrap Toggle overflow