Neutron知识整理

/etc/neutron/neutron.conf

Nova 虚机获取固定IP (Fixed IP)主要分为两个步骤:
(1)在创建虚机过程中,Neutron 随机生成 MAC 和 从配置数据中分配一个固定IP 地址,并保存到 Dnsmasq 的 hosts 文件中,让 Dnsmasq 做好准备。
(2)虚机在启动时向 Dnsmasq 获取 IP 地址

Neutron 提供 DHCP 服务的组件是 DHCP agent。
DHCP agent 在网络节点运行上,默认通过 dnsmasq 实现 DHCP 功能。
DHCP agent 的配置文件位于 /etc/neutron/dhcp_agent.ini

Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 如何独立的为每个 network 服务呢---------通过 Linux Network Namespace 隔离

每个 namespace 都有自己独立的网络栈,包括 route table,firewall rule,network interface device 等。
Neutron 通过 namespace 为每个 network 提供独立的 DHCP 和路由服务,从而允许租户创建重叠的网络。
如果没有 namespace,网络就不能重叠,这样就失去了很多灵活性。
每个 dnsmasq 进程都位于独立的 namespace, 命名为 qdhcp-
在这里插入图片描述

ip netns list   ##列出所有的 namespace
ip netns exec <ns_name> <ip(command)> ##在指定的ns中执行命令
sudo ip netns exec qdhcp-794d9da1-70cf-4172-ad51-c4140783c0e5 ip a  ##执行得到得tap81dc7eb8-3a网卡得ip;通过ovs-vsctl show | grep tap81dc7eb8-3a也可以找到
ip netns add NAME  ##创建一个命名的 network namespace
ip netns delete newns  # 删除ns
ip netns exec net1 bash 然后执行ip a 查看当前命名空间的ip ##进入ns
route -n   # 查看路由
iptables -nvL # 查看 filter 表防火墙规则
arp -n # 查看 arp 表信息
ifconfig # 查看启用的网卡信息
ip link # 查看网卡信息,不包括 IP 信息
ip addr # 查看网卡信息,包括 IP 信息

控制节点也就是网络节点:
neutron.conf和api-paste.ini的配置与计算节点上是一样的。
dhcp_agent.ini的主要设置以下几项:
nterface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
metadata_agent.ini的设置主要是keystone相关的

配置 Modular Layer 2 (ML2) plug-in

[DEFAULT]部分,启用ML2插件并禁用其他插件:

[DEFAULT]
...
core_plugin = ml2
service_plugins =    ###没有配置就是禁用其他插件

显示控制节点上有三个网桥 br-ex,br-int 和 br-tun:

  • br-ex:连接外部(external)网络的网桥。

  • br-int:集成(integration)网桥,所有 instance 的虚拟网卡和其他虚拟网络设备都将连接到该网桥。

  • br-tun:隧道(tunnel)网桥,基于隧道技术的 VxLAN 和 GRE 网络将使用该网桥进行通信。

这些网桥都是 Neutron 自动为我们创建的,但是通过 brctl show 命令却看不到它们。需要使用Open vSwitch 的命令 ovs-vsctl show 查看。

/etc/neutron/plugins/ml2/ml2_conf.ini 插件配置

[ml2]
type_drivers=flat,vlan,gre,vxlan,geneve ##使用flat、vlan、gre
、vxlan和geneve这5个驱动
mechanism_drivers=linuxbridge,openvswitch #使用linuxbridge和openvswich插件来创建网络
tenant_network_types=  #禁用私有网络,什么都不写
extension_drivers=port_security #启动端口安全扩展驱动

OVS

ovs整理
学习

ovs-appctl bond/list ##列出所有bond

ovs-appctl bond/show | grep dpdk ##查找dpdk

ovs-appctl bond/show bond_name ###显示bond的简要信息

ovs-ofctl show br-prv | grep dpdk[0-1]|awk -F " addr:" '{print $2"="$1}' |sed -e s/"[0-9]("// -e s/")"://##查找dpdk mac

sudo ovs-vsctl list-ifaces br_prv ##看指定网桥br_prv下的interface

ovs-vsctl list-ports br0 ##列出挂接到网桥br0上的所有网络接口(不包括本地接口)

ovs-vsctl list port s1 s1-eth1 ##查看端口配置信息

ovs-vsctl list-br ##列出所有网桥

ovs-vsctl list bridge s1 ##列出网桥简要信息

ovs-vsctl br-exists br0 ##判断网桥存在不,退出码:成功返回0

ovs-vsctl port-to-br ens33 ##列出已挂接ens33网络接口的网桥

sudo ovs-vsctl iface-to-br br_prv ##查看interface属于哪个桥

ovs-vsctl del-port br0 eth0 ##删除网桥br0上挂接的eth0网络接口

OVS与Vxlan

使用Openvswitch作为网络驱动之后创建vxlan网络会生成在controller生成三个网桥,分别是:
br-int 连接 Dnsmasq,流表逻辑处理
br-ex 连接网卡,出外网网桥
br-tun 隧道端点

在compute节点生成两中网桥,分别是:
br-int 连接虚拟机
br-tun 隧道端点,连接到controller

搭建

安装openswitch:
compute计算节点和controller控制节点都要执行:apt-get install neutron-openvswitch-agent或者yum -y install neutron-openvswitch-agent

#######/etc/neutron/plugins/ml2/ml2_conf.ini 文件
[ml2]
type_drivers = vlan,flat
tenant_network_types = vlan
mechanism_drivers =openvswitch,sriovnicswitch
extension_drivers = port_security

#######/etc/neutron/plugins/ml2/openvswitch_agent.ini
[ovs]
integration_bridge = br-int
bridge_mappings =physnet2:br-prv
enable_tunneling=False

增加用于外部网络的网桥: ovs-vsctl add-br br-ex
向外部网桥添加物理网卡: ovs-vsctl add-port br-ex ens33

下图为 compute节点的br-int网桥,网桥上挂有两个端点,第一个是与实例有关,第二个连接br-tun:
在这里插入图片描述在这里插入图片描述
下图为controller节点的端口信息,第一个为controller上br-int与br-tun的连接;第二个是dhcp的设备;第三个是dashboard中创建的路由器的一端;第四个是br-int与br-ex的连接。
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

Bridge与Vxlan

安装
vxlan配置:
      控制节点:

#####/etc/neutron/plugins/ml2/ml2_conf.ini文件
配置tenant_network_types = vxlan

配置flat外部网络的标签为provider,在创建外部网络时使用

#####/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件
配置物理网卡的映射,通俗讲即指定外网网卡
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值