第 5 章 多站点配置和管理


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

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

  • 多区: 更高级的配置由一个 zone group 和多个 zone 组成,每个 zone 包含一个或多个 ceph-radosgw 实例。每个区域由其自己的 Ceph Storage 集群支持。zone group 中的多个区为 zone group 提供灾难恢复,应该其中一个区遇到显著故障。每个区域都是活跃的,可能会接收写操作。除了灾难恢复外,多个活跃区域也可以充当内容交付网络的基础。
  • multi-zone-group: 表单被称为"区域",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 对象网关服务器分别名为 rgw1、 rgw2、 rgw3rgw4

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

重要

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

红帽还推荐使用私有以太网或 Dense wavelength-division 多路复组多路(DWDM)作为 VPN,因为出现额外的开销。

重要

域 master zone group 中的 master zone 负责存储域元数据的主副本,包括用户、配额和 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 组的 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 同步网关的典型配置文件:

Example

[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.