如何在OpenStack中创建关联和反关联策略

在组织中 OpenStack的 由于其用途广泛,因此应用程序团队和数据库团队可以提出必须在同一位置启动应用程序实例和数据库实例的要求。 计算节点 (管理程序)或其他计算节点。

OpenStack VMs关联性-反关联性策略

因此,对OpenStack的这一要求是 服务器组相容性反亲和力 政策。服务器组用于控制相似性和反相似性规则,以调度OpenStack实例。

当您尝试使用相似性服务器组配置虚拟机时,所有虚拟机均在同一计算节点上启动。在为虚拟机配置了蚂蚁亲和力服务器组后,所有虚拟机都将在不同的计算节点上启动。本文介绍如何使用Affinity和Anti-Affinity规则创建OpenStack服务器组。

首先,检查OpenStack安装程序是否支持相似性策略和反相似性策略,然后从控制器节点执行以下grep命令。

# grep -i "scheduler_default_filters" /etc/nova/nova.conf

输出如下:

Affinity-AntiAffinity-Filter-Nova-Conf-OpenStack

您可以看到相似性过滤器和Ant相似性过滤器已启用,但是如果未启用它们, /etc/nova/nova.conf “”下的控制器节点文件scheduler_default_filters“参数。

# vi /etc/nova/nova.conf
………………
scheduler_default_filters=xx,xxx,xxx,xxxxx,xxxx,xxx,xxx,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,xx,xxx,xxxx,xx
………………

保存文件并退出

要使以上更改生效,请重新启动以下服务:

# systemctl restart openstack-nova-scheduler
# systemctl restart openstack-nova-conductor

使用相似性和反相似性策略创建OpenStack服务器组

具有相似性策略的服务器组

要为相似性策略创建名为“ app”的服务器组,请从控制器节点执行以下openstack命令:

语法:

#Openstack服务器组创建–策略关联

#Nova服务器组创建 相容性

注意事项: 在开始运行openstack命令之前,请检查项目凭证文件的源。就我而言,项目凭证文件是“的openrc

范例:

# source openrc
# openstack server group create --policy affinity app

具有反关联性策略的服务器组

要使用反相似性策略创建服务器组,请从控制器节点执行以下openstack命令。假定服务器组名称为“数据库”

语法:

#Openstack服务器组创建–策略反关联

#Nova服务器组创建 反亲和力

范例:

# source openrc
# openstack server group create --policy anti-affinity database

列出服务器组ID和策略

执行nova命令或Openstack命令以获取服务器组ID和策略

# nova server-group-list | grep -Ei "Policies|database"
Or
# openstack server group list --long | grep -Ei "Policies|app|database"

输出如下:

服务器组策略-OpenStack

使用相似性策略启动虚拟机(VM)

使用相似性策略启动四个VM。OpenStack服务器创建指挥部

语法:

#Openstack服务器创建–图像 -味道 –安全组 –Nic net-id = –提示组= –最大

范例:

# openstack server create --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="a9847c7f-b7c2-4751-9c9a-03b117e704ff" --max 4 affinity-test

上面命令的输出,

OpenStack服务器创建提示选项

检查虚拟机是否在同一计算节点上启动,并运行以下命令

# openstack server list --long -c Name -c Status -c Host -c "Power State" | grep -i affinity-test

Affinity-VMs-状态-OpenStack

这确认相似性策略正常运行,因为所有VM均在同一计算节点上启动。

让我们测试一下反亲和政策

使用反关联性策略启动虚拟机(VM)

对于反关联性策略,请启动4个VM。必须使用上面的“ openstack server create”命令替换反相似性服务器组的ID。在此示例中,使用了数据库服务器组ID。

运行以下openstack命令以使用反关联性策略在不同的计算上启动四个VM:

# openstack server create --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="498fd41b-8a8a-497a-afd8-bc361da2d74e" --max 4 anti-affinity-test

输出量

Openstack服务器创建反亲和提示选项

使用以下openstack命令检查VM是否在其他计算节点上启动

# openstack server list --long -c Name -c Status -c Host -c "Power State" | grep -i anti-affinity-test

Anti-Affinity-VMs-Status-OpenStack

上面的输出显示反亲和策略也正常运行。

注意事项: 服务器组的默认配额是每个租户10个。这意味着一个服务器组中最多可以启动10个VM。

使用以下命令查看特定租户的服务器组配额,并替换适当的租户ID以进行设置

# openstack quota show f6852d73eaee497a8a640757fe02b785 | grep -i server_group
| server_group_members | 10      |
| server_groups        | 10      |
#

要更新服务器组配额,请运行以下命令

# nova quota-update --server-group-members 15 f6852d73eaee497a8a640757fe02b785
# nova quota-update --server-groups 15  f6852d73eaee497a8a640757fe02b785

然后重新运行openstack quota命令以检查服务器组配额

# openstack quota show f6852d73eaee497a8a640757fe02b785 | grep -i server_group
| server_group_members | 15     |
| server_groups        | 15     |
#

租户服务器组配额已成功更新。这是本文的结尾。请他与技术朋友分享。