温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在ML2中enable local network

发布时间:2021-11-19 15:53:56 阅读:149 作者:柒染 栏目:云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>
# 如何在ML2中enable local network

## 前言

在OpenStack网络架构中,ML2(Modular Layer 2)插件是实现灵活网络配置的核心组件。当用户需要创建仅限本地通信的隔离网络时,启用local network类型是常见需求。本文将详细讲解在ML2中配置local network的完整流程,涵盖原理说明、环境准备、配置步骤及验证方法。

---

## 一、Local Network基础概念

### 1.1 什么是Local Network
Local network是OpenStack中最简单的网络类型,具有以下特性:
- **二层隔离**:仅在单个计算节点内有效
- **无外部连接**:不支持跨节点通信或访问外网
- **典型用途**  - 开发测试环境
  - 单节点应用部署
  - 需要完全隔离的网络场景

### 1.2 ML2中的实现原理
ML2通过mechanism driver实现local network:

+———————–+ | ML2 Core Plugin | +———–+———–+ | v +———–+———–+ | Local Type Driver | # 处理local网络类型 +———–+———–+ | v +———–+———–+ | Local Mechanism | # 实现本地端口绑定 | Driver | +———————–+

---

## 二、环境准备

### 2.1 系统要求
- OpenStack版本:Queens或更高
- 已安装并运行的ML2插件
- 至少一个计算节点

### 2.2 配置文件定位
主要配置文件路径:
```bash
/etc/neutron/plugins/ml2/ml2_conf.ini
/etc/neutron/plugins/ml2/ml2_conf_local.ini  # 可能存在的本地配置

三、详细配置步骤

3.1 修改ML2配置文件

[ml2]
type_drivers = local,flat,vlan,vxlan,geneve  # 确保包含local
tenant_network_types = local  # 允许租户创建local网络
mechanism_drivers = local,openvswitch,l2population  # 包含local机制驱动

[ml2_type_local]
# 通常无需额外参数

3.2 配置安全组(可选)

[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

3.3 重启服务

systemctl restart neutron-server
systemctl restart neutron-openvswitch-agent  # 如果使用OVS

四、创建Local Network实战

4.1 通过Dashboard创建

  1. 登录Horizon控制台
  2. 导航至 Project > Network > Networks
  3. 点击”Create Network”
  4. 在”Provider Network Type”中选择”Local”

4.2 通过CLI创建

# 创建网络
openstack network create --provider-network-type local test_local_net

# 创建子网
openstack subnet create --network test_local_net \
--subnet-range 192.168.100.0/24 local_subnet

4.3 验证网络状态

openstack network show test_local_net -c provider -c status

预期输出:

{
  "provider": "network_type='local'",
  "status": "ACTIVE"
}

五、高级配置技巧

5.1 混合网络类型配置

当需要同时支持多种网络类型时:

[ml2]
tenant_network_types = local,vxlan  # 多类型支持

5.2 限制Local Network使用

通过策略控制:

{
  "network:create": "rule:regular_user and not field:network:provider_network_type=local"
}

5.3 结合QoS策略

openstack network qos policy create local_qos
openstack network qos rule create --max-kbps 1000 --ingress local_qos
openstack port create --network test_local_net --qos-policy local_qos local_port

六、故障排查指南

6.1 常见错误及解决方案

错误现象 可能原因 解决方案
Network创建失败 type_drivers未包含local 修改ml2_conf.ini后重启服务
虚拟机无法通信 安全组规则限制 添加允许规则或临时禁用安全组
状态显示DOWN 机制驱动未加载 检查mechanism_drivers配置

6.2 日志分析位置

/var/log/neutron/server.log
/var/log/neutron/openvswitch-agent.log  # OVS环境

关键日志示例:

INFO neutron.plugins.ml2.managers [req-xxx] Created network with local type

七、性能优化建议

  1. 资源分配

    • 单个计算节点建议不超过50个local网络
    • 每个network对应一个Linux bridge(使用OVS时)
  2. 监控指标

    openstack network usage
    neutron port-list --device-owner compute:nova
    
  3. 清理无用网络

    openstack network purge --project <tenant_id>
    

结语

通过本文的详细指导,您应该已经掌握了在ML2中启用local network的完整方法。Local network虽然功能简单,但在特定场景下能提供最高效的隔离方案。建议在实际部署前在测试环境充分验证,并根据业务需求选择合适的网络类型组合。

注意:生产环境中使用local network需谨慎评估扩展性需求,跨节点通信需要选择vxlan等 overlay 网络类型。 “`

该文档包含: - 完整的技术实现路径 - 配置示例和命令片段 - 可视化架构说明 - 故障排查表格 - 实际操作的代码块 - 注意事项和最佳实践

总字数约1500字,可根据需要调整具体章节的详细程度。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/2397560/blog/739071

AI

开发者交流群×