第 3 章 新功能
本节列出了本 Red Hat Ceph Storage 版本中引入的所有主要更新、增强功能和新功能。
3.1. Cephadm 实用程序
用户现在可以在 idmap.conf
中配置各种 NFS 选项
有了这个增强,在 idmap.conf
中引入了配置 NFS 选项的功能,如 "Domain", "Nobody-User", "Nobody-Group" 和 like。
现在,通过 NFS 的新 haproxy 协议模式可以进行客户端 IP 限制
在以前的版本中,客户端 IP 限制无法在通过 NFS 使用 haproxy 的设置中工作。
在这个版本中,Cephadm 部署 NFS 支持 haproxy 协议。如果用户将 enable_haproxy_protocol: True
添加到其 ingress 和 haproxy 规格,或者将 --ingress-mode haproxy-protocol
传递给 ceph nfs cluster create
命令,NFS 守护进程将使用 haproxy 协议。
用户现在必须输入一个用户名和密码才能访问 Grafana API URL
在以前的版本中,可以连接到 Grafana API URL 的任何人都可以访问它,而无需任何凭证。
在这个版本中,Cephadm 部署 Grafana 使用用户名和密码设置,以便用户访问 Grafana API URL。
现在,可以将带有 NFS 后端的 Ingress 服务设置为只使用 keepalived
为 NFS 守护进程创建一个虚拟 IP (VIP)来绑定到,而无需涉及 HAProxy 层
在这个版本中,NFS 后端的 ingress 服务可以设置为只使用 keepalived
为 NFS 守护进程创建一个虚拟 IP,以便 NFS 守护进程绑定到,而无需涉及 HAProxy 层。当 NFS 守护进程被移动且客户端不需要使用不同的 IP 来进行连接时,这非常有用。
Cephadm 部署 keepalived
以设置 VIP,然后让 NFS 守护进程绑定到该 VIP。这也可以通过 ceph nfs cluster create
命令使用 NFS 模块来设置,使用标志 --ingress --ingress-mode keepalive-only --virtual-ip <VIP>
。
规格文件类似如下:
service_type: ingress service_id: nfs.nfsganesha service_name: ingress.nfs.nfsganesha placement: count: 1 label: foo spec: backend_service: nfs.nfsganesha frontend_port: 12049 monitor_port: 9049 virtual_ip: 10.8.128.234/24 virtual_interface_networks: 10.8.128.0/24 keepalive_only: true
这包括 keepalive_ony: true
设置。
NFS 规格类似如下:
networks: - 10.8.128.0/21 service_type: nfs service_id: nfsganesha placement: count: 1 label: foo spec: virtual_ip: 10.8.128.234 port: 2049
这包括应与入口规格中的 VIP 匹配的 virtual_ip
字段。
HAProxy 守护进程仅在附带 keepalived 创建的 VIP 上绑定到其前端端口
在这个版本中,HAProxy 守护进程只会在附带的 keepalived 创建的 VIP 上绑定到其前端端口,而不是在 0.0.0.0 上绑定。部署的 cephadm HAProxy 会将其前端端口绑定到 VIP,允许 NFS 守护进程等其他服务绑定到同一节点上其他 IP 上的端口 2049。
ingress 服务的 HAProxy 健康检查间隔现在可以自定义
在以前的版本中,在某些情况下,第二个默认健康检查间隔太频繁,并导致不必要的流量。
在这个版本中,ingress 服务的 HAProxy 健康检查间隔可自定义。通过应用包含 health_check_interval
字段的 ingress 规格,服务的每个 HAProxy 守护进程生成的 HAProxy 配置将包括健康检查间隔的值。
Ingress 规格文件:
service_type: ingress service_id: rgw.my-rgw placement: hosts: ['ceph-mobisht-7-1-07lum9-node2', 'ceph-mobisht-7-1-07lum9-node3'] spec: backend_service: rgw.my-rgw virtual_ip: 10.0.208.0/22 frontend_port: 8000 monitor_port: 1967 health_check_interval: 3m
间隔的有效单位为: us
microseconds ms
: milliseconds s
: seconds m
: minutes h
: hours d
: days
Grafana 现在绑定到主机上的特定网络中的 IP,而不是始终绑定到 0.0.0.0
在这个版本中,使用 Grafana 规格文件,其中包含带有 Grafana 绑定到 IP 的网络部分的 Grafana 规格文件,以及规格的 "spec" 部分的 only_bind_port_on_networks: true
,Cephadm 将 Grafana 守护进程配置为绑定到该网络中的 IP,而不是 0.0.0.0。这可让用户使用 Grafana 用于另一个服务但主机上的不同 IP 端口。如果它是一个规格更新,它并不会导致它们被移动,则可以运行 ceph orch redeploy grafana
来获取设置的更改。
Grafana 规格文件:
service_type: grafana service_name: grafana placement: count: 1 networks: 192.168.122.0/24 spec: anonymous_access: true protocol: https only_bind_port_on_networks: true
现在,在 cephadm-ansible
模块中使用所有 bootstrap CLI 参数
在以前的版本中,只有 bootstrap CLI 参数的子集可用,它被限制模块使用。
在这个版本中,所有 bootstrap CLI 参数都可用于 cephadm-ansible
模块。
Prometheus scrape 配置添加到 nfs-ganesha exporter
在这个版本中,Prometheus 提取配置添加到 nfs-ganesha 导出器中。这样做的目的是将 nfs-ganesha prometheus exporter 公开的指标提取到 Ceph 中运行的 Prometheus 实例中,这会进一步被 Grafana Dashboards 使用。
Prometheus 现在绑定到主机上的特定网络中的 IP,而不是始终绑定到 0.0.0.0
在这个版本中,使用包含 Prometheus 绑定到 IP 的网络的 Prometheus 规格文件,以及规范的 "spec" 部分的 only_bind_port_on_networks: true
,Cephadm 将 Prometheus 守护进程配置为绑定到该网络内的 IP,而不是 0.0.0.0。这可让用户使用 Prometheus 用于另一个服务但主机上的不同 IP 端口。如果是一个规格更新,它不会导致它们被移动,则可以运行 ceph orch redeploy prometheus
来获取设置的更改。
Prometheus 规格文件:
service_type: prometheus service_name: prometheus placement: count: 1 networks: - 10.0.208.0/22 spec: only_bind_port_on_networks: true
用户现在可以挂载快照(exports 在 .snap 目录中)
有了这个增强,用户可以挂载快照(位于 .snap
目录中)查看 RO 模式。使用 NFS MGR 模块创建的 NFS 导出现在包含 cmount_path
设置(这不能配置),并且应保留为"/"),允许挂载快照。
zonegroup 主机名现在可以使用 ceph rgw realm bootstrap…
命令中提供的规格文件来设置
在这个版本中,在继续到 Ceph 对象网关多站点设置的自动化中,用户现在可以通过 bootstrap 命令 ceph rgw realm bootstrap…
传递的初始规格文件来设置 zonegroup 主机名。
例如,
zonegroup_hostnames: - host1 - host2
如果用户将上述部分添加到 realm bootstrap 命令传递的 Ceph 对象网关规范文件的"特定"部分中,Cephadm 将在 Ceph 对象网关模块完成 realm/zonegroup/zone 的规范中定义的 zonegroup 中自动将这些主机名添加到规范中定义的 zonegroup 中。请注意,这可能需要几分钟时间来看 Cephadm 模块当前完成的其他活动。