01-正文
本章节下载 (736.40 KB)
您可以通过本文了解OpenStack插件的安装过程,本文主要介绍了VCF Neutron插件、Nova补丁、openvswitch-agent补丁和DHCP逃生相关组件的安装。
在OpenStack环境中,Neutron(OpenStack网络服务)用来管理所有VNI(Virtual Networking Infrastructure,虚拟网络架构),它负责向OpenStack计算服务管理的设备提供虚拟网络服务。Neutron允许租户创建高级的虚拟业务,包括防火墙(FW)、负载均衡(LB)和虚拟专用网络(VPN)。
VCF Neutron插件是针对SeerEngine-DC推出的符合OpenStack框架要求的Neutron插件,实现了核心插件(Networks、Subnets、Routers和Ports等)和4个扩展插件(L3_Routing、FWaaS、LBaaS和VPNaaS)的全部特性,并负责通过REST API接口将从OpenStack获取的网络配置信息,如租户的网络(Networks)、子网(Subnets)、路由器(Routers)、端口(Ports)、FW、LB、VPN等,同步设置到SeerEngine-DC。
VCF Neutron插件的类型及其功能如下:
· VCF Neutron Core插件:为租户提供了核心的基础网络通信的能力。
· VCF Neutron L3_Routing插件:为租户提供了流量在租户内进行三层转发的能力。
· VCF Neutron FWaaS插件:为租户提供了部署防火墙以保护租户网络的能力。
· VCF Neutron LBaaS插件:为租户提供了负载均衡的能力。
· VCF Neutron VPNaaS插件:为租户提供了在公有网络中进行VPN通信的能力。
使用插件对接OpenStack云平台后,为了避免影响用户业务,建议不要在控制器上修改云平台下发的配置,如:在云平台中创建的虚拟链路层网络、虚拟路由器、虚拟子网等网络资源。
Nova是OpenStack的计算控制器,用来管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。它负责虚拟机的创建、开机、关机、迁移等操作,并配置虚拟机的CPU、内存等信息。
在某些指定场景下(如vCenter网络Overlay),需要通过Nova补丁使OpenStack创建的虚拟机能够接入SeerEngine-DC所控制的网络。
当OpenStack的计算节点使用KVM虚拟化技术且需应用层次化端口绑定功能时,开源openvswitch-agent进程可能导致开源OVS(Open vSwitch)上缺少对应VLAN的流表,通过安装openvswitch-agent补丁可解决此问题。
云网一体化的网络Overlay场景下,当前仅支持控制器作为DHCP Server为虚拟机或者裸金属服务器分配地址,当控制器与南向网络失联后,虚拟机或者裸金属服务器将无法进行DHCP续约和重新分配地址。为了弥补当前的不足,可通过在网络节点安装DHCP组件,提供网络Overlay的DHCP逃生机制,当控制器与南向网络失联后,虚拟机或者裸金属服务器可通过独立部署的DHCP Server续约和分配地址。
在DHCP逃生场景中,需要在网络节点安装Metadata组件,为DHCP组件提供Metadata功能。
VCF Neutron插件或Nova补丁所需的服务器或虚拟机的硬件配置需求如表2-1所示。
CPU内核 |
内存 |
所需磁盘空间 |
1核及以上 |
2GB及以上 |
5GB及以上 |
本文主要以SeerEngine-DC单集群对接一套OpenStack单控制节点为例进行介绍,如果有特殊场景需要注意以下几点:
· 对接一套OpenStack,OpenStack存在多个控制节点
在OpenStack侧,请按照OpenStack单控制节点的配置方式配置所有控制节点,并保持配置参数一致。
· 对接多套OpenStack
每套OpenStack需配置不同的cloud_region_name和不同的vxlan vni范围。不同OpenStack下所有节点的hostname不能重复。
VCF Neutron插件或Nova补丁所需的软件配置需求如表2-2所示。
软件配置需求 |
备注 |
OpenStack |
当OpenStack使用CentOS的Yum方式部署时,OpenStack软件版本及支持的操作系统如下: · Kilo 2015.1:支持CentOS 7.1.1503操作系统 · Liberty:支持CentOS 7.1.1503操作系统 · Mitaka:支持CentOS 7.1.1503操作系统 · Newton:支持CentOS 7.2.1511操作系统 · Ocata:支持CentOS 7.2.1511操作系统 · Pike:支持CentOS 7.2.1511操作系统 · Queens:支持CentOS 7.4.1708操作系统 · Rocky:支持CentOS 7.2.1511操作系统 · Train:支持CentOS 8.4.2105操作系统 |
· 安装Pike版本插件时,dnsmasq版本需为2.76,可使用命令dnsmasq -v查看版本号。
· 安装OpenStack插件前需要先访问互联网安装基础环境,所以请确保在安装过程中,系统能够正常访问互联网。
· 安装OpenStack插件前需要确保OpenStack已正确完成部署,确认各节点的/etc/hosts文件已配置主机名和IP地址的映射、确认OpenStack Neutron扩展服务(neutron-fwaas/neutron-vpnaas/neutron-lbaas)已完成部署。具体部署步骤请参考OpenStack官网上指定OpenStack软件版本的安装指导手册。
目前支持在多个版本的OpenStack上安装VCF Neutron插件、Nova补丁或openvswitch-agent补丁。不同版本的OpenStack上使用的VCF Neutron插件、Nova补丁或openvswitch-agent补丁的安装包不同,但是安装过程相同。本文安装过程以OpenStack Pike版本为例。
VCF Neutron插件安装在OpenStack控制节点上,Nova补丁和openvswitch-agent补丁安装在OpenStack计算节点上,DHCP逃生相关组件安装在网络节点。安装插件或补丁前需要在相应的OpenStack节点上安装基础环境,具体方法请参见“3.1 安装基础环境”。
安装插件及补丁前,需先安装基础环境,即在线下载并安装Python工具包。
(1) 更新软件源列表。
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
(2) 下载并安装Python工具包。
[root@localhost ~]# yum install –y python-pip python-setuptools
获取所需版本的VCF OpenStack软件包,并将VCF OpenStack软件包拷贝至服务器或虚拟机上的待安装目录下,或通过FTP、TFTP、SCP等文件传输协议将软件包上传到指定目录。
· 使用FTP、TFTP方式上传时,请选择binary模式(二进制模式)传输,以免损坏软件包。
· 安装过程中,修改配置文件时如果参数后边括号有“以XXX为例”的说明,表示该参数取值可以根据用户需求改变,否则不能改变。
(1) 进入VCF OpenStack软件包(.egg/.rpm文件)的存放路径(以路径/root为例),安装VCF OpenStack软件包。软件包的名称格式为SeerEngine_DC_PLUGIN-version1_version2-py2.7.egg或SeerEngine_DC_PLUGIN-version1_version2.noarch.rpm,其中version1为软件包版本号,version2为OpenStack版本号。
¡ .egg文件
[root@localhost ~]# easy_install SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-py2.7.egg
¡ .rpm文件
[root@localhost ~]# rpm -ivh SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-1.noarch.rpm
(2) 修改插件文件所属用户组及权限,确保与Neutron组件文件保持一致。
[root@localhost ~]# cd /usr/lib/python2.7/site-packages
[root@localhost ~]# chown -R --reference=neutron SeerEngine*
[root@localhost ~]# chmod -R --reference=neutron SeerEngine*
[root@localhost ~]# cd /usr/bin
[root@localhost ~]# chown -R --reference=neutron-server h3c*
[root@localhost ~]# chmod -R --reference=neutron-server h3c*
当插件为Train版本,且操作系统为CentOS 8时,参考如下:
[root@localhost ~]# cd /usr/local/lib/python3.6/site-packages
[root@localhost ~]# chown -R --reference=/usr/lib/python3.6/site-packages/neutron SeerEngine*
[root@localhost ~]# chmod -R --reference=/usr/lib/python3.6/site-packages/neutron SeerEngine*
[root@localhost ~]# cd /usr/local/bin
[root@localhost ~]# chown -R --reference=/usr/bin/neutron-server h3c*
[root@localhost ~]# chmod -R --reference=/usr/bin/neutron-server h3c*
(3) 安装VCF Neutron插件。
[root@localhost ~]# h3c-vcfplugin controller install
执行h3c-vcfplugin controller install时,请确保/root目录下不存在neutron.conf文件,如果存在,请删除或者移动到其他位置。
(4) 修改neutron.conf配置文件。
a. 通过vi编辑器打开neutron.conf配置文件。
[root@localhost ~]# vi /etc/neutron/neutron.conf
b. 按[i]键进入编辑模式,修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存neutron.conf配置文件并退出vi编辑器。
¡ 当插件为Train版本时,请按照如下修改neutron.conf配置文件。
[DEFAULT]
core_plugin = ml2
service_plugins = h3c_l3_router, qos, port_forwarding
对于Train版本插件,不支持配置firewall、lb、vpn和vpc_connection。
¡ 当插件为Pike版本时,请按照如下修改neutron.conf配置文件。
[DEFAULT]
core_plugin = ml2
service_plugins = h3c_l3_router,firewall,lbaasv2,vpnaas,qos,h3c_vpc_connection
[service_providers]
service_provider=FIREWALL:H3C: networking_h3c.fw.h3c_fwplugin_driver.H3CFwaasDriver:default
service_provider=LOADBALANCERV2:H3C: networking_h3c.lb.h3c_lbplugin_driver_v2.H3CLbaasv2PluginDriver:default
service_provider=VPN:H3C: networking_h3c.vpn.h3c_vpnplugin_driver.H3CVpnPluginDriver:default
service_provider=VPC_CONNECTION:H3C:networking_h3c.vpc_connection.h3c_vpc_connection_driver_match_plugin.H3CVpcConnectionMatchPluginDriver:default
· 对于Pike版本插件,负载均衡支持多provider场景时,需要在控制器上预配置名称为dmz或core的资源池,然后修改service_provider配置项为:LOADBALANCERV2:DMZ:networking_h3c.lb.h3c_lbplugin_driver_v2.H3CLbaasv2PluginDMZDriver:default或LOADBALANCERV2:CORE:networking_h3c.lb.h3c_lbplugin_driver_v2.H3CLbaasv2PluginCOREDriver:default。
· 配置项service_plugins中,当虚拟路由器互通的参数值配置为vpc_connection时,对应的配置项service_provider 的值需要配置为:VPC_CONNECTION:H3C:networking_h3c.l3_router.h3c_vpc_connection_driver.H3CVpcConnectionDriver:default。
¡ 当插件为Queens和Rocky版本时,请按照如下修改neutron.conf配置文件。
[DEFAULT]
core_plugin = ml2
service_plugins = h3c_l3_router,firewall,lbaasv2,vpnaas,qos
[service_providers]
service_provider=FIREWALL:H3C: networking_h3c.fw.h3c_fwplugin_driver.H3CFwaasDriver:default
service_provider=LOADBALANCERV2:H3C: networking_h3c.lb.h3c_lbplugin_driver_v2.H3CLbaasv2PluginDriver:default
service_provider=VPN:H3C: networking_h3c.vpn.h3c_vpnplugin_driver.H3CVpnPluginDriver:default
· 对于Rocky版本插件,如不启用防火墙agent服务,可选择在service_plugins项中将防火墙插件服务由firewall修改为firewall_h3c。
· 对于Rocky版本插件,当防火墙为firewall_v2,service_plugins和service_provider修改如下:
service_plugins = h3c_l3_router,firewall_v2,lbaasv2,vpnaas,qos
service_provider=FIREWALL_V2:H3C:
networking_h3c.fw2.h3c_fwpluginv2_driver.H3CFwaasV2Driver:default
¡ 当插件为Kilo 2015.1、Liberty和Mitaka版本,且OpenStack上配置的负载均衡服务版本为V1时,请按照如下修改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
¡ 当插件为Kilo 2015.1、Liberty、Mitaka、Newton和Ocata版本,且OpenStack上配置的负载均衡服务版本为V2时,请按照如下修改neutron.conf配置文件。
[DEFAULT]
core_plugin = ml2
service_plugins = h3c_vcfplugin.l3_router.h3c_l3_router_plugin.H3CL3RouterPlugin,firewall,neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2,vpnaas
[service_providers]
service_provider=FIREWALL:H3C:h3c_vcfplugin.fw.h3c_fwplugin_driver.H3CFwaasDriver:default
service_provider=LOADBALANCERV2:H3C:h3c_vcfplugin.lb.h3c_lbplugin_driver_v2.H3CLbaasv2PluginDriver:default
service_provider=VPN:H3C:h3c_vcfplugin.vpn.h3c_vpnplugin_driver.H3CVpnPluginDriver:default
对于Kilo 2015.1版本插件,负载均衡支持Context类型多资源池时,需要在控制器上预配置名称为dmz或core的资源池,然后修改service_provider配置项为:LOADBALANCER:DMZ:h3c_vcfplugin.lb.h3c_lbplugin_driver.H3CLbaasPluginDMZDriver:default或LOADBALANCER:CORE:h3c_vcfplugin.lb.h3c_lbplugin_driver.H3CLbaasPluginCOREDriver:default。
¡ 当插件为Liberty、Mitaka、Newton和Ocata版本,且OpenStack上配置QoS服务时,请按照如下修改neutron.conf配置文件。(当插件版本为Newton和Ocata时,仅支持配置为负载均衡V2服务)
[DEFAULT]
core_plugin = ml2
service_plugins = h3c_vcfplugin.l3_router.h3c_l3_router_plugin.H3CL3RouterPlugin,firewall,neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2,vpnaas,qos
[service_providers]
service_provider=FIREWALL:H3C:h3c_vcfplugin.fw.h3c_fwplugin_driver.H3CFwaasDriver:default
service_provider=LOADBALANCERV2:H3C:h3c_vcfplugin.lb.h3c_lbplugin_driver_v2.H3CLbaasv2PluginDriver:default
service_provider=VPN:H3C:h3c_vcfplugin.vpn.h3c_vpnplugin_driver.H3CVpnPluginDriver:default
[qos]
notification_drivers = message_queue,qos_h3c
由于OpenStack存在开源Bug,当neutron.conf文件中database connection为如下配置时:
[database]
connection = mysql://…(省略号表示neutron数据库连接信息)
会导致QoS功能异常,请修改为:
[database]
connection = mysql+pymysql://…(省略号表示neutron数据库连接信息)
各参数含义如下:
¡ core_plugin:核心插件加载入口,即加载核心插件ml2到OpenStack。
¡ service_plugins:扩展服务插件加载入口,即加载扩展服务插件到OpenStack。
¡ service_provider:各种服务插件的路径。
¡ notification_drivers:QoS消息通知驱动的名称。
对于Kilo、Liberty、Mitaka 、Pike和Queens版本插件,如出现防火墙策略及规则的下发用时过长,可选择在service_plugins项中将防火墙插件服务由firewall修改为fwaas_h3c。
(5) 修改ml2_conf.ini配置文件。
a. 通过vi编辑器打开ml2_conf.ini配置文件。
[root@localhost ~]# vi /etc/neutron/plugins/ml2/ml2_conf.ini
b. 按[i]键进入编辑模式,按照如下所示修改文件配置。修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存ml2_conf.ini配置文件并退出vi编辑器。
[ml2]
type_drivers = vxlan,vlan
tenant_network_types = vxlan,vlan
mechanism_drivers = ml2_h3c
extension_drivers = ml2_extension_h3c,qos,port_security
[ml2_type_vlan]
network_vlan_ranges = physicnet1:1000:2999
[ml2_type_vxlan]
vni_ranges = 1:500
各参数含义如下:
· type_drivers:驱动类型,VXLAN必须作为第一个参数。
· tenant_network_types:租户所属的网络类型。主机Overlay以及网络Overlay层次化端口绑定时,VXLAN必须作为第一个参数;网络Overlay非层次化端口绑定时,VLAN必须作为第一个参数。目前只支持租户所属的网络类型外网为VLAN,内网为VXLAN。
· mechanism_drivers:ml2驱动名称。当创建VLAN网络的sriov类型实例时,需配置为“sriovnicswitch,ml2_h3c,openvswitch”;当创建支持层次化的实例时,需配置为“ml2_h3c,openvswitch”。
· extension_drivers:扩展驱动名称,取值包括ml2_extension_h3c、qos和port_security。当OpenStack上未开启QoS功能时,不需配置QoS驱动(Kilo 2015.1版本的插件不支持配置QoS驱动);当OpenStack不需要开启端口安全功能时,不需要配置port_security(Kilo 2015.1,Liberty 2015.2和Ocata 2017.1版本的插件不支持配置port_security参数)。
· network_vlan_ranges:租户外网的VLAN ID取值范围(以physicnet1:1000:2999为例)。
· vni_ranges:租户内网VXLAN ID取值范围(以1:500为例)。
(6) 修改local_settings配置文件。
a. 通过vi编辑器打开local_settings配置文件。
[root@localhost ~]# vi /etc/openstack-dashboard/local_settings
b. 按[i]键进入编辑模式,按照如下所示,在OPENSTACK_NEUTRON_NETWORK配置项,开启OpenStack WEB的LB/FW/VPN功能配置页面。修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存local_settings配置文件并退出vi编辑器。
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为例)。
(7) 修改ml2_conf_h3c.ini配置文件。
a. 通过vi编辑器打开ml2_conf_h3c.ini配置文件。
[root@localhost ~]# vi /etc/neutron/plugins/ml2/ml2_conf_h3c.ini
b. 按[i]键进入编辑模式,按照如下所示修改文件配置。修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存ml2_conf_h3c.ini配置文件并退出vi编辑器。
[VCFCONTROLLER]
url = http://127.0.0.1:10080
username = admin
password = admin@123
domain = sdn
timeout = 1800
retry = 10
vif_type = ovs
vnic_type = ovs
vhostuser_mode = server
hybrid_vnic = True
ip_mac_binding = True
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 = CGSR
fw_share_by_tenant = False
lb_type = CGSR
resource_mode = CORE_GATEWAY
resource_share_count = 1
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 = False
firewall_force_audit = True
enable_l3_router_rpc_notify = False
output_json_log = False
lb_enable_snat = False
empty_rule_action = deny
enable_l3_vxlan = False
l3_vni_ranges = 10000:10100
vendor_rpc_topic = VENDOR_PLUGIN
vsr_descriptor_name = VSR_IRF
vlb_descriptor_name = VLB_IRF
vfw_descriptor_name = VFW_IRF
hierarchical_port_binding_physicnets = ANY
hierarchical_port_binding_physicnets_prefix = physicnet
network_force_flat = True
directly_external = OFF
directly_external_suffix = DMZ
generate_vrf_based_on_router_name = False
enable_dhcp_hierarchical_port_binding = False
enable_multi_segments = False
enable_https = False
neutron_plugin_ca_file =
neutron_plugin_cert_file =
neutron_plugin_key_file =
router_route_type = None
enable_router_nat_without_firewall = False
cgsr_fw_context_limit = 10
force_vip_port_device_owner_none = False
enable_multi_gateways = False
tenant_gateway_name = None
tenant_gw_selection_strategy = match_first
enable_iam_auth = True
enable_firewall_metadata = False
enable_vcfc_rpc = False
vcfc_rpc_url = ws://99.0.82.55:8080
vcfc_rpc_ping_interval = 60
enable_binding_gateway_with_tenant = False
websocket_fragment_size = 102400
lb_member_slow_shutdown = False
qos_rx_limit_min = 0
enable_network_l3vni = False
lb_resource_mode = SP
neutron_black_list =
enable_lb_xff = False
cloud_identity_mode = disable
custom_cloud_name = openstack-1
deploy_network_resource_gateway = False
force_vlan_port_details_qvo = True
enable_firewall_object_group = False
enable_algorithm_upgrade = False
各参数含义如下:
· url:登录SNA Center或统一数字底盘的URL地址。SNA Center的URL为http://ip_address:10080或https://ip_address:10443;统一数字底盘的URL为http://ip_address:30000。以http://127.0.0.1:10080为例。
· username:登录SNA Center或统一数字底盘的用户名(以admin为例)。当use_neutron_credential参数取值为True时,不需要配置本参数。
· password:登录SNA Center或统一数字底盘的密码(以admin@123为例)。当use_neutron_credential参数取值为True时,不需要配置本参数。如密码中包含字符“$”,需要在该字符前输入转义符“\”。
· domain:SeerEngine-DC所在域的域名(以sdn为例)。
· timeout:Neutron-server等待SeerEngine-DC响应的时间,单位为秒(以1800秒为例)。建议本参数的值设置为大于等于1800秒。
· retry:发送连接请求消息的尝试次数(以10为例)。
· vif_type:默认支持的虚拟机网卡类型。取值范围为ovs和vhostuser(用于OVS DPDK方案)。当取值为vhostuser时,可以设置vhostuser_mode参数。仅Mitaka、Newton和Pike版本插件支持配置本参数。
· vnic_type:默认支持的虚拟机网卡类型,取值包括ovs和vhostuser 。仅Ocata(不含)之前的版本支持配置本参数,且Mitaka和Newton版本插件配置此参数时取值需与vif_type取值保持一致。
· vhostuser_mode:默认的DPDK vhostuser模式。取值范围为server和client,默认值为server。当vif_type配置为vhostuser时,此配置生效。
· hybrid_vnic:是否开启OpenStack VLAN网络映射到SeerEngine-DC VXLAN网络的功能(以True为例)。
· ip_mac_binding:是否开启IP和MAC绑定功能(以True为例)。
· denyflow_age:VDS防欺骗流表项的老化时间,取值范围为1~3600的整数,单位为秒(以300秒为例)。
· white_list:是否和SeerEngine-DC免认证用户功能配合使用(以False为例)。
· binddefaultrouter:是否开启将网络绑定到SeerEngine-DC的defaultRouter功能(以False为例)。本字段已废弃,仅用于兼容旧版本升级。
· auto_create_tenant_to_vcfc:是否开启在SeerEngine-DC上自动创建租户的功能(以True为例)。
· router_binding_public_vrf:创建虚拟路由器时是否配置使用公网VRF,对于弱控组网,不支持配置为True(以False为例)。
· enable_subnet_dhcp:创建子网时是否开启DHCP功能(以True为例)。
· dhcp_lease_time:DHCP地址池中分配给子网的IP地址的租约有效期限,单位为天(以365天为例)。
· firewall_type:在SeerEngine-DC上创建的防火墙模式,取值包括:
¡ CGSR:以Context承载的网关服务型防火墙。每个网关服务型防火墙单独使用一个Context。仅resource_mode取值为CORE_GATEWAY时支持配置本模式。
¡ CGSR_SHARE:以Context承载的网关服务型防火墙。不同租户下的网关服务型防火墙共用同一个Context。仅resource_mode取值为CORE_GATEWAY时支持配置本模式。
¡ CGSR_SHARE_BY_COUNT:以Context承载的网关服务型防火墙。当Context数量达到cgsr_fw_context_limit指定的阈值后,将进入资源共享模式。仅resource_mode取值为CORE_GATEWAY时本取值有效;仅Pike版本支持配置本模式。
¡ NFV_CGSR:以VNF承载的网关服务型防火墙。每个网关服务型防火墙单独使用一个VNF。仅resource_mode取值为CORE_GATEWAY时支持配置本模式。
· fw_share_by_tenant:当防火墙创建模式为CGSR_SHARE时,是否开启单个租户独享一个网关服务型防火墙Context,并且租户内服务资源共享该Context(以False为例)。仅Pike版本支持配置本模式。
· lb_type:在SeerEngine-DC上创建的负载均衡器模式,取值包括:
¡ CGSR:以Context承载的网关服务型负载均衡器。当lb_resource_mode取值为SP时,同一租户下的网关服务型负载均衡器共用同一个Context,不同租户下的网关服务型负载均衡器使用不同的Context;当lb_resource_mode取值为MP时,同一租户同一网关下的网关服务型负载均衡器共用同一个Context,不同租户下的网关服务型负载均衡器使用不同的 Context。仅resource_mode取值为CORE_GATEWAY时支持配置本模式。
¡ CGSR_SHARE:以Context承载的网关服务型负载均衡器。当lb_resource_mode取值为SP时,所有网关服务型负载均衡器共用同一个Context,不区分租户;当lb_resource_mode取值为MP时,使用相同网关的网关服务型负载均衡器共用同一个 Context,使用不同网关的网关服务型负载均衡使用不同的Context,不区分租户。仅resource_mode取值为CORE_GATEWAY时支持配置本模式。
¡ NFV_CGSR:以VNF承载的网关服务型负载均衡器。当lb_resource_mode取值为SP时,同一租户下的网关服务型负载均衡器共用同一个VNF,不同租户下的网关服务型负载均衡器使用不同的VNF;当lb_resource_mode取值为MP时,同一租户同一网关下的网关服务型负载均衡器共用同一个VNF,不同租户下的网关服务型负载均衡器使用不同的VNF。仅resource_mode取值为CORE_GATEWAY时支持配置本模式。
· resource_mode:在SeerEngine-DC上创建的资源类型,取值包括:
¡ CORE_GATEWAY:网关服务资源。
¡ NFV:VNF资源。本参数已废弃。
· resource_share_count:表示资源节点可被资源共享的次数。取值范围为1~65535的整数,缺省值为1,表示不共享。Queens版本不支持配置此参数。
· auto_delete_tenant_to_vcfc:是否开启从SeerEngine-DC上自动删除租户的功能(以True为例)。
· auto_create_resource:是否开启自动创建资源的功能(以True为例)。
· nfv_ha:NFV和NFV_SHARE类型的资源是否支持堆叠(以True为例)。
· vds_name:VDS(Virtual Distributed Switch,虚拟分布式交换机)名称(以VDS1为例)。当在SeerEngine-DC上删除并重新创建相同名称的VDS后,请重启OpenStack控制节点的neutron-server服务和h3c-agent服务使配置生效。
· enable_metadata:是否开启OpenStack的metadata功能(以False为例)。开启本功能时,需配置enable_l3_router_rpc_notify参数为True。
· use_neutron_credential:是否使用OpenStack neutron用户名和密码与SeerEngine-DC通信(以False为例)。
· enable_security_group:是否开启下发OpenStack的安全组规则到SeerEngine-DC的功能(以True为例)。
· disable_internal_l3flow_offload:是否开启东西向流量通过网关进行转发的功能(以False为例)。
· firewall_force_audit:是否强制开启SeerEngine-DC上防火墙策略的审计功能。Kilo 2015.1版本的插件本参数缺省值为True;其他版本的插件本参数缺省值为False。取值包括:
¡ True:不论OpenStack上配置的防火墙策略是否开启审计功能,防火墙策略同步到SeerEngine-DC上时都强制开启该功能。
¡ False:OpenStack上配置的防火墙策略同步到SeerEngine-DC上时,审计状态不变。
· enable_l3_router_rpc_notify:是否开启三层路由事件通过RPC通知的机制(以False为例)。
· output_json_log:是否将VCF Neutron插件和SeerEngine-DC通信的REST API消息以JSON格式输出到OpenStack的操作日志文件(以False为例)。
· lb_enable_snat:是否开启SeerEngine-DC上负载均衡器的源IP地址转换功能(以False为例)。当在CloudOS云平台部署插件时,本配置项建议配置为False。
· empty_rule_action:设置SeerEngine-DC上安全策略的空规则行为,取值包括deny和permit。
· enable_l3_vxlan:是否开启SeerEngine-DC上不同虚拟路由器间的三层流量通过L3VNI(三层VXLAN ID)标识的功能(以False为例)。
· l3_vni_ranges:L3VNI的取值范围(以10000:10100为例)。对接多个云平台时,每个云平台需配置不同的L3VNI取值范围。
· vendor_rpc_topic:厂商的RPC topic。当其他厂商需要从VCF Neutron插件获取neutron数据时,需要配置此参数。本参数的取值需要由H3C和其他厂商协商,缺省值为VENDOR_PLUGIN,目前取值包括:
¡ VENDOR_PLUGIN:表示本参数不生效。
¡ DP_PLUGIN:迪普的RPC topic。
· vsr_descriptor_name:通过VNFM3.0创建VNF虚拟网关资源时使用的VNF Descriptor名称(以VSR_IRF为例)。仅resource_mode取值为NFV时支持配置本参数,且本参数的取值必须与控制器的VNFM模块上已配置的指定VNF Descriptor名称保持一致。
· vlb_descriptor_name:通过VNFM3.0创建虚拟负载均衡资源时使用的VNF Descriptor名称(以VLB_IRF为例)。仅resource_mode取值为NFV时支持配置本参数,且本参数的取值必须与控制器的VNFM模块上已配置的指定VNF Descriptor名称保持一致。
· vfw_descriptor_name:通过VNFM3.0创建虚拟防火墙资源时使用的VNF Descriptor名称(以VFW_IRF为例)。仅resource_mode取值为NFV时支持配置本参数,且本参数的取值必须与控制器的VNFM模块上已配置的指定VNF Descriptor名称保持一致。
· hierarchical_port_binding_physicnets:OpenStack进行层次化端口绑定时选择VLAN物理网络的策略,取值包括ANY和PREFIX,缺省值为ANY。目前仅Mitaka、Newton、Ocata、Pike、Queens、Rocky和Train版本插件支持配置本参数。
¡ ANY:从所有VLAN物理网络中选择一个用于分配VLAN ID。
¡ PREFIX:从所有匹配指定前缀的VLAN物理网络中选择一个用于分配VLAN ID。
· hierarchical_port_binding_physicnets_prefix:匹配的VLAN物理网络名称前缀,缺省值为physicnet。仅当hierarchical_port_binding_physicnets取值为PREFIX时,本参数生效。目前仅Mitaka、Newton、Ocata、Pike、Queens、Rocky和Train版本插件支持配置本参数。
· network_force_flat:是否开启强制转换外部网络为Flat网络的功能(以True为例)。当外部网络类型为VXLAN时,仅支持设置本参数为True。
· directly_external:出外网流量是否通过网关直接转发到外网,缺省值为OFF。当directly_external取值为ANY时,外部网络必须为VLAN类型且network_force_flat必须为False。本参数的取值包括:
¡ ANY:出外网流量通过网关直接转发到外网。
¡ OFF:出外网流量通过网关转发到防火墙,再由防火墙转发到外网。
¡ SUFFIX:通过匹配虚拟路由器名称后缀决定虚拟路由器出外网流量的转发方式。在directly_external_suffix参数中配置匹配的虚拟路由器名称后缀,匹配该名称后缀的虚拟路由器的出外网流量将通过网关直接转发到外网,不匹配该名称后缀的虚拟路由器的出外网流量将通过网关转发到防火墙,再由防火墙转发到外网。
· directly_external_suffix:匹配的虚拟路由器名称后缀(以DMZ为例)。仅当directly_external取值为SUFFIX时,本参数生效。当使用此配置项时,请谨慎修改虚拟路由器名称。目前仅Pike、Queens、Rocky和Train版本插件支持配置本参数。
· generate_vrf_based_on_router_name:是否将OpenSatck上配置的虚拟路由器名称作为VRF名称并下发给SeerEngine-DC,缺省值为False(以False为例)。当取值为True时,请确保OpenStack上配置的虚拟路由器名称符合如下规范:最长31个字符,区分大小写,仅支持字母和数字。
· enable_dhcp_hierarchical_port_binding:使能DHCP端口层次化功能,缺省值为False,目前仅Mitaka、Newton、Pike、Rocky和Train版本插件支持配置本参数。
· enable_multi_segments:是否使能多出口功能,该功能支持虚拟路由器通过多个出口网关访问外网,缺省值为False。如需使能多出口功能,需要配置本字段为True,且配置项network_force_flat需配置为False,同时在OpenStack控制节点上修改/etc/neutron/plugins/ml2/ml2_conf.ini文件,将[ml2_type_vlan]中的network_vlan_ranges名称配置为控制器出口网关的名称。目前仅Pike版本插件支持配置本参数。
· enable_https:支持HTTPS双向认证功能,缺省值为False,目前仅Mitaka、Newton和Pike版本插件支持配置本参数。
· neutron_plugin_ca_file:控制器的CA证书存放位置,建议存放在/usr/share/neutron目录下,目前仅Mitaka、Newton和Pike版本插件支持配置本参数。
· neutron_plugin_cert_file:控制器的Cert证书存放位置,建议存放在/usr/share/neutron目录下,目前仅Mitaka、Newton和Pike版本插件支持配置本参数。
· neutron_plugin_key_file :控制器的Key证书存放位置,建议存放在/usr/share/neutron目录下,目前仅Mitaka、Newton和Pike版本插件支持配置本参数。
· router_route_type:路由表项类型。取值包括None、401和402,缺省值为None。目前仅Pike版本插件支持配置此参数。
¡ None:表示普通路由。
¡ 401:表示该路由是扩展的路由,且下一跳是上线的虚拟端口IP地址。
¡ 402:表示该路由是扩展的路由,且下一跳是非上线的虚拟端口IP地址。
· enable_router_nat_without_firewall:未配置防火墙时是否使能NAT功能。默认取值为False,当取值为True时,对于未配置防火墙的租户,如果租户下虚拟路由器已绑定外部网络,将自动创建默认的防火墙资源用于实现NAT功能。目前仅Kilo和Pike版本插件支持配置此参数。
· cgsr_fw_context_limit:以Context承载的网关资源型防火墙的Context数量阈值,取值为整数。当创建的Context数量达到此阈值时,则开启资源共享模式,仅当firewall_type取值为CGSR_SHARE_BY_COUNT时本参数有效。仅Pike版本支持配置此参数。
· force_vip_port_device_owner_none:是否支持LB vport device_owner字段,当取值为False时,支持下发此字段,适用于LB紧耦合方案;当取值为True时,不支持下发此字段,适用于LB松耦合方案,缺省值为False。仅Pike版本支持配置此参数。
· enable_multi_gateways:为租户使能多出口网关功能。当OpenStack环境未配置Segments时,取值为True时,可通过支持不同虚拟路由器通过不同的出口网关访问外网,从而实现租户的多出口功能。缺省值为False。目前仅Pike、Queens、Rocky和Train版本插件支持配置本参数。
· tenant_gateway_name:指定租户绑定的出口网关名称,默认为None,当配置项tenant_gw_selection_strategy配置为“match_gateway_name”时有效,此时需配置为控制器侧已有出口网关的网关名称。目前仅Pike、Queens、Rocky和Trainy支持配置此参数。
· tenant_gw_selection_strategy:租户出口网关选择策略,默认为“match_first”,即选取第一个出口网关;当配置为“match_gateway_name”时,与配置项tenant_gateway_name同时生效。目前仅Pike、Queens、Rocky和Train支持配置此参数。
· enable_iam_auth:使能IAM接口认证,当对接SNA Center时,插件可配置此项为True,表示使用IAM接口完成认证。缺省值为False。目前仅Mitaka、Newton、Pike、Queens和Rocky版本插件支持配置本参数。
· enable_firewall_metadata:开启本功能时,CloudOS云平台可向控制器下发防火墙相关定制字段,如资源池名称等。本参数仅用于对接CloudOS平台时使用。目前仅Pike版本插件支持配置本参数。
· enable_vcfc_rpc:在DHCP逃生场景下,是否使能插件与控制器的RPC连接功能,默认值为False。目前仅Pike版本插件支持配置此参数。
· vcfc_rpc_url:控制器的RPC接口URL,目前仅支持websocket类型接口,默认值为“ws://127.0.0.1:1080”。目前仅Pike版本插件支持配置此参数。
· vcfc_rpc_ping_interval:向控制器发送RPC ping心跳报文的时间间隔,单位为秒,缺省为60秒。目前仅Pike版本插件支持配置此参数。
· enable_binding_gateway_with_tenant:是否使能控制器创建租户即绑定出口网关功能,缺省值为False,目前仅Pike版本插件支持配置此参数。取值为True时,在OpenStack云平台上为项目第一次创建网络时,控制器对应的租户会自动绑定出口网关。在OpenStack云平台上为项目第一次创建虚拟路由器时,无论此配置项取值是否为True,控制器对应的租户都会自动绑定出口网关。
· websocket_fragment_size:在DHCP逃生场景下,插件向控制器发送websocket消息分片的每片大小,单位为Byte,取值范围为不小于1024的整数。缺省值为102400,配置为1024表示不分片。目前仅Pike版本插件支持配置此参数。
· lb_member_slow_shutdown:创建LB实服务器时是否开启慢宕功能,当取值为True时,表示开启,False表示不开启,缺省值为False。目前仅Pike版本插件支持配置此参数。
· qos_rx_limit_min:流量入方向带宽限速最小值,单位为kbps。当OpenStack配置的QoS的流量入方向带宽限速值小于本参数时,则流量入方向带宽限速值将以本参数为准。目前仅Kilo 2015.1版本插件支持配置本参数。
· enable_network_l3vni:创建外部网络时是否下发L3VNI,该配置仅在enable_l3_vxlan配置为True时才可生效。当取值为True时,表示开启,False表示不开启,缺省值为False。目前仅Pike版本插件支持配置此参数。
· lb_resource_mode:LB服务资源的资源池模式。当取值为SP时,表示所有网关共享一个LB资源池,当取值为MP时,表示为每个网关创建一个LB资源池,缺省值为SP。目前仅Pike版本插件支持配置此参数。
· neutron_black_list:Neutron黑名单功能。仅支持配置为flat,缺省值为空。当配置为flat时,SDN ML2插件不再向控制器下发flat类型的内网网络资源,并且不支持flat类型内网子网绑定、解绑路由器接口。目前仅Pike版本支持配置此参数。
· enable_lb_xff:LB监听器的XFF透传功能。当取值为True时,表示开启,False表示不开启,缺省值为False。当取值为True,且监听器protocol为HTTP或TERMINATED_HTTPS时,新创建的监听器默认开启XFF透传功能,客户端的IP地址通过封装在HTTP header的X-Forward-For字段透传到服务端。目前仅Pike版本支持配置此参数。当在CloudOS云平台部署插件时,本配置项建议配置为False。
· cloud_identity_mode:是否开启多云平台功能。取值为disable(默认值)、region和custom。目前仅Newton、Queens、Rocky和Train版本插件支持配置此参数。
¡ disable:插件下发资源到控制器时不携带"cloud_region_name"字段。
¡ region:插件下发资源到控制器时携带"cloud_region_name"字段,值为云平台的region name,多云平台对接控制器时不同的云平台需要配置为不同的region name。
¡ custom:插件下发资源到控制器时携带"cloud_region_name"字段,值为插件"custom_cloud_name"配置项的值,多云对接控制器时不同的云平台需要配置插件"custom_cloud_name"配置项为不同值。
· custom_cloud_name:插件配置cloud_region_name,缺省值为openstack-1。仅当cloud_identity_mode取值为custom时本参数生效。目前仅Newton、Queens、Rocky和Train支持配置此参数。配置后不允许变更。
· deploy_network_resource_gateway:是否携带外部网络资源的gateway_list字段,缺省值为False。当deploy_network_resource_gateway配置为True时,network_force_flat需配置为False。目前仅Pike版本插件支持配置此参数。
· force_vlan_port_details_qvo:VLAN类型网络中的虚拟机上线后,是否在OVS桥上强制创建qvo类型的端口。当取值为true时,会强制创建qvo类型的端口;当取值为false时,会根据云平台的配置自动创建tap或qvo类型的端口。首次对接云平台业务时,建议配置为False。目前仅Mitaka、Newton、Pike、Queens、Rocky和Train版本插件支持配置本参数。
· enable_firewall_object_group:是否开启插件的防火墙对象组功能,缺省值为False。当取值为True时,云平台可通过插件创建防火墙对象组。目前仅Rocky支持配置此参数。如需使用此功能,还需在云平台上进行适配,适配方式请联系技术支持工程师。
· enable_algorithm_upgrade:该参数用于兼容从Kilo版本升级到Pike版本时主机id的计算方法的差异。该参数仅用于兼容旧版本升级。
(8) 当white_list定制为True时,需要在控制器上添加免认证用户,将免认证IP填写为Neutron-server所在主机的IP地址,“角色”选择“管理员”。
(9) 当binddefaultrouter定制为True时,需要在SeerEngine-DC上配置默认虚拟路由器,步骤为:在SeerEngine-DC的Web页面中单击[租户 > 全部租户]菜单项,在租户页面列表中单击default租户的名称,进入租户网络&服务页面;再单击[您的网络 > 虚拟路由器]菜单项,进入虚拟路由器配置页面,单击<增加>按钮,在弹出的页面中配置名称为defaultRouter,在“高级配置”页签中选择“使用公网VRF”,单击<应用>按钮完成操作。
(10) 当use_neutron_credential定制为True时,需要进行以下配置:
a. 修改neutron.conf配置文件。
通过vi编辑器打开neutron.conf配置文件,按[i]键进入编辑模式,新增如下配置。修改完成后保存neutron.conf配置文件并退出vi编辑器。
[keystone_authtoken]
admin_user = neutron
admin_password = 123456
参数含义为:
¡ admin_user:在OpenStack上进行Keystone认证使用的管理用户名称(以neutron为例)。
¡ admin_password:在OpenStack上进行Keystone认证使用的管理用户密码(以123456为例)。
b. 在控制器上增加管理员用户,配置用户名为neutron,角色选择为系统管理员,密码请使用OpenStack上neutron用户对应的密码。
(11) 重启neutron-server服务。
[root@localhost ~]# service neutron-server restart
neutron-server stop/waiting
neutron-server start/running, process 4583
(12) 重启h3c-agent服务。
[root@localhost ~]# service h3c-agent restart
h3c-agent stop/waiting
h3c-agent start/running, process 4678
当多个节点安装了VCF Neutron插件,需要保证安装或升级后只有一个节点的h3c-agent服务可用,否则会导致防火墙配置重复下发。可通过如下步骤停止其他节点的h3c-agent服务:
a. 通过service h3c-agent status查看h3c-agent的服务状态。
b. 使用service h3c-agent stop命令停止节点的h3c-agent服务。
c. 使用systemctl disable h3c-agent命令防止服务器重启等导致h3c-agent服务被拉起。
(1) 验证VCF OpenStack软件包是否安装成功。若显示正确的软件版本号和OpenStack版本号,则说明安装成功。
¡ .egg文件
[root@localhost ~]# pip freeze | grep PLUGIN
SeerEngine-DC-PLUGIN===E3603P01-pike-2017.10
当插件为Train版本,且操作系统为CentOS 8时:
[root@localhost ~]# pip3 freeze | grep PLUGIN
SeerEngine-DC-PLUGIN===E3603P01-train-2021.9
¡ .rpm文件
[root@localhost ~]# rpm -qa | grep PLUGIN
SeerEngine-DC-PLUGIN===E3603P01-pike-2017.10.noarch
(2) 验证neutron-server服务是否已开启。若显示neutron-server服务为running状态的运行信息,则说明启动成功。
[root@localhost ~]# service neutron-server status
neutron-server start/running, process 1849
(3) 验证h3c-agent服务是否已开启。若显示h3c-agent服务为running状态的运行信息,则说明启动成功。
[root@localhost ~]# service h3c-agent status
h3c-agent start/running, process 4678
您可以通过如下方法卸载VCF Neutron插件。卸载时请先卸载VCF Neutron插件,然后再卸载VCF OpenStack软件包。
(1) 卸载VCF Neutron插件。
[root@localhost ~]# h3c-vcfplugin controller uninstall
Remove service
Removed symlink /etc/systemd/system/multi-user.target.wants/h3c-agent.service.
Restore config files
Uninstallation complete.
对于Kilo 2015.1、Liberty、Mitaka、Newton和Ocata版本,卸载时可以选择是否保留数据库卸载:
· 不保留数据库卸载:选择y,表示卸载VCF Neutron插件的同时将删除其连接的数据库。当选择此方式卸载时,如果OpenStack上配置了SERVICE_CHAIN类型防火墙、GATEWAY或SERVICE_CHAIN类型负载均衡,建议用户先在OpenStack上删除这些配置,再进行卸载操作。
· 保留数据库卸载:选择n,表示仅卸载VCF Neutron插件,不删除其连接的数据库。重新安装新版本的VCF Neutron插件时,VCF Neutron插件将自动读取原数据库中的配置文件。
(2) 卸载VCF OpenStack软件包。
¡ .egg文件
[root@localhost ~]# pip uninstall seerengine-dc-plugin
Uninstalling SeerEngine-DC-PLUGIN-E3603P01-pike-2017.10:
/usr/bin/h3c-agent
/usr/bin/h3c-vcfplugin
/usr/lib/python2.7/site-packages/SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-py2.7.egg
Proceed (y/n)? y
Successfully uninstalled SeerEngine-DC-PLUGIN-E3603P01-pike-2017.10
当插件为Train版本,且操作系统为CentOS 8时:
[root@localhost ~]# pip3 uninstall seerengine-dc-plugin
Uninstalling SeerEngine-DC-PLUGIN-E3603P01-train-2021.9:
/usr/bin/h3c-agent
/usr/bin/h3c-sdnplugin
/usr/local/lib/python3.6/site-packages/SeerEngine_DC_PLUGIN-E3603P01 _train_2021.9-py3.6.egg
Proceed (y/n)? y
Successfully uninstalled SeerEngine-DC-PLUGIN-E3603P01-train-2021.9
¡ .rpm文件
[root@localhost ~]# rpm -e SeerEngine_DC_PLUGIN
升级VCF Neutron插件时请先卸载旧版本插件,具体方法请参见“3.2.2 卸载VCF Neutron插件”,然后重新安装新版本插件,具体方法请参见“3.2.1 安装VCF Neutron插件”。升级过程中可能造成业务中断,请谨慎操作。
· 当插件进行跨版本升级时,可能由于不同版本插件的配置文件中参数缺省值不同导致升级前后插件的配置不同。此时,建议用户手动修改相关参数取值以保证升级前后插件配置相同。
· 当多个节点重新安装新版本插件后,需要保证只有一个节点的h3c-agent服务可用,否则会导致防火墙配置重复下发。具体方法请参见“3.2.1 安装VCF Neutron插件”。
在KVM类型的网络Overlay组网场景中,需要在计算节点上安装lldpad服务。
(1) 在节点上安装并启动lldpad。
[root@localhost ~]# yum install -y lldpad
[root@localhost ~]# systemctl enable lldpad.service
[root@localhost ~]# systemctl start lldpad.service
(2) 在节点上配置上行口开启发送LLDP 功能,以上行口为eno2为例。
[root@localhost ~]# lldptool set-lldp -i eno2 adminStatus=rxtx;
[root@localhost ~]# lldptool -T -i eno2 -V sysName enableTx=yes;
[root@localhost ~]# lldptool -T -i eno2 -V portDesc enableTx=yes;
[root@localhost ~]# lldptool -T -i eno2 -V sysDesc enableTx=yes;
[root@localhost ~]# lldptool -T -i eno2 -V sysCap enableTx=yes;
Train版本插件不支持Nova补丁。
仅在以下场景中,需要安装Nova补丁:
· KVM类型的主机Overlay或网络Overlay组网中,如果虚拟机作为Loadbalancer成员,Loadbalancer需要感知成员状态
· vCenter类型的网络Overlay场景
Nova补丁软件包打包在VCF OpenStack软件包中,访问网址http://www.h3c.com/cn/Software_Download,依次点击“SDN -> H3C Virtual Converged Framework控制器”,下载所需版本的VCF OpenStack软件包,并将VCF OpenStack软件包拷贝至服务器或虚拟机上的待安装目录下,或通过FTP、TFTP、SCP等文件传输协议将软件包上传到指定目录。
使用FTP、TFTP方式上传时,请选择binary模式(二进制模式)传输,以免损坏软件包。
(1) 进入VCF OpenStack软件包(.egg/.rpm文件)的存放路径(以路径/root为例),安装VCF OpenStack软件包。软件包的名称格式为SeerEngine_DC_PLUGIN-version1_version2-py2.7.egg或SeerEngine_DC_PLUGIN-version1_version2.noarch.rpm,其中version1为软件包版本号,version2为OpenStack版本号。
¡ .egg文件
[root@localhost ~]# easy_install SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-py2.7.egg
¡ .rpm文件
[root@localhost ~]# rpm -ivh SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-1.noarch.rpm
(2) 安装Nova补丁。
[root@localhost ~]# h3c-vcfplugin compute install
Install the nova patch
modifying:
/usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py
modify success, backuped at: /usr/lib/python2.7/site-packages/nova/virt/vmwareapi/vmops.py.h3c_bak
modifying部分表示VCF Nova补丁修改的开源Nova文件以及修改前文件的备份路径。
(3) 如果计算节点类型为主机Overlay,请按照如下步骤配置。
a. 关闭计算节点的neutron-openvswitch-agent 服务并设为开机不启动。
[root@localhost ~]# service neutron-openvswitch-agent stop
[root@localhost ~]# systemctl disable neutron-openvswitch-agent.service
b. 在控制节点上通过neutron agent-list 命令检查数据库中是否存在该计算节点的Agent。如不存在,请继续进行下一步;如存在,请通过neutron agent-delete id 命令删除,其中id 表示该计算节点的Agent ID。
[root@localhost ~]# neutron agent-list
| id | agent_type | host |
| 25c3d3ac-5158-4123-b505-ed619b741a52 | Open vSwitch agent | compute3
[root@localhost ~]# neutron agent-delete 25c3d3ac-5158-4123-b505-ed619b741a52
Deleted agent: 25c3d3ac-5158-4123-b505-ed619b741a52
c. 在计算节点上通过vi编辑器打开nova.conf配置文件。
[root@localhost ~]# vi /etc/nova/nova.conf
d. 按[i]键进入编辑模式,按照如下所示修改文件配置。修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存nova.conf配置文件并退出vi编辑器。
¡ 计算节点的Hypervisor类型为KVM时,配置文件如下:
[s1020v]
s1020v = False
member_status = True
[neutron]
ovs_bridge = vds1-br
¡ 计算节点的Hypervisor类型为VMware vCenter时,配置文件如下:
[DEFAULT]
compute_driver = vmwareapi.VMwareVCDriver
[vmware]
host_ip = 127.0.0.1
host_username = sdn
host_password = skyline123
cluster_name = vcenter
insecure = True
[s1020v]
s1020v = False
vds = VDS2
(4) 如果计算节点类型为网络Overlay:
· 当计算节点的Hypervisor类型为KVM时,不需要安装Nova插件。
· 当计算节点的Hypervisor类型为VMware vCenter时,请按照如下步骤配置:
a. 关闭neutron-openvswitch-agent服务并设为开机不启动。
[root@localhost ~]# service neutron-openvswitch-agent stop
[root@localhost ~]# systemctl disable neutron-openvswitch-agent.service
b. 检查该计算节点是否在SeerEngine-DC上上线,即检查SeerEngine-DC的[基础网络 > 计算域]页面是否有该计算节点上线。如果有该上线计算节点,请在页面上删除该节点。
c. 在控制节点上通过neutron agent-list命令检查数据库中是否存在该计算节点的Agent。如不存在,请继续进行下一步;如存在,请通过neutron agent-delete id命令删除,其中id表示该计算节点的Agent ID。
[root@localhost ~]# neutron agent-list
| id | agent_type | host |
| 25c3d3ac-5158-4123-b505-ed619b741a52 | Open vSwitch agent | compute3
[root@localhost ~]# neutron agent-delete 25c3d3ac-5158-4123-b505-ed619b741a52
Deleted agent: 25c3d3ac-5158-4123-b505-ed619b741a52
d. 通过vi编辑器打开nova.conf配置文件。
[root@localhost ~]# vi /etc/nova/nova.conf
e. 按[i]键进入编辑模式,按照如下所示修改文件配置。修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存nova.conf配置文件并退出vi编辑器。
[DEFAULT]
compute_driver = vmwareapi.VMwareVCDriver
[vmware]
host_ip = 127.0.0.1
host_username = sdn
host_password = skyline123
cluster_name = vcenter
insecure = True
[s1020v]
s1020v = False
vds = VDS2
uplink_teaming_policy = loadbalance_srcid
根据组网环境的不同,步骤(3)和步骤(4)只需二者配置其一。
各参数含义如下:
· s1020v:是否使用H3C S1020V虚拟交换机转发各虚拟机之间以及虚拟机与外部网络之间的流量(以False为例)。本字段已废弃。
· member_status:是否开启虚拟机上下电时修改OpenStack上负载均衡器的成员状态的功能(以True为例)。
· vds:vCenter上主机所属的VDS名称(以VDS2为例)。主机Overlay组网环境下,只能指定SeerEngine-DC推送给vCenter的VDS;网络Overlay组网环境下,可根据组网需求指定任意一个已存在的VDS。
· uplink_teaming_policy:上行链路采取的聚合策略,取值包括:
¡ loadbalance_srcid:基于源虚拟端口的路由。
¡ loadbalance_ip:基于IP哈希的路由。
¡ loadbalance_srcmac:基于源MAC哈希的路由。
¡ loadbalance_loadbased:基于物理网卡负载的路由。
¡ failover_explicit:使用明确故障切换顺序。
· ovs_bridge:修改H3C S1020V虚拟交换机网桥的名称,网桥的名称与H3C S1020V虚拟交换机上已创建的网桥名称相同(以vds1-br为例)。
· compute_driver:计算节点进行虚拟化所使用的驱动名称。
· host_ip:登录vCenter的IP地址(以127.0.0.1为例)。
· host_username:登录vCenter的用户名(以sdn为例)。
· host_password:登录vCenter的密码(以skyline123为例)。如密码中包含字符“$”,需要在该字符前输入转义符“\”。
· cluster_name:vCenter环境中集群的名称(以vcenter为例)。
· insecure:登录vCenter时不进行安全检查。
(5) 重启openstack-nova-compute服务。
[root@localhost ~]# service openstack-nova-compute restart
(1) 验证VCF OpenStack软件包是否安装成功。若显示正确的软件包版本号和OpenStack版本号,则说明安装成功。
¡ .egg文件
[root@localhost ~]# pip freeze | grep PLUGIN
SeerEngine-DC-PLUGIN===E3603P01-pike-2017.10
¡ .rpm文件
[root@localhost ~]# rpm -qa | grep PLUGIN
SeerEngine-DC-PLUGIN===E3603P01-pike-2017.10.noarch
(2) 验证openstack-nova-compute服务是否已开启。若显示openstack-nova-compute服务为running状态的运行信息,则说明启动成功。
[root@localhost ~]# service openstack-nova-compute status
nova-compute start/running, process 184
您可以通过如下方法卸载Nova补丁。卸载时请先卸载Nova补丁,然后再卸载VCF OpenStack软件包。
(1) 卸载Nova补丁。
[root@localhost ~]# h3c-vcfplugin compute uninstall
Uninstall the nova patch
(2) 卸载VCF OpenStack软件包。
¡ .egg文件
[root@localhost ~]# pip uninstall seerengine-dc-plugin
Uninstalling SeerEngine-DC-PLUGIN-E3603P01-pike-2017.10:
/usr/bin/h3c-agent
/usr/bin/h3c-vcfplugin
/usr/lib/python2.7/site-packages/SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-py2.7.egg
Proceed (y/n)? y
Successfully uninstalled SeerEngine-DC-PLUGIN-E3603P01-pike-2017.10
¡ .rpm文件
[root@localhost ~]# rpm -e SeerEngine_DC_PLUGIN
升级Nova补丁时请先卸载旧版本补丁,具体方法请参见“3.4.2 卸载Nova补丁”,然后重新安装新版本补丁,具体方法请参见“3.4.1 安装Nova补丁”。升级过程中可能造成业务中断,请谨慎操作。
Rocky和Train版本插件不需要安装openvswitch-agent补丁。
openvswitch-agent补丁软件包打包在VCF OpenStack软件包中,访问网址http://www.h3c.com/cn/Software_Download,依次点击“SDN -> H3C Virtual Converged Framework控制器”,下载所需版本的VCF OpenStack软件包,并将VCF OpenStack软件包拷贝至服务器或虚拟机上的待安装目录下,或通过FTP、TFTP、SCP等文件传输协议将软件包上传到指定目录。
使用FTP、TFTP方式上传时,请选择binary模式(二进制模式)传输,以免损坏软件包。
(1) 进入VCF OpenStack软件包(.egg/.rpm文件)的存放路径(以路径/root为例),安装VCF OpenStack软件包。软件包的名称格式为SeerEngine_DC_PLUGIN-version1_version2-py2.7.egg或SeerEngine_DC_PLUGIN-version1_version2.noarch.rpm,其中version1为软件包版本号,version2为OpenStack版本号。
¡ .egg文件
[root@localhost ~]# easy_install SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-py2.7.egg
¡ .rpm文件
[root@localhost ~]# rpm -ivh SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-1.noarch.rpm
(2) 安装openvswitch-agent补丁。
[root@localhost ~]# h3c-vcfplugin openvswitch install
(3) 重启openvswitch-agent服务。
[root@localhost ~]# service neutron-openvswitch-agent restart
(1) 验证VCF OpenStack软件包是否安装成功。若显示正确的软件包版本号和OpenStack版本号,则说明安装成功。
¡ .egg文件
[root@localhost ~]# pip freeze | grep PLUGIN
SeerEngine-DC-PLUGIN===E3603P01-pike-2017.10
¡ .rpm文件
[root@localhost ~]# rpm -qa | grep PLUGIN
SeerEngine-DC-PLUGIN===E3603P01-pike-2017.10.noarch
(2) 验证openvswitch-agent服务是否已开启。若显示openvswitch-agent服务为running状态的运行信息,则说明启动成功。
[root@localhost ~]# service neutron-openvswitch-agent status
Redirecting to /bin/systemctl status neutron-openvswitch-agent.service
neutron-openvswitch-agent.service - OpenStack Neutron Open vSwitch Agent
Loaded: loaded (/usr/lib/systemd/system/neutron-openvswitch-agent.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2016-12-05 16:58:18 CST; 18h ago
Main PID: 807 (neutron-openvsw)
您可以通过如下方法卸载openvswitch-agent补丁。卸载时请先卸载openvswitch-agent补丁,然后再卸载VCF OpenStack软件包。
(1) 卸载openvswitch-agent补丁。
[root@localhost ~]# h3c-vcfplugin openvswitch uninstall
(2) 卸载VCF OpenStack软件包。
¡ .egg文件
[root@localhost ~]# pip uninstall seerengine-dc-plugin
Uninstalling SeerEngine-DC-PLUGIN-E3603P01-pike-2017.10:
/usr/bin/h3c-agent
/usr/bin/h3c-vcfplugin
/usr/lib/python2.7/site-packages/SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-py2.7.egg
Proceed (y/n)? y
Successfully uninstalled SeerEngine-DC-PLUGIN-E3603P01-pike-2017.10
¡ .rpm文件
[root@localhost ~]# rpm -e SeerEngine_DC_PLUGIN
升级openvswitch-agent补丁时请先卸载旧版本补丁,具体方法请参见“3.5.2 卸载openvswitch-agent补丁”,然后重新安装新版本补丁,具体方法请参见“3.5.1 安装openvswitch-agent补丁”。升级过程中可能造成业务中断,请谨慎操作。
当网络Overlay场景需要支持DHCP逃生时,需要安装DHCP逃生相关组件。目前仅Pike版本插件支持DHCP逃生功能。
DHCP逃生相关组件仅支持CentOS 7操作系统,内核版本需与S1020V的版本配套,若不配套,请先安装内核补丁。
(1) 分别在控制节点和网络节点安装websocket-client工具包。
[root@localhost ~]# yum install –y python-websocket-client
python-websocket-client的版本需要确保在0.56及以上。
(2) 在网络节点上安装S1020V,并完成桥配置、控制器配置。具体步骤请参见《H3C S1020V虚拟交换机 安装指导》。
[root@localhost ~]# rpm -ivh --force s1020v-centos71-3.10.0-229.el7.x86_64-x86_64.rpm
(3) 停止OpenStack的开源DHCP和Metadata服务,如果没有安装,请跳过此步骤。
[root@localhost ~]# systemctl stop neutron-dhcp-agent neutron-metadata-agent
[root@localhost ~]# systemctl disable neutron-dhcp-agent neutron-metadata-agent
DHCP逃生相关组件的软件包打包在VCF OpenStack软件包中,作为一个单独的软件包对外提供,软件包的名称格式为:SeerEngine_DC_PLUGIN-DHCP_version1_version2.egg,其中version1为软件包版本号,version2为OpenStack版本号。
获取所需版本的VCF OpenStack软件包,并将VCF OpenStack软件包拷贝至服务器或虚拟机上的待安装目录下,或通过FTP、TFTP、SCP等文件传输协议将软件包上传到指定目录。
使用FTP、TFTP方式上传时,请选择binary模式(二进制模式)传输,以免损坏软件包。
(1) 进入VCF OpenStack软件包(.egg文件)的存放路径(以路径/root为例),安装VCF OpenStack软件包。
[root@localhost ~]# easy_install SeerEngine_DC_PLUGIN-DHCP_E3607_pike_2017.10-py2.7.egg
(2) 安装DHCP组件。
[root@localhost ~]# h3c-vcfplugin dhcp install
Install Environment dependent packages
Preparing… ########## [100%]
Updating / installing…
1. python2-six-1.10.0-9.el7 ########## [ 1%]
2. ………
Install config files
Install services
Installation complete
Please do not remove the *.h3c_bak files.
(3) 修改DHCP组件配置文件。
a. 在网络节点上通过vi编辑器打开h3c_dhcp_agent.ini配置文件。
[root@localhost ~]# vi /etc/neutron/h3c_dhcp_agent.ini
b. 按[i]键进入编辑模式,按照如下所示修改文件配置。
[DEFAULT]
interface_driver = openvswitch
dhcp_driver = networking_h3c.agent.dhcp.driver.dhcp.Dnsmasq
enable_isolated_metadata = true
force_metadata = true
ovs_integration_bridge = vds1-br
[h3c]
transport_url = ws://127.0.0.1:8080
websocket_fragment_size = 102400
[ovs]
ovsdb_interface = vsctl
c. 如果使用证书认证,需添加以下配置。
[h3c]
ca_file = /etc/neutron/ca.crt
cert_file = /etc/neutron/sna.pem
key_file = /etc/neutron/sna.key
key_password = 123456
insecure = true
d. 如果使用控制器北向API接口连接,需添加配置(配置项的含义Neutron插件配置项相同)。
[VCFCONTROLLER]
url = https://127.0.0.1:8443
username = sdn
password = skyline
enable_https = False
neutron_plugin_ca_file =
neutron_plugin_cert_file =
neutron_plugin_key_file =
e. 修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车键,保存配置文件并退出vi编辑器。
各参数含义如下:
· interface_driver:用于管理虚拟接口的驱动程序,目前仅支持配置openvswitch。
· dhcp_driver:用于管理DHCP Server的驱动程序,目前仅支持配置networking_h3c.agent.dhcp.driver.dhcp.Dnsmasq。
· ovs_integration_bridge: dhcp port上线的虚拟交换机桥,例如vds1-br。
· transport_url:控制器的RPC接口URL,目前仅支持websocket类型接口,默认值为“ws://127.0.0.1:1080”。具体配置信息,需根据对接的控制器产品配置,例如ws对接SNA Center时,需配置为ws://SNA集群IP:10080;wss对接SNA Center时,需配置为wss://SNA集群IP:10443;ws对接U-Center时,需配置为ws://U-Center集群IP:30000。
· websocket_fragment_size:向控制器发送websocket消息分片的大小,单位为Byte,取值范围为不小于1024的整数。缺省值为102400,配置为1024表示不分片。
· insecure:是否开启websocket证书认证,取值为true或false,默认为false。
(4) 启动DHCP组件。
[root@localhost ~]# systemctl enable h3c-dhcp-agent.service
[root@localhost ~]# systemctl start h3c-dhcp-agent.service
(1) 安装逃生服务的Metadata组件。
[root@localhost ~]# h3c-vcfplugin metadata install
Install config files
Install services
Installation complete
Please do not remove the *.h3c_bak files.
(2) 修改Metadata组件配置文件。
a. 在网络节点上通过vi编辑器打开h3c_metadata_agent.ini配置文件。
[root@localhost ~]# vi /etc/neutron/h3c_metadata_agent.ini
b. 按[i]键进入编辑模式,按照如下所示修改文件配置。
[DEFAULT]
nova_metadata_host = controller
nova_metadata_port = 8775
nova_proxy_shared_secret = METADATA_SECRET
enable_keystone_authtoken = True
[cache]
[keystone_authtoken] //配置项含义同neutron.conf中同名配置项
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = NEUTRON_PASSWORD
[VCFCONTROLLER] //配置项含义同插件配置文件ml2_conf_h3c.ini中配置项
url = https://127.0.0.1:8443
username = sdn
password = skyline
enable_https = False
neutron_plugin_ca_file =
neutron_plugin_cert_file =
neutron_plugin_key_file =
c. 修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车键,保存配置文件并退出vi编辑器。
参数解释如下:
· nova_metadata_host:nova metadata服务的IP地址或者DNS名称。
· nova_metadata_port:nova metadata服务的TCP端口号。
· nova_proxy_shared_secret:当代理Metadata请求时,Neutron使用共享秘钥对Instance-ID头进行签名,以防欺骗。此参数需与控制节点nova.conf中metadata_proxy_shared_secret参数一致。
· enable_keystone_authtoken:是否启用neutron api功能,取值为True时需配置[keystone_authtoken]认证项;取值为False时需配置[VCFCONTROLLER]认证项。
(3) 启动Metadata组件。
[root@localhost ~]# systemctl enable h3c-metadata-agent.service
[root@localhost ~]# systemctl start h3c-metadata-agent.service
您可以通过如下方法卸载逃生服务相关组件。卸载时请先卸载DHCP组件和Metadata组件,然后再卸载VCF OpenStack软件包。
(1) 卸载DHCP组件。
[root@localhost ~]# h3c-vcfplugin dhcp uninstall
Remove services
Removed symlink /etc/system/system/multi-user.target.wants/h3c-dhcp-agent.service.
Backup config files
Uninstallation complete
(2) 卸载Metadata组件。
[root@localhost ~]# h3c-vcfplugin metadata uninstall
Remove services
Removed symlink /etc/system/system/multi-user.target.wants/h3c-metadata-agent.service.
Backup config files
Uninstallation complete
(3) 卸载VCF OpenStack软件包。
¡ .egg文件
[root@localhost ~]# pip uninstall seerengine-dc-plugin
Uninstalling SeerEngine-DC-PLUGIN-E3603P01-pike-2017.10:
/usr/bin/h3c-agent
/usr/bin/h3c-vcfplugin
/usr/lib/python2.7/site-packages/SeerEngine_DC_PLUGIN-E3603P01_pike_2017.10-py2.7.egg
Proceed (y/n)? y
Successfully uninstalled SeerEngine-DC-PLUGIN-E3603P01-pike-2017.10
¡ .rpm文件
[root@localhost ~]# rpm -e SeerEngine_DC_PLUGIN
升级组件时请先卸载旧版本,然后重新安装新版本。升级过程中可能造成业务中断,请谨慎操作。
开源OpenStack支持VM通过DHCP和L3 Gateway两种方式从网络节点获取Metadata数据,我司当前的Metadata方案仅支持DHCP方式。当使用我司的Metadata方案时,请按如下步骤配置网络节点的Metadata服务。
OpenStack安装指导请从OpenStack官网下载,请参照该手册正确配置网络节点的Metadata服务。
(1) 通过vi编辑器打开dhcp_agent.ini配置文件。
[root@network ~]# vi /etc/neutron/dhcp_agent.ini
(2) 按[i]键进入编辑模式,按照如下所示修改文件配置。修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存dhcp_agent.ini配置文件并退出vi编辑器。
force_metadata = True
参数含义如下:
· force_metadata:强制网络节点通过DHCP方式提供Metadata服务。
本功能用于对云平台和控制器上的资源信息进行对比和同步。当前仅Rocky、Train、Queens、Pike、Newton和Mitaka版本支持配置本功能。
使用命令h3c-vcfplugin-extension compare --file [绝对路径]文件名.csv进行对比。
如不指定“--file [绝对路径]文件名.csv”,则将比较结果保存至默认文件中,默认文件为/var/log/neutron/compare_data-time.csv,其中,time为开始比较的时间。
· 如指定“--file [绝对路径]文件名.csv”,则将比较结果保存在指定的文件中,如不指定绝对路径,则文件为“/var/log/neutron/文件名.csv”。
比较完成后,生成的结果文件中包含以下字段:
· Resource:资源类型名称
· Name:资源名称
· Id:资源ID
· Tenant_id:该资源所属租户ID
· Tenant_name:该资源所属租户名称
· Status:比较结果,取值为:
¡ lost:表示控制器端缺失,需要增加。
¡ different:表示控制器端存在但不相同,需要更新。
¡ surplus:表示控制器端多余,需要删除。
(1) 使用命令h3c-vcfplugin-extension sync --file比较结果文件名.csv进行同步。如果比较文件在/var/log/neutron/下,可以直接输入文件名,否则请输入绝对路径文件名。
(2) 执行命令后,会在同步之前展示资源统计信息,并提示用户进行确认,两次确认后(输入yes表示确认,no表示退出),开始同步资源。
(3) 同步完成后,将生成同步结果文件:/var/log/neutron/sync_all-time.csv,其中,time为开始同步时间。
· 请勿对比较结果文件的内容进行新增或修改操作。
· 请仔细核验比较结果文件和资源统计信息,避免误操作导致环境异常。
可以通过为yum命令设置HTTP代理的方法解决,具体步骤如下:
(1) 配置网络实现服务器或虚拟机能够正常访问HTTP代理服务器。
(2) 通过vi编辑器修改yum.conf配置文件。如果该配置文件不存在,则新建该文件。
[root@localhost ~]# vi /etc/yum.conf
(3) 按[i]键进入编辑模式,按照如下所示,在打开的yum.conf配置文件中添加HTTP代理信息。添加完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存yum.conf配置文件并退出vi编辑器。
· 当登录HTTP代理服务器无需用户名和密码时,请按如下格式添加代理信息:
proxy = http://yourproxyaddress:proxyport
· 当登录HTTP代理服务器需要用户名和密码时,请按如下格式添加代理信息:
proxy = http://yourproxyaddress:proxyport
proxy_username=username
proxy_password=password
¡ username:登录代理服务器的用户名(以sdn为例)。
¡ password:登录代理服务器的密码(以123456为例)。
¡ yourproxyaddress:代理服务器IP地址(以172.25.1.1为例)。
¡ proxyport:代理服务的端口号(以8080为例)。
proxy = http://172.25.1.1:8080
proxy_username = sdn
proxy_password = 123456
此问题由开源Bug导致,无法实现自动同步,只能在控制器上修改镜像目的模板,实现手动同步。
以网卡enp61s0f3为例,解决办法如下:
(1) 查询并记录系统内核信息。
[root@localhost ~]# uname -r
3.10.0-957.1.3.el7.x86_64
(2) 查询网卡详细信息,记录firmware-version和bus-info的值。
[root@localhost ~]# ethtool -i enp61s0f3
driver: i40e
version: 2.8.20-k
firmware-version: 3.33 0x80000f0c 1.1767.0
expansion-rom-version:
bus-info: 0000:3d:00.3
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
(3) 根据内核版本和网卡固件版本的不同,有以下两种解决方案:
· 当内核高于kernel-3.10.0-957.el7且网卡固件版本(firmware-version)大于等于4时
a. 执行如下命令。
[root@localhost ~]# ethtool --set-priv-flags enp61s0f3 disable-fw-lldp on
b. 查看disable-fw-lldp状态是否是on。
[root@localhost ~]# ethtool --show-priv-flags enp61s0f3 | grep lldp
disable-fw-lldp : on
c. 上述命令执行后,网卡LLDP报文已可收到,为防止服务器重启此命令失效,需要将此命令写入开机自定义程序启动文件中,已保证服务器重启有效。
d. 打开开机自启文件:
[root@localhost ~]# vi /etc/rc.d/rc.local
e. 按[i]键进入编辑模式,修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存修改。
ethtool --set-priv-flags enp61s0f3 disable-fw-lldp on
f. 设置文件权限为可执行文件。
[root@localhost ~]# chmod 755 /etc/rc.d/rc.local
· 内核版本小于kernel-3.10.0-957.el7或者网卡固件版本(firmware-version)小于4时
g. 执行命令echo "lldp stop" > /sys/kernel/debug/i40e/bus-info/command,其中,bus-info请输入已记录的网卡对应值,并在“:”前输入转义符“\”。
[root@localhost ~]# echo "lldp stop" > /sys/kernel/debug/i40e/0000\:3d\:00.3/command
上述命令执行后,网卡LLDP报文已可收到,为防止服务器重启此命令失效,需要将此命令写入开机自定义程序启动文件中,已保证服务器重启有效。
h. 打开开机自启文件:
[root@localhost ~]# vi /etc/rc.d/rc.local
i. 按[i]键进入编辑模式,添加以下配置,修改完成后,按[ESC]键退出编辑模式,再输入:wq,按回车,保存修改。
echo "lldp stop" > /sys/kernel/debug/i40e/0000\:3d\:00.3/command
j. 设置文件权限为可执行文件
[root@localhost ~]# chmod 755 /etc/rc.d/rc.local
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!