第 5 章 多站点配置和管理


作为存储管理员,您可以为各种用例配置和管理多个 Ceph 对象网关。您可以了解在灾难恢复和故障转移事件期间要做什么。另外,您可以在多站点 Ceph 对象网关环境中了解更多有关 realms、zone 和 syncing 策略的信息。

单一区配置通常由一个 zone group 包含一个 zone,以及一个或多个 ceph-radosgw 实例,您可以在实例之间平衡网关客户端请求。在单一区域配置中,通常多个网关实例指向单个 Ceph 存储集群。但是,红帽支持 Ceph 对象网关的几个多站点配置选项:

  • 多区: 更高级的配置由一个 zone group 和多个 zone 组成,每个 zone 包含一个或多个 ceph-radosgw 实例。每个区域都由自己的 Ceph 存储集群支持。zone group 中的多个区域为 zone group 提供灾难恢复,当其中一个区遇到重大故障时。每个区域都处于活跃状态,并可能会接收写入操作。除了灾难恢复外,多个活动区域也可能充当内容交付网络的基础。
  • multi-zone-group: Formerly called 'regions',Ceph 对象网关也可以支持多个 zone group,每个 zone group 具有多个 zone。存储在同一域中的 zone group 的对象共享全局命名空间,确保 zone group 和 zone 之间的唯一对象 ID。
  • 多个 Realms: Ceph 对象网关支持域的概念,可以是单个 zone group 或多个 zone group,以及域的全局唯一命名空间。多个域提供了支持大量配置和命名空间的功能。
网关域

先决条件

  • 一个正常运行的 Red Hat Ceph Storage 集群。
  • 部署 Ceph 对象网关软件。

5.1. 要求和假设

多站点配置至少需要两个 Ceph 存储集群,以及至少两个 Ceph 对象网关实例,每个 Ceph 存储集群一个。

本指南假定在地理上独立位置至少有两个 Ceph 存储集群,但配置可以在同一物理站点上工作。本指南还假设四个 Ceph 对象网关服务器分别名为 rgw1rgw 2、rgw3rgw4

多站点配置需要一个 master zone group 和 master zone。此外,每个 zone group 需要 master zone。zone group 可能具有一个或多个次要或非 master 区域。

重要

在为多站点规划网络注意事项时,务必要了解多站点同步网络上观察的关系带宽和延迟,以及客户端与与次要站点同步对象的当前同步状态直接关联率。Red Hat Ceph Storage 多站点集群之间的网络链接必须能够处理到主集群,以便在次要站点上保持有效的恢复时间。多站点同步是异步的,其中一个限制是同步网关可在链接间处理数据的速率。对于每个客户端网关,每个 8 TB 或累积接收数据,例如,要查看网络互连速度的示例可以是 1GbE 或数据中心间连接。因此,如果您复制到两个其他站点,每天 16 TB,则需要 6 GbE 专用带宽用于多站点复制。

红帽还推荐使用私有以太网或 Dense wavelength-division 多路复位(DWDM)作为互联网的 VPN 并不理想,因为产生的额外开销并不是一个理想的选择。

重要

realm 的 master zone group 中的 master zone 负责存储 realm 元数据的主副本,包括用户、配额和 bucket (由 radosgw-admin CLI 创建)。此元数据会自动同步到 second zone 和 second zone group。通过 radosgw-admin CLI 执行的元数据操作必须在 master zone group 的 master zone 中的主机上执行,以确保它们与 second zone group 和 zone 同步。目前,可以对二级域和域组执行元数据操作,但不建议这么做,因为它们不会被同步,从而导致元数据碎片。

注意

对于多站点中的新 Ceph 对象网关部署,需要大约 20 分钟时间才能将元数据操作同步到次要站点。

在以下示例中,rgw1 主机将充当 master zone group 的 master zone; rgw2 主机将充当 master zone group 的 second zone; rgw3 主机将充当 second zone group 的 master zone; rgw4 主机将充当 second zone group 的 second zone。

重要

红帽建议使用负载均衡器和三个 Ceph 对象网关守护进程与多站点同步端点。对于多站点配置中的非同步 Ceph 对象网关节点,这些节点专用于通过负载均衡器的客户端 I/O 操作,请运行 ceph config set client.rgw.CLIENT_NODE rgw_run_sync_thread false 命令,以防止它们执行同步操作,然后重启 Ceph 对象网关。

以下是 HAProxy 用于同步网关的典型配置文件:

示例

[root@host01 ~]# cat ./haproxy.cfg

global

	log     	127.0.0.1 local2

	chroot  	/var/lib/haproxy
	pidfile 	/var/run/haproxy.pid
	maxconn 	7000
	user    	haproxy
	group   	haproxy
	daemon

	stats socket /var/lib/haproxy/stats

defaults

	mode                	http
	log                 	global
	option              	httplog
	option              	dontlognull
	option http-server-close
	option forwardfor   	except 127.0.0.0/8
	option              	redispatch
	retries             	3
	timeout http-request	10s
	timeout queue       	1m
	timeout connect     	10s
	timeout client      	30s
	timeout server      	30s
	timeout http-keep-alive 10s
	timeout check       	10s
        timeout client-fin 1s
        timeout server-fin 1s
	maxconn             	6000


listen  stats
	bind	0.0.0.0:1936
    	mode        	http
    	log         	global

    	maxconn 256


    	clitimeout  	10m
    	srvtimeout  	10m
    	contimeout  	10m
    	timeout queue   10m

# JTH start
    	stats enable
    	stats hide-version
    	stats refresh 30s
    	stats show-node
##    	stats auth admin:password
    	stats uri  /haproxy?stats
       stats admin if TRUE


frontend  main
	bind	 *:5000
	acl url_static   	path_beg   	-i /static /images /javascript /stylesheets
	acl url_static   	path_end   	-i .jpg .gif .png .css .js

	use_backend static      	if url_static
	default_backend         	app
        maxconn 6000

backend static
	balance 	roundrobin
    fullconn 6000
    server  app8 host01:8080 check maxconn 2000
    server  app9 host02:8080 check maxconn 2000
    server  app10 host03:8080 check maxconn 2000


backend app
	balance 	roundrobin
    fullconn 6000
    server  app8 host01:8080 check maxconn 2000
    server  app9 host02:8080 check maxconn 2000
    server  app10 host03:8080 check maxconn 2000

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.