Network plug-ins¶
共享文件系统服务架构定义了网络资源调配的抽象层,并允许管理员选择不同的选项来为他们的项目网络存储分配网络资源。 存在一组网络插件,它们提供了与 OpenStack 可用网络服务集成的各种方法。
Manila 中的网络插件是什么?¶
网络插件是一个 Python 类,它使用特定的设施(例如 Neutron 网络)来为 manila-share 服务提供网络资源。
何时使用网络插件?¶
Manila share driver 可以配置为两种模式之一,即它自行管理 share servers 的生命周期,或者仅仅在预配置的 share server 上提供存储资源。 此模式使用 Manila 配置文件中的布尔选项 driver_handles_share_servers 定义。 当驱动程序处理自己的 share server 时,网络插件才有用。
注意
并非所有 share driver 都支持两种模式。 每个驱动程序必须向 manila-share 服务报告它支持的模式。
当 driver_handles_share_servers 设置为 True 时,share driver 将被调用以使用 share network 中提供的信息为 share 创建 share server。 此信息将提供给启用的网络插件之一,该插件将处理网络资源的预留、创建和删除,包括 IP 地址 和 网络接口。
共享文件系统服务可能需要网络资源调配,如果 share 服务使用指定的驱动程序以模式工作,即 share driver 自身管理 share server 的生命周期。 此行为由 share 服务配置中的标志 driver_handles_share_servers 定义。 当 driver_handles_share_servers 设置为 True 时,share driver 将被调用以使用 share network 中提供的信息为 share 创建 share server。 此信息将提供给启用的网络插件之一,该插件将处理网络资源的预留、创建和删除,包括 IP 地址和网络接口。
有哪些网络插件可用?¶
共享文件系统服务中有三个网络插件和三个 Python 类
用于使用 OpenStack Networking 服务的网络插件。 它允许使用 Networking 服务支持的任何网络分段。 每个 share driver 都必须至少支持一种网络分段类型。
manila.network.neutron.neutron_network_plugin.NeutronNetworkPlugin。 这是默认网络插件。 它要求在创建将用于创建 share server 的 share network 时提供neutron_net_id属性和neutron_subnet_id属性。 用户可以定义任意数量的 share network,对应于项目环境中的各种物理网络段。注意
当 share network 包含具有多个段的路由器提供程序网络时,应在
manila.conf中另外配置neutron_physical_net_name选项。manila.network.neutron.neutron_network_plugin.NeutronSingleNetworkPlugin。 这是前一种情况的简化。 它从manila.conf配置文件中接受neutron_net_id和neutron_subnet_id的值,并为所有 share 使用一个网络。manila.network.neutron.neutron_network_plugin.NeutronBindNetworkPlugin。 此驱动程序等待活动绑定,如果无法绑定 Neutron 端口或发生错误,则会失败。 此插件对于基于代理的绑定(例如使用 docker 驱动程序的 OVS)和需要进行实际硬件重新配置的 fabric 绑定很有用。 现有的NeutronBindSingleNetworkPlugin是 1b 和 1c 的组合。
当只需要一个网络时,NeutronSingleNetworkPlugin (1.b) 是一个简单的解决方案。 否则应选择 NeutronNetworkPlugin (1.a)。
用于独立于 OpenStack 网络服务指定网络的网络插件。
manila.network.standalone_network_plugin.StandaloneNetworkPlugin。 此插件使用可供 manila-share 主机使用的预先存在的网络。 该网络可以由 OpenStack 处理,也可以由任何其他方式独立创建。 该插件支持任何类型的网络 - flat 和 segmented。 如上所述,share driver 完全负责支持配置网络插件的网络类型。
注意
自 Pike 以来,share network 的 ip 版本由 network_plugin_ipv4_enabled 和 network_plugin_ipv6_enabled 标志在 manila.conf 配置中定义。 network_plugin_ipv4_enabled 的默认值为 True。 network_plugin_ipv6_enabled 的默认值为 False。 如果 network_plugin_ipv6_enabled 选项为 True,则将忽略 network_plugin_ipv4_enabled 的值,这意味着支持 IPv4 和 IPv6 share network。