
红帽OpenStack部署(基于RHOSP 17/18版本)
2025/03/18
作者:博睿谷Eva

从 Undercloud部署、Overcloud配置 到 网络与存储集成,本文提供企业级OpenStack私有云搭建的完整步骤与调优方案,适用于 生产环境高可用架构。
一、部署前准备
1. 硬件与软件要求
组件 | 最低配置 | 推荐配置 |
---|---|---|
控制节点 | 8核CPU/32GB内存/500GB SSD(RAID 1) | 16核CPU/64GB内存/1TB NVMe(RAID 10) |
计算节点 | 16核CPU/64GB内存/1TB HDD + 2TB NVMe(GPU可选) | 32核CPU/128GB内存/4TB NVMe(SR-IOV支持) |
网络 | 万兆双网卡(管理网+数据网分离) | 25G/100G网卡(OVS-DPDK优化) |
操作系统 | Red Hat Enterprise Linux 8.6+(启用订阅) | RHEL 9.0+ |
2. 环境初始化
# 所有节点禁用SELinux与防火墙(部署后按需启用) sudo setenforce 0 sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config sudo systemctl stop firewalld && sudo systemctl disable firewalld # 配置NTP时间同步 sudo dnf install chrony -y sudo systemctl enable --now chronyd sudo chronyc sources
二、Undercloud部署
1. 安装Director节点
# 注册系统并启用RHOSP订阅 sudo subscription-manager register --username <RHN用户> --password <密码> sudo subscription-manager attach --pool=<RHOSP订阅池ID> # 安装Director安装包 sudo dnf install -y python3-tripleoclient git
2. 生成Undercloud配置
# 创建undercloud.conf模板 cat << EOF > undercloud.conf [DEFAULT] undercloud_hostname = director.example.com container_images_file = /home/stack/containers-prepare-parameter.yaml local_ip = 192.168.24.1/24 network_gateway = 192.168.24.1 network_cidr = 192.168.24.0/24 masquerade_network = 192.168.24.0/24 enable_telemetry = false enable_ui = true EOF # 下载容器镜像清单 openstack tripleo container image prepare default --output-env-file containers-prepare-parameter.yaml
3. 启动Undercloud部署
openstack undercloud install
三、Overcloud配置
1. 创建节点定义文件
2. 导入节点并配置角色
# 导入节点硬件信息 openstack overcloud node import nodes.yaml # 配置节点角色 openstack overcloud node configure --roles Control,Compute --all-manageable
3. 定义Overcloud网络
# network_data.yaml - name: External vip: true name_lower: external ip_subnet: '10.10.20.0/24' allocation_pools: [{'start': '10.10.20.100', 'end': '10.10.20.200'}] gateway_ip: '10.10.20.1' physical_network: 'external' type: 'flat'
4. 启动Overcloud部署
openstack overcloud deploy \ --templates \ --ntp-server pool.ntp.org \ --control-scale 3 \ --compute-scale 2 \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e network_data.yaml \ --timeout 240
四、存储与网络集成
1. Ceph存储集成
# ceph-storage.yaml parameter_defaults: CephClusterFSID: "4b5c8c0a-ff60-454b-a1b4-974953b865d3" CephMonitors: "10.10.10.101,10.10.10.102,10.10.10.103" CephClientKey: "AQD7hxJgqOeqJhAAnpJ5W7hY1VgQhQzQicvgLA==" NovaEnableRbdBackend: true GlanceBackend: rbd CinderBackend: rbd
2. 网络优化(OVS-DPDK)
# ovs-dpdk.yaml parameter_defaults: NeutronMechanismDrivers: "ovn" NeutronOVNMetadataAgentDebug: true OvsDpdkSocketMemory: "1024,1024" OvsDpdkMemoryChannels: "4" NovaSchedulerDefaultFilters: "RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter"
3. 重新部署应用配置
openstack overcloud deploy \ --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e ceph-storage.yaml \ -e ovs-dpdk.yaml
五、验证与运维
1. 基础功能验证
# 查看Overcloud状态 openstack stack list openstack server list # 创建测试实例 openstack network create test-net openstack subnet create --network test-net --subnet-range 192.168.100.0/24 test-subnet openstack server create --image cirros --flavor m1.tiny --network test-net test-instance
2. 监控与日志
# 启用Prometheus+Grafana监控 openstack overcloud metrics deploy --config-file metrics.yaml # 查看服务日志 sudo journalctl -u neutron-server -f sudo podman logs -f ceph_mon
3. 常见故障处理
问题1:实例网络不通
排查步骤:检查Neutron agent状态:openstack network agent list
验证OVS流表:sudo ovs-ofctl dump-flows br-int
问题2:Ceph存储容量不足
解决方案:ceph osd pool set volumes size 3 # 调整副本数为3 ceph osd pool autoscale-status # 启用自动扩容
六、高级功能扩展
1. 与OpenShift集成
# 部署OpenShift on OpenStack openstack coe cluster create openshift-cluster \ --cluster-template openshift-4.10 \ --node-count 3 \ --master-count 3 \ --keypair my-keypair
2. 边缘计算支持(StarlingX)
# starlingx.yaml parameter_defaults: StarlingXEnabled: true EdgeSiteName: "factory-1" EdgeKeystoneURL: "http://edge-auth.example.com:5000/v3"
七、性能调优参数
组件 | 调优项 | 推荐值 | 配置文件 |
---|---|---|---|
Nova | cpu_allocation_ratio | 4.0(虚拟化密集型) | /etc/nova/nova.conf |
Ceph | osd_op_num_threads_per_shard | 4(NVMe SSD场景) | /etc/ceph/ceph.conf |
Neutron | rpc_workers | 8(高并发网络) | /etc/neutron/neutron.conf |
官方资源:
完成以上步骤,即可构建符合企业需求的 高可用、高性能OpenStack私有云,满足虚拟化、容器化及边缘计算场景需求
-
开设课程 开班时间 在线报名HCIE-Datacom2025.2.9
在线报名
HCIA-openEuler培训2025.2.22在线报名
RHCA-DO3742025.03.09在线报名
RHCE2025.04.12在线报名
HCIA-Bigdata2025.03.09在线报名
HCIA-AI2025.03.30在线报名
HCIA-Datacom2025.03.30在线报名
HCIP-openEuler培训2025.04.13在线报名
HCIE-Sec2025.05.10在线报名
HCIA-Cloud2025.04.06在线报名
CISP2025.04.19在线报名
PMP2025.06.04在线报名
OCP2025.05.18在线报名



