高可用共享文件系统 API¶
在主动/被动模式下使共享文件系统 (manila) API 服务具有高可用性涉及
配置共享文件系统 API 服务¶
编辑 /etc/manila/manila.conf 文件
1# We have to use MySQL connection to store data:
2sql_connection = mysql+pymysql://manila:password@10.0.0.11/manila?charset=utf8
3
4# We bind Shared File Systems API to the VIP:
5osapi_volume_listen = 10.0.0.11
6
7# We send notifications to High Available RabbitMQ:
8notifier_strategy = rabbit
9rabbit_host = 10.0.0.11
配置 OpenStack 服务以使用共享文件系统 API¶
您的 OpenStack 服务现在必须将其共享文件系统 API 配置指向高可用的虚拟集群 IP 地址,而不是像非 HA 环境那样指向共享文件系统 API 服务器的物理 IP 地址。
您必须使用此 IP 创建共享文件系统 API 端点。
如果您同时使用私有和公共 IP 地址,您应该创建两个虚拟 IP 并像这样定义您的端点
$ openstack endpoint create --region RegionOne \
sharev2 public 'http://PUBLIC_VIP:8786/v2/%(tenant_id)s'
$ openstack endpoint create --region RegionOne \
sharev2 internal 'http://10.0.0.11:8786/v2/%(tenant_id)s'
$ openstack endpoint create --region RegionOne \
sharev2 admin 'http://10.0.0.11:8786/v2/%(tenant_id)s'
将共享文件系统 API 资源添加到 Pacemaker¶
将资源代理下载到您的系统
# cd /usr/lib/ocf/resource.d/openstack # wget https://opendev.org/x/openstack-resource-agents/raw/branch/2025.2/ocf/manila-api # chmod a+rx *
添加共享文件系统 API 资源的 Pacemaker 配置。使用以下命令连接到 Pacemaker 集群
# crm configure
注意
crm configure 支持批量输入。将下一步中的行复制并粘贴到您的实时 Pacemaker 配置中,然后根据需要进行更改。
例如,您可以从 crm configure 菜单中输入
edit p_ip_manila-api并编辑资源以匹配您首选的虚拟 IP 地址。添加以下集群资源
primitive p_manila-api ocf:openstack:manila-api \ params config="/etc/manila/manila.conf" \ os_password="secretsecret" \ os_username="admin" \ os_tenant_name="admin" \ keystone_get_token_url="http://10.0.0.11:5000/v2.0/tokens" \ op monitor interval="30s" timeout="30s"
此配置创建了
p_manila-api,一个用于管理共享文件系统 API 服务的资源。通过从 crm configure 菜单中输入以下命令来提交您的配置更改
# commit
Pacemaker 现在将在您的节点之一上启动共享文件系统 API 服务及其依赖资源。