第 3 章 新功能
本节列出了本 Red Hat Ceph Storage 版本中引入的所有主要更新、增强功能和新功能。
这个版本添加的主要功能是:
容器化集群
Red Hat Ceph Storage 5 仅支持容器化守护进程。它不支持非容器化存储集群。如果您要将非容器化存储集群从 Red Hat Ceph Storage 4 升级到 Red Hat Ceph Storage 5,升级过程包括转换为容器化部署。
如需更多信息,请参阅 Red Hat Ceph Storage 安装指南中的将 Red Hat Ceph Storage 集群从 RHCS 4 升级到 RHCS 5 部分。
Cephadm
Cephadm 是一款全新的容器化部署工具,可通过从管理器守护进程连接到主机来部署和管理 Red Hat Ceph Storage 5 集群。
cephadm
实用程序取代了ceph-ansible
用于 Red Hat Ceph Storage 部署。Cephadm 的目标是为运行 Red Hat Ceph Storage 提供功能全面、功能强大和安装良好的管理层。cephadm
命令管理 Red Hat Ceph Storage 集群的完整生命周期。cephadm
命令可以执行以下操作:- 引导新的 Ceph 存储集群。
- 启动与 Ceph 命令行界面 (CLI) 搭配使用的容器化 shell。
有助于调试容器化守护进程.
cephadm
命令使用ssh
与存储集群中的节点进行通信,并添加、删除或更新 Ceph 守护进程容器。这样,您无需使用外部工具即可添加、删除或更新 Red Hat Ceph Storage 容器。cephadm
命令有两个主要组件:-
cephadm
shell 在容器内启动bash
shell。这可让您运行存储集群安装和设置任务,并在容器中运行ceph
命令。 cephadm
编配器命令允许您调配 Ceph 守护进程和服务,并扩展存储集群。如需更多信息,请参见 Red Hat Ceph Storage 安装指南。
管理 API
管理 API 创建的管理脚本适用于 Red Hat Ceph Storage 5,并在版本生命周期中保持不变。不兼容的 API 版本控制只会在发生在不同的主发行版本中。
如需更多信息,请参阅 Red Hat Ceph Storage 开发人员指南。
断开连接的 Red Hat Ceph Storage 安装
Red Hat Ceph Storage 5 支持在专用网络上断开连接的安装和引导存储集群。断开连接的安装使用自定义镜像和配置文件以及本地主机,而不是从网络下载文件。
您可以安装从可以访问红帽 registry 的代理主机下载的容器镜像,或将容器镜像复制到本地 registry。bootstrap 过程需要一个规格文件,用于标识要按名称和 IP 地址添加的主机。启动初始监控主机后,您可以使用 Ceph 编配器命令来扩展和配置存储集群。
如需了解更多详细信息,请参见 Red Hat Ceph Storage 安装指南。
Ceph 文件系统异地复制
从 Red Hat Ceph Storage 5 版本开始,您可以在不同的地理位置或不同站点之间复制 Ceph 文件系统 (CephFS)。新的
cephfs-mirror
守护进程执行快照异步复制到远程 CephFS。如需了解更多详细信息,请参阅 Red Hat Ceph Storage 文件系统指南中的 Ceph 文件系统镜像部分。
新的 Ceph 文件系统客户端性能工具
自 Red Hat Ceph Storage 5 发行版起,Ceph 文件系统 (CephFS) 提供了类似
top
的实用程序,可以实时在 Ceph 文件系统上显示指标。cephfs-top
实用程序是一个基于curses
的 Python 脚本,它使用 Ceph Managerstats
模块来获取和显示客户端性能指标。如需了解更多详细信息,请参阅 Red Hat Ceph Storage 文件系统指南中的使用
cephfs-top
实用程序 一节。使用 Red Hat Ceph Storage 仪表板监控 Ceph 对象网关多站点
Red Hat Ceph Storage 仪表板现在可用于监控 Ceph 对象网关多站点配置。
在使用
cephadm
实用程序设置了多区后,一个区域的存储桶对其它区和其他站点可见。您还可以在仪表板上创建、编辑和删除存储桶。如需了解更多详细信息,请参阅 Red Hat Ceph Storage 仪表板指南中的在 Ceph 仪表板中管理多站点对象配置的存储桶章节。
改进了 BlueStore 空间使用率
Ceph 对象网关和 Ceph 文件系统 (CephFS) 将小对象和文件作为单独的对象存储在 RADOS 中。在这个版本中,BluStore 的
min_alloc_size
的 SSD 和 HDD 的默认值为 4 KB。这可以更好地利用空间,且不会影响性能。如需了解更多详细信息,请参见 Red Hat Ceph Storage 管理指南中的 OSD BlueStore 一章。
3.1. Cephadm 实用程序
cephadm
支持在同一主机上存在多个守护进程
借助此版本,可以在同一主机上部署多个守护进程,如 Ceph 对象网关和 Ceph 元数据服务器(MDS),从而提供额外的性能优势。
示例
service_type: rgw placement: label: rgw count-per-host: 2
对于单节点部署,在升级时,cephadm
至少需要运行两个 Ceph Manager 守护进程。对于升级以外的情况,也强烈建议这样做,但在没有这样做的情况下,存储集群也可以正常工作。
现在支持使用 Cephadm 配置 NFS-RGW
在 Red Hat Ceph Storage 5.0 配置中,使用 NFS-RGW 需要将仪表板用作临时解决方案,且建议在 Red Hat Ceph Storage 5.1 前延迟升级。
在这个版本中,支持 NFS-RGW 配置,这个配置的用户就可以升级其存储集群,并可以正常工作。
用户现在可以使用自定义监控堆栈镜像引导其存储集群
在以前的版本中,用户在引导集群后手动调整用于其监控堆栈守护进程的镜像
在这个版本中,您可以通过传递配置文件格式,在 bootstrap 期间为监控堆栈守护进程指定自定义镜像,如下所示:
语法
[mgr] mgr/cephadm/container_image_grafana = GRAFANA_IMAGE_NAME mgr/cephadm/container_image_alertmanager = ALERTMANAGER_IMAGE_NAME mgr/cephadm/container_image_prometheus = PROMETHEUS_IMAGE_NAME mgr/cephadm/container_image_node_exporter = NODE_EXPORTER_IMAGE_NAME
您可以在命令中使用 --config CONFIGURATION_FILE_NAME
选项来运行 bootstrap。如果您有其他配置选项,您可以在引导存储集群前在配置文件中添加上面的行。
cephadm
启用 osd_memory_target
的自动调整
在这个版本中,cephadm
会默认启用 osd_memory_target
配置参数的自动化调整。
用户现在可以通过服务为守护进程指定 CPU 限值
在这个版本中,您可以通过 extra_container_args 字段在服务规格文件中添加 CPU 限制,为任何给定服务中的所有守护进程自定义 CPU 限值。
示例
service_type: mon service_name: mon placement: hosts: - host01 - host02 - host03 extra_container_args: - "--cpus=2" service_type: osd service_id: osd_example placement: hosts: - host01 extra_container_args: - "--cpus=2" spec: data_devices: paths: - /dev/sdb
cephadm
现在支持用于 Ceph 对象网关部署的 IPv6 网络
在这个版本中,cephadm
支持为 Ceph 对象网关规格指定 IPv6 网络。用于部署 Ceph 对象网关的服务配置文件的示例如下:
示例
service_type: rgw service_id: rgw placement: count: 3 networks: - fd00:fd00:3000::/64
ceph nfs export create rgw
命令现在支持导出 Ceph 对象网关用户
在以前的版本中,ceph nfs export create rgw
命令只会在存储桶级别上导出 Ceph 对象网关。
在这个版本中,命令在用户和存储桶级别上创建 Ceph 对象网关导出。
语法
ceph nfs export create rgw --cluster-id CLUSTER_ID --pseudo-path PSEUDO_PATH --user-id USER_ID [--readonly] [--client_addr VALUE...] [--squash VALUE]
示例
[ceph: root@host01 /]# ceph nfs export create rgw --cluster-id mynfs --pseudo-path /bucketdata --user-id myuser --client_addr 192.168.10.0/24