国家 / 地区

H3C VCF控制器 OpenStack插件安装指导-SUSE-5PW214

01-正文

本章节下载  (199.50 KB)

docurl=/cn/Service/Document_Software/Document_Center/SDN/Catalog/Prophet_Engine/VCF/Installation/OpenStack_Installation_Manual/H3C_VCF_OpenStack_IG-SUSE-5PW214/201909/1223778_30005_0.htm

01-正文


1 概述

在OpenStack环境中,Neutron(OpenStack网络服务)用来管理所有VNI(Virtual Networking Infrastructure,虚拟网络架构),它负责向OpenStack计算服务管理的设备提供虚拟网络服务。Neutron允许租户创建高级的虚拟业务,包括防火墙(FW)、负载均衡(LB)和虚拟专用网络(VPN)。

VCF Neutron插件是针对VCF控制器推出的符合OpenStack框架要求的Neutron插件,实现了核心插件(Networks、Subnets和Ports等)和4个扩展插件(L3_Routing、FWaaS、LBaaS和VPNaaS)的全部特性,并负责通过REST API接口将从OpenStack获取的网络配置信息,如租户的网络(Networks)、子网(Subnets)、路由器(Routers)、端口(Ports)、FW、LB、VPN等,同步设置到VCF控制器。

VCF Neutron插件的类型及其功能如下:

·     VCF Neutron Core插件:为租户提供了核心的基础网络通信的能力。

·     VCF Neutron L3_Routing插件:为租户提供了流量在租户内进行三层转发的能力。

·     VCF Neutron FWaaS插件:为租户提供了部署防火墙以保护租户网络的能力。

·     VCF Neutron LBaaS插件:为租户提供了负载均衡的能力。

·     VCF Neutron VPNaaS插件:为租户提供了在公有网络中进行VPN通信的能力。

安装VCF Neutron插件前,请确保已安装对应的基础服务软件,否则无法正常使用服务。VCF Neutron插件对应的基础服务软件如表1-1所示。

表1-1 VCF Neutron插件对应的基础服务软件列表

VCF Neutron插件

基础服务软件

VCF Neutron Core

openstack-neutron

VCF Neutron L3_Routing

openstack-neutron

VCF Neutron FWaaS

openstack-neutron,openstack-neutron-fwaas

VCF Neutron LBaaS

openstack-neutron,openstack-neutron-lbaas

VCF Neutron VPNaaS

openstack-neutron,openstack-neutron-vpnaas

 


2 安装前的准备工作

2.1  硬件配置需求

VCF Neutron插件所需的服务器或虚拟机的硬件配置需求如表2-1所示。

表2-1 硬件配置需求

CPU内核

内存

所需磁盘空间

1核及以上

2GB及以上

5GB及以上

 

2.2  软件配置需求

VCF Neutron插件所需的软件配置需求表2-2所示。

表2-2 软件配置需求

软件配置需求

备注

OpenStack

支持OpenStack软件版本juno 2014.2、操作系统SUSE Linux Enterprise Server 11 SP3  (x86_64)

 

说明

·     安装VCF Neutron插件前需要先访问互联网安装基础环境,所以请确保在安装插件过程中,系统能够正常访问互联网。

·     安装VCF Neutron插件前需要确保OpenStack已正确完成部署,例如确认各节点的/etc/hosts文件已配置主机名和IP地址的映射。关于OpenStack的部署,具体请参考OpenStack官网上指定OpenStack软件版本的安装指导手册。

 


3 安装过程

VCF Neutron插件安装在OpenStack控制节点上。安装插件前需要在相应的OpenStack节点上安装基础环境,具体方法请参见“3.1  安装基础环境

3.1  安装基础环境

安装插件前,需先安装基础环境,即在线下载并安装Python工具包。

[root@localhost ~]# zypper install –y python-pip python-setuptools

3.2  安装VCF Neutron插件

1. 获取VCF Neutron插件安装软件包

VCF Neutron插件软件包打包在VCF OpenStack软件包中,访问网址http://www.h3c.com/cn/Software_Download,依次点击“SDN -> H3C Virtual Converged Framework控制器”,下载所需版本的VCF OpenStack软件包,并将VCF OpenStack软件包拷贝至服务器或虚拟机上的待安装目录下,或通过FTP、TFTP、SCP等文件传输协议将软件包上传到指定目录。

提示

·     使用FTP、TFTP方式上传时,请选择binary模式(二进制模式)传输,以免损坏软件包。

·     安装过程中,修改配置文件时如果参数后边括号有“以XXX为例”的说明,表示该参数取值可以根据用户需求改变,否则不能改变。

 

2. 在OpenStack控制节点上安装VCF Neutron插件

(1)     进入VCF OpenStack软件包(.egg文件)的存放路径(以路径/root为例),安装VCF OpenStack软件包。软件包的名称格式为VCF_CONTROLLER_PLUGIN-version1_version2-py2.7.egg,其中version1为软件包版本号,version2为OpenStack版本号。

[root@localhost ~]# easy_install --no-deps VCF_CONTROLLER_PLUGIN-D2156_juno_2014.2-py2.7.egg

Processing VCF_CONTROLLER_PLUGIN-D2156_juno_2014.2-py2.7.egg

creating /usr/local/lib64/python2.6/site-packages/VCF_CONTROLLER_PLUGIN-D2156_juno_2014.2-py2.7.egg

Extracting VCF_CONTROLLER_PLUGIN-D2156_juno_2014.2-py2.7.egg to /usr/local/lib64/python2.6/site-packages

Adding VCF-CONTROLLER-PLUGIN D2156-juno-2014.2 to easy-install.pth file

Installing h3c-vcfplugin script to /usr/local/bin

Installing h3c-agent script to /usr/local/bin

 

Installed /usr/local/lib64/python2.6/site-packages/VCF_CONTROLLER_PLUGIN-D2156_juno_2014.2-py2.7.egg

Processing dependencies for VCF-CONTROLLER-PLUGIN==D2156-juno-2014.2

Finished processing dependencies for VCF-CONTROLLER-PLUGIN==D2156-juno-2014.2

提示

--no-deps参数表示忽略安装过程中软件包的依赖关系,如果不指定本参数,可能导致安装失败。

 

(2)     安装VCF Neutron插件。

[root@localhost ~]# h3c-vcfplugin controller install

(3)     通过vi编辑器打开neutron.conf配置文件。

[root@localhost ~]# vi /etc/neutron/neutron.conf

(4)     按[i]键进入编辑模式,按照如下所示,修改neutron.conf文件的配置。

[DEFAULT]

core_plugin = ml2

service_plugins = h3c_vcfplugin.l3_router.h3c_l3_router_plugin.H3CL3RouterPlugin,firewall,lbaas,vpnaas

[service_providers]

service_provider=FIREWALL:H3C:h3c_vcfplugin.fw.h3c_fwplugin_driver.H3CFwaasDriver:default

service_provider=LOADBALANCER:H3C:h3c_vcfplugin.lb.h3c_lbplugin_driver.H3CLbaasPluginDriver:default

service_provider=VPN:H3C:h3c_vcfplugin.vpn.h3c_vpnplugin_driver.H3CVpnPluginDriver:default

各参数含义如下:

·     core_plugin:核心插件加载入口,即加载核心插件ml2到OpenStack。

·     service_plugins:扩展服务插件加载入口,即加载扩展服务插件到OpenStack。

·     service_provider:各种服务插件的路径。

(5)     修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存neutron.conf文件并退出vi编辑器。

:wq

(6)     通过vi编辑器打开ml2_conf.ini配置文件。

[root@localhost ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini

(7)     按[i]键进入编辑模式,按照如下所示,修改ml2_conf.ini文件的配置。

[ml2]

type_drivers = vxlan,vlan

tenant_network_types = vxlan,vlan

mechanism_drivers = ml2_h3c

extension_drivers = ml2_extension_h3c

[ml2_type_vlan]

network_vlan_ranges = physicnet1:1000:2999

[ml2_type_vxlan]

vni_ranges = 1:500

各参数含义如下:

·     type_drivers:驱动类型,vxlan必须作为第一个参数。

·     tenant_network_types:租户所属的网络类型,vxlan必须作为第一个参数。目前只支持租户所属的网络类型外网为VLAN,内网为VXLAN。

·     mechanism_drivers:ml2驱动名称。

·     extension_drivers:ml2扩展驱动名称。

·     network_vlan_ranges:租户外网的VLAN ID取值范围(以physicnet1:1000:2999为例)。

·     vni_ranges:租户内网的VXLAN ID取值范围(以1:500为例)。

(8)     修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存ml2_conf.ini文件并退出vi编辑器。

:wq

(9)     通过vi编辑器打开local_settings.py配置文件,按[i]键进入编辑模式,在OPENSTACK_NEUTRON_NETWORK配置项,开启OpenStack WEB的LB/FW/VPN功能配置页面。

[root@localhost ~]# vi /etc/openstack-dashboard/local_settings

OPENSTACK_NEUTRON_NETWORK = {

    'enable_lb': True,

    'enable_firewall': True,

    'enable_quotas': True,

    'enable_vpn': True,

    # The profile_support option is used to detect if an external router can be

    # configured via the dashboard. When using specific plugins the

    # profile_support can be turned on if needed.

    'profile_support': None,

    #'profile_support': 'cisco',

}

各参数含义如下:

·     enable_lb:是否开启OpenStack负载均衡功能配置页面(以True为例)。

·     enable_firewall:是否开启OpenStack防火墙功能配置页面(以True为例)。

·     enable_vpn:是否开启OpenStack VPN功能配置页面(以True为例)。

(10)     修改添加完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存local_settings.py文件并退出vi编辑器。

:wq

(11)     通过vi编辑器打开ml2_conf_h3c.ini配置文件。

[root@localhost ~]# vi /etc/neutron/plugins/ml2/ml2_conf_h3c.ini

(12)     按[i]键进入编辑模式,按照如下所示,修改ml2_conf_h3c.ini文件配置。

[VCFCONTROLLER]

url = https://127.0.0.1:8443

username = sdn

password = skyline123

domain = sdn

timeout = 300

retry = 10

vnic_type=ovs

hybrid_vnic = True

default_tenant_mode = False

ip_mac_binding = False

denyflow_age =300

white_list = False

binddefaultrouter = False

auto_create_tenant_to_vcfc = True

router_binding_public_vrf = False

enable_subnet_dhcp = True

dhcp_lease_time = 365

firewall_type = SERVICE_CHAIN

lb_type = GATEWAY

resource_mode = NFV

auto_delete_tenant_to_vcfc = True

auto_create_resource = True

nfv_ha = True

vds_name = VDS1

enable_metadata = False

use_neutron_credential = False

enable_security_group = True

disable_internal_l3flow_offload = True

firewall_force_audit = True

enable_l3_router_rpc_notify = False

output_json_log = False

lb_enable_snat = False

empty_rule_action = deny

vendor_rpc_topic = VENDOR_PLUGIN

各参数含义如下:

·     url:登录VCF控制器的URL地址(以https://127.0.0.1:8443为例)。

·     username:登录VCF控制器的用户名(以sdn为例)。当use_neutron_credential参数取值为True时,不需要配置本参数。

·     password:登录VCF控制器的密码(以skyline123为例)。当use_neutron_credential参数取值为True时,不需要配置本参数。

·     domain:VCF控制器所在域的域名(以sdn为例)。

·     timeout:openstack-neutron等待VCF控制器响应的时间,单位为秒(以300秒为例)。

·     retry:发送连接请求消息的尝试次数(以10为例)。

·     vnic_type:默认支持的虚拟机网卡类型(以ovs为例)。

·     hybrid_vnic:是否开启OpenStack VLAN网络映射到VCF控制器VXLAN网络的功能(以True为例)。

·     default_tenant_mode:是否开启默认租户模式,开启后所有租户都使用默认租户的VNF资源(以False为例)。

·     ip_mac_binding:是否开启IP和MAC绑定功能(以False为例)。本参数缺省值为False。

·     denyflow_age:VDS防欺骗流表项的老化时间,取值范围为1~3600的整数,单位为秒(以300秒为例)。

·     white_list:是否和VCF控制器免认证用户功能配合使用(以False为例)。

·     binddefaultrouter:是否开启将网络绑定到VCF控制器的defaultRouter功能(以False为例)。

·     auto_create_tenant_to_vcfc:是否开启在VCF控制器上自动创建租户的功能(以True为例)。

·     router_binding_public_vrf:创建虚拟路由器时是否配置使用公网VRF(以False为例)。

·     enable_subnet_dhcp:创建子网时是否开启DHCP功能(以True为例)。

·     dhcp_lease_time:DHCP地址池中分配给子网的IP地址的租约有效期限,单位为天(以365天为例)。

·     firewall_type:在VCF控制器上创建的防火墙模式,取值包括:

¡     SERVICE_CHAIN:服务链型防火墙。仅resource_mode取值为NFV时支持配置本模式。

¡     CGSR:网关服务型防火墙。每个网关服务型防火墙单独使用一个Context。仅resource_mode取值为CORE_GATEWAY时支持配置本模式。

·     lb_type:在VCF控制器上创建的负载均衡器模式,取值包括:

¡     GATEWAY:网关型负载均衡器。仅resource_mode取值为NFV或NFV_SHARE时支持配置本模式。

¡     SERVICE_CHAIN:服务链型负载均衡器。同一租户下的服务链型负载均衡器共用同一个VNF,不同租户下的服务链型负载均衡器使用不同的VNF。仅resource_mode取值为NFV时支持配置本模式。

¡     CGSR:网关服务型负载均衡器。同一租户下的网关服务型负载均衡器共用同一个Context,不同租户下的网关服务型负载均衡器使用不同的Context。仅resource_mode取值为CORE_GATEWAY时支持配置本模式。

·     resource_mode:在VCF控制器上创建的资源类型,取值包括:

¡     SELF_GATEWAY:独立网关资源。

¡     NFV:VNF资源。

¡     NFV_SHARE:VNF共享资源,即多个租户共享一个VNF资源。

¡     CORE_GATEWAY:网关服务资源。

·     auto_delete_tenant_to_vcfc:是否开启从VCF控制器上自动删除租户的功能(以True为例)。本参数缺省值为False。

·     auto_create_resource:是否开启自动创建资源的功能(以True为例)。

·     nfv_ha:NFV和NFV_SHARE类型的资源是否支持堆叠(以True为例)。

·     vds_name:VDS(Virtual Distributed Switch,虚拟分布式交换机)名称(以VDS1为例)。

·     enable_metadata:是否开启OpenStack的metadata功能(以False为例)。开启本功能时,需配置enable_l3_router_rpc_notify参数为True,以实现三层路由事件通过RPC(Remote Procedure Call,远程过程调用)通知给metadata模块。

·     use_neutron_credential:是否使用OpenStack neutron用户名和密码与VCF控制器通信(以False为例)。

·     enable_security_group:是否开启下发OpenStack的安全组规则到VCF控制器的功能(以True为例)。

·     disable_internal_l3flow_offload:是否开启东西向流量通过网关进行转发的功能,开启本功能后,对于主机Overlay组网环境,同一虚拟路由器下不同子网间的流量无需经过网关;对于网络Overlay组网环境,接入设备的三层流量无需经过网关(以True为例)。

·     firewall_force_audit:是否强制开启VCF控制器上防火墙策略的审计功能(以True为例)。本参数缺省值为True,取值包括:

¡     True:不论OpenStack上配置的防火墙策略是否开启审计功能,防火墙策略同步到VCF控制器上时都强制开启该功能。

¡     False:OpenStack上配置的防火墙策略同步到VCF控制器上时,审计状态不变。

·     enable_l3_router_rpc_notify:是否开启三层路由事件通过RPC通知的机制(以False为例)。

·     output_json_log:是否将VCF Neutron插件和VCF控制器通信的REST API消息以JSON格式输出到OpenStack的操作日志文件(以False为例)。

·     empty_rule_action:设置VCF控制器上安全策略的空规则行为。目前仅支持deny。

(13)     修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存ml2_conf_h3c.ini文件并退出vi编辑器。

:wq

(14)     当white_list定制为True时,则需要完成如下步骤:

·     删除ml2_conf_h3c.ini配置文件中username、password和domain这三个字段。

·     在VCF控制器上添加免认证用户,步骤为:在VCF控制器的Web页面中单击[控制器/系统管理/认证管理]菜单项,进入认证管理页面,单击<增加>按钮,在弹出的添加记录对话框中,将“IP”填写为openstack-neutron所在主机的IP地址,“角色”选择“管理员”,单击<应用>按钮完成操作。

(15)     当binddefaultrouter定制为True时,需要在VCF控制器上配置默认虚拟路由器,步骤为:在VCF控制器的Web页面中单击[虚拟网络/虚拟路由器]菜单项,进入虚拟路由器配置页面,单击<创建虚拟路由器>按钮,在弹出的对话框中配置名称为defaultRouter,租户选择为default,选择“使用公网VRF”,单击<应用>按钮完成操作。

(16)     当use_neutron_credential定制为True时,需要在VCF控制器上增加管理员用户,步骤为:在VCF控制器的Web界面中单击[控制器/系统管理/用户配置]菜单项,进入用户配置页面,单击<增加用户>按钮,在弹出的对话框中配置用户名为neutron,角色选择为管理员,密码请使用OpenStack管理员提供的密码,单击<应用>按钮完成操作。

(17)     重启openstack-neutron服务。

[root@localhost ~]# service openstack-neutron restart

openstack-neutron stop/waiting

openstack-neutron start/running, process 4583

(18)     重启h3c-agent服务。

[root@localhost ~]# service h3c-agent restart

h3c-agent stop/waiting

h3c-agent start/running, process 4678

3. 验证VCF Neutron插件是否安装成功

(1)     验证VCF OpenStack软件包是否安装成功。若显示正确的软件版本号和OpenStack版本号,则说明安装成功。

[root@localhost ~]# pip freeze | grep VCF

VCF-CONTROLLER-PLUGIN==D2156-juno-2014.2

(2)     验证openstack-neutron服务是否已开启。若显示openstack-neutron服务为running状态的运行信息,则说明启动成功。

[root@localhost ~]# service openstack-neutron status

openstack-neutron start/running, process 1849

(3)     验证h3c-agent服务是否已开启。若显示h3c-agent服务为running状态的运行信息,则说明启动成功。

[root@localhost ~]# service h3c-agent status

h3c-agent start/running, process 4678

3.3  卸载VCF Neutron插件

您可以通过如下方法卸载VCF Neutron插件。卸载时请先卸载VCF Neutron插件,然后再卸载VCF OpenStack软件包。

(1)     卸载VCF Neutron插件。卸载时可以选择是否保留数据库卸载:

·     不保留数据库卸载:选择y,表示卸载VCF Neutron插件的同时将删除其连接的数据库。当选择此方式卸载时,如果OpenStack上配置了SERVICE_CHAIN类型防火墙、GATEWAY或SERVICE_CHAIN类型负载均衡,建议用户先在OpenStack上删除这些服务配置,再进行卸载操作。

·     保留数据库卸载:选择n,表示仅卸载VCF Neutron插件,不删除其连接的数据库。重新安装新版本的VCF Neutron插件时,VCF Neutron插件将自动读取原数据库中的配置文件。

[root@localhost ~]# h3c-vcfplugin controller uninstall

Uninstall the neutron plugin

whether to drop database tables:(y/n):

(2)     卸载VCF OpenStack软件包。

[root@localhost ~]# pip uninstall VCF-CONTROLLER-PLUGIN

Uninstalling VCF-CONTROLLER-PLUGIN:

  /usr/local/lib64/python2.6/site-packages/ VCF_CONTROLLER_PLUGIN-D2156_juno_2014.2-py2.7.egg

Proceed (y/n)? y

  Successfully uninstalled VCF-CONTROLLER-PLUGIN

3.4  升级VCF Neutron插件

升级VCF Neutron插件时请先卸载旧版本插件,具体方法请参见“3.3  卸载VCF Neutron插件,然后重新安装新版本插件,具体方法请参见“3.2  安装VCF Neutron插件”。升级过程中可能造成业务中断,请谨慎操作。


4 常见问题解答

1. Neutron插件对HA配置模式的支持情况如何?

VCFC Neutron插件主要运行neutron-server和h3c-agent进程,两个进程自身均不支持配置HA功能,需要借助第三方集群栈实现,如Pacemaker集群栈,二者对HA配置模式的支持情况如下:

·     neutron-server是OpenStack社区Neutron项目维护的Stateless服务进程,可以支持配置Active/Passive和Active/Active两种HA模式。

·     h3c-agent是基于原生neutron-l3-agent提供的服务进程,只支持Active/Passive HA模式。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!