OpenStack RDO 部署流程 - 2(ML2 + VxLAN)

本文详细介绍了使用OpenStack RDO进行ML2+VxLAN网络部署的过程,包括安装配置Neutron ML2框架、设置ML2参数、数据库初始化及配置网络节点等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenStack RDO 部署流程 - 2(ML2 + VxLAN)


1. 安装和配置Neutron ML2 框架

(1) 安装在控制节点上(运行Neutron-server的节点)

service neutron-server stop

yum install openstack-neutron-ml2 python-pyudev -y

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini -f

(2) 配置ML2参数

crudini --set /etc/neutron/neutron.conf DEFAULT core_plugin neutron.plugins.ml2.plugin.Ml2Plugin

# 启用L3路由服务,这里还可以在后面增加LBaaS、VPNaaS、FWaaS插件,插件间用逗号分隔即可。

crudini --set /etc/neutron/neutron.conf DEFAULT service_plugins neutron.services.l3_router.l3_router_plugin.L3RouterPlugin

# 启动Mechanism插件,默认启用了OpenvSwitch,LinuxBridge和L2Population。

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch,linuxbridge,l2population

# 启动Type插件,目前默认支持local、flat、vlan、gre、vxlan。

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers local,flat,vlan,gre,vxlan

# 租户网络类型,这边我们选择vxlan

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types vxlan

# 数据库配置,可直接参考/etc/neutron/neutron.conf

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini database sql_connection mysql://neutron:<password>@<host>/neutron_ml2

# 防火墙驱动

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

# 给每类Type插件,定义参数

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vlan network_vlan_ranges <same range syntax as openvswitch>

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks <list of physical_networks or *>

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_gre tunnel_id_ranges <list of ranges>

# 这里我们为vxlan配置vni范围,在1:10000。

crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vxlan vni_ranges 1:10000

(3) 数据库初始化

mysql -e "drop database if exists neutron_ml2;"

mysql -e "create database neutron_ml2 character setutf8;"

mysql -e "grant all on neutron_ml2.* to 'neutron'@'%';"

neutron-db-manage --config-file/usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head

service neutron-server start

(4) 在网络节点和计算节点上配置

/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini:

[ovs]

tunnel_id_ranges=1:10000

tenant_network_type=vxlan

enable_tunneling=True

tunnel_type = vxlan

[agent]

tunnel_types = vxlan

l2_population = True

service neutron-openvswitch-agent restart

(5) 配置IPtables策略,开放vxlan端口

/etc/sysconfig/iptables:

-A INPUT -p udp --dport 4789 -j ACCEPT


<think>好的,我需要帮助用户了解如何在CentOS 7系统上部署OpenStack。首先,用户可能对OpenStack不太熟悉,所以需要简要介绍一下。不过用户的问题更偏向部署步骤,所以重点放在安装过程上。 接下来,我需要确定用户的操作系统是CentOS 7,因此要考虑该版本的兼容性和支持的OpenStack版本。CentOS 7通常对应的是较旧的OpenStack版本,比如Queens或Rocky,但最新的部署可能使用Train或Ussuri。不过官方文档可能推荐特定组合,需要确认。 用户可能需要一个基本的部署指南,可能使用RDO或Packstack这样的自动化工具简化安装。因为手动部署OpenStack非常复杂,涉及多个组件,所以推荐使用Packstack进行快速部署。 接下来,步骤需要包括系统准备,比如更新系统、设置主机名、禁用防火墙和SELinux,或者配置它们以适应OpenStack的需求。然后安装RDO仓库和Packstack。之后运行Packstack生成答案文件,并根据需要编辑,最后执行安装。 需要注意网络配置,比如选择合适的网络类型(如Provider Network或Self-service Network),以及可能需要的桥接接口设置。另外,存储和计算节点的配置也可能需要额外步骤,但基础安装可能只包括控制节点和计算节点合一的情况。 需要提醒用户注意硬件要求,比如至少8GB内存,多核CPU,足够的磁盘空间等。此外,安装后的步骤包括验证服务,创建网络和实例,确保用户能够访问Dashboard。 可能遇到的问题包括依赖项缺失、网络配置错误、服务启动失败等,需要提供常见问题解决建议或指引用户查阅日志。最后,确保用户知道如何访问Horizon面板,以及后续配置的步骤。</think>以下是在CentOS 7系统上部署OpenStack的简明指南(以 **OpenStack Ussuri** 版本为例,使用RDO/Packstack工具简化部署): --- ### **一、部署前准备** #### **1. 系统要求** - 最低配置:4核CPU / 8GB内存 / 50GB磁盘(建议使用物理机或KVM虚拟机) - 纯净的CentOS 7系统(建议最小化安装) - 网络配置:静态IP地址、可访问互联网 #### **2. 基础环境配置** ```bash # 关闭防火墙和SELinux(测试环境推荐,生产环境需单独配置规则) systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config # 更新系统并安装EPEL仓库 yum update -y yum install -y epel-release # 设置主机名(需解析到本机IP) hostnamectl set-hostname openstack-controller echo "192.168.1.100 openstack-controller" >> /etc/hosts # 重启生效 reboot ``` --- ### **二、安装OpenStack** #### **1. 安装RDO仓库和Packstack工具** ```bash # 安装RDO仓库 yum install -y centos-release-openstack-ussuri yum upgrade -y # 安装Packstack部署工具 yum install -y openstack-packstack ``` #### **2. 生成并修改答案文件** ```bash # 生成默认配置文件(根据需求调整参数) packstack --gen-answer-file=answer.txt # 编辑配置文件(关键参数示例) vim answer.txt ``` ```ini # 配置示例: CONFIG_DEFAULT_PASSWORD=openstack123 # 所有服务统一密码 CONFIG_PROVISION_DEMO=n # 不创建演示网络和实例 CONFIG_KEYSTONE_ADMIN_PW=admin123 # Admin用户密码 CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan # 网络类型 CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex # 外部网络桥接 CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0 # 绑定物理网卡 ``` #### **3. 执行自动化部署** ```bash # 开始部署(耗时约30-60分钟) packstack --answer-file=answer.txt ``` --- ### **三、部署后配置** #### **1. 访问Dashboard** - 地址:`http://<服务器IP>/dashboard` - 用户名:`admin` - 密码:`admin123`(即CONFIG_KEYSTONE_ADMIN_PW的值) #### **2. 创建第一个网络和实例** ```bash # 加载OpenStack环境变量 source keystonerc_admin # 创建外部网络(示例) openstack network create --external --provider-physical-network physnet1 --provider-network-type flat public openstack subnet create --network public --subnet-range 192.168.1.0/24 --gateway 192.168.1.1 public-subnet # 创建实例(通过Dashboard或CLI) openstack server create --flavor m1.small --image cirros --network public test-instance ``` --- ### **四、注意事项** 1. **硬件虚拟化支持**:需确认CPU支持虚拟化(`grep -E 'vmx|svm' /proc/cpuinfo`) 2. **网络冲突**:若物理网卡已用于桥接,需避免IP地址冲突 3. **组件选择**:默认安装核心组件(Nova/Neutron/Glance/Keystone),如需Cinder/Swift需手动启用 4. **日志排查**:部署失败时可查看`/var/log/packstack`目录下的日志 --- ### **五、扩展建议** - 生产环境建议分离控制节点、计算节点和存储节点 - 使用Ceph作为后端存储提升性能 - 通过Terraform或Ansible实现自动化管理 如需更详细的组件配置(如高可用部署),请提供具体需求!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值