恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

OpenStack私有云搭建实战:从裸机到虚拟机的完整指南

  • 首页
  • 资讯中心
  • /
  • OpenStack私有云搭建实战:从裸机到虚拟机的完整指南

相关资讯

PIC18与MRAM组合:实现工业级高可靠SPI数据存储 2026/10/4 2:03:19
Apache Fesod(Incubating)快速入门指南:Maven/Gradle 依赖引入与 JDK 兼容性详解 2026/10/4 1:58:19
huggingface_hub Sandbox 实战指南:在云端隔离环境中运行命令、传输文件与大规模并行 2026/10/4 1:58:19

最新资讯

趣博思AI问卷设计:把“提问”变成一种可设计的实验
STM32外接MRAM MR25H40CDF实战:从驱动到掉电保存
《GPT Image 2.5 最强“焚诀”直接拿去用,保姆级拆解教程》
从零配置Claude Code + DeepSeek V4(附cc-switch教程)
文生视频提示词完全指南:从废词到出片的五段式框架与平台适配
OpenShell:Windows命令行补全、高亮与配置实战指南

今日推荐

MR25H40CDF + PIC18F65K40:工业记录仪高可靠存储实战
基于STM32的数控恒压恒流电源设计:从硬件到PID调参全解析
LT9211 MIPI重定时器原理与双路扇出实战指南

本周热门

MR25H40CDF + PIC18F65K40:工业记录仪高可靠存储实战
基于STM32的数控恒压恒流电源设计:从硬件到PID调参全解析
LT9211 MIPI重定时器原理与双路扇出实战指南

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

OpenStack私有云搭建实战:从裸机到虚拟机的完整指南

发布时间:2026/10/4 2:03:19
OpenStack私有云搭建实战:从裸机到虚拟机的完整指南 简介这份PDF面向云计算运维人员、OpenStack初学者及需要落地私有云的技术团队系统梳理基于OpenStack搭建私有云的完整实践路径帮助读者理解各核心组件的作用与配置方法。资源共1个PDF文件压缩包约1.64MB内容以图文步骤形式呈现便于按章节对照操作。目录涵盖基础环境准备、NTP时间同步、NOVA计算服务安装、NEUTRON网络服务配置以及PackStack快速安装、Cell创建、用户查看、页面登录与日志排查等模块并延伸至Cinder、Glance、Swift、Horizon等组件的部署思路同时涉及安全监控与自动化运维工具的使用。已有890人学习下载适合希望从零掌握私有云搭建流程、积累组件集成与排错经验的中高级读者参考。1. 从一台裸机到能跑虚拟机的私有云OpenStack 搭建到底在搭什么很多团队第一次动私有云的念头往往不是因为预算多而是因为几台闲置的物理服务器实在浪费——CPU 常年跑不到 20%内存空着一大半可新项目上线还得再申请机器。这时候「基于 OpenStack 的私有云搭建」就成了一个绕不开的选项。它要解决的核心问题很朴素把一堆物理机的计算、存储、网络抽象成池子让上层按需开出虚拟机用完回收。适合谁手里有三到十台同构服务器、有内网、想自己掌控资源调度和镜像分发的运维或后端团队。不适合只有一两台机器、或者只想跑几个容器的场景那种情况用更轻的方案更划算。这一章先把「搭的到底是什么」讲清楚后面再落到具体命令和参数。OpenStack 不是一个软件而是一组服务的集合。你听到的 Nova、Neutron、Glance、Keystone、Cinder、Horizon各自负责计算、网络、镜像、认证、块存储、面板。搭建的本质是让这些服务在控制节点和计算节点上各就各位通过消息队列和数据库串起来最后能通过一条命令开出一台能 ping 通、能 SSH 的虚拟机。理解了这一点后面所有报错都能归位到「哪个服务没起来、哪个连接串配错了」。2. 选型与拓扑控制节点和计算节点怎么分网络怎么划2.1 三种典型部署规模与对应拓扑在动手之前先确定你要搭多大。规模直接决定拓扑拓扑决定后面每一步的配置。常见做法分三档规模物理机数量控制节点计算节点适用场景最小验证1 台与控制合一同机学习、跑通流程小团队3 台1 台独立2 台内部测试、少量业务生产起步5 台以上3 台高可用按需扩展正式业务承载最小验证用一台机器把控制服务和计算服务装在一起能跑通但性能差、故障域集中只适合验证流程。小团队把控制节点独立出来计算节点专门跑虚拟机这是性价比最高的一档。生产起步要考虑控制节点高可用数据库和消息队列也要集群化复杂度陡增不建议第一次搭建就上。2.2 网络平面划分管理网、业务网、存储网别混在一起网络是 OpenStack 搭建里最容易翻车的地方。血泪经验是把所有流量塞进一张网卡前期省事后期 Neutron 一开虚拟机就各种不通。正确做法是至少分三个平面管理网跑 API、消息队列、数据库流量节点之间互通即可不对外。业务网虚拟机对外提供服务的网络通常配合 Neutron 的 provider 网络或浮动 IP。存储网Cinder 和 Swift 的数据流量如果后端用 Ceph这张网必须独立且带宽足够。如果物理网卡不够可以用 VLAN 在交换机上划分但管理网和存储网强烈建议物理隔离。我一般会在装系统时就规划好网卡命名和 IP避免后期改配置牵一发动全身。2.3 操作系统与基础依赖的版本对齐OpenStack 对操作系统版本敏感。常见做法是选一个长期支持的发行版比如 Ubuntu 22.04 或 CentOS Stream 9然后严格按官方文档对应的版本装依赖。不要混用不同大版本的仓库源否则会出现 Python 包冲突这种玄学问题。基础依赖包括时间同步NTP、消息队列RabbitMQ、数据库MySQL/MariaDB、缓存Memcached。这几样必须在装 OpenStack 服务之前全部跑通并且能互相连通。下面是一段检查连通性的命令示例# 检查 NTP 同步状态所有节点时间差应小于 1 秒 chronyc sources -v # 检查 RabbitMQ 端口是否可达在控制节点执行 nc -zv controller 5672 # 检查 MySQL 是否可连接 mysql -h controller -u root -p -e SHOW DATABASES;逻辑说明NTP 不同步会导致 Keystone 令牌校验失败表现为「认证莫名其妙过期」RabbitMQ 不通则 Nova 和 Neutron 之间无法通信虚拟机创建会卡在 scheduling。参数上RabbitMQ 默认端口 5672MySQL 默认 3306如果改过端口后面所有配置文件的连接串都要同步改。3. 用 Packstack 快速跑通最小验证环境3.1 Packstack 是什么什么时候该用它Packstack 是一个基于 Puppet 的自动化部署工具能在单台或少量机器上快速拉起一套 OpenStack。热搜里「基于 packstack 安装 openstack」出现频率很高说明很多人是从它入门的。它的价值在于把几十步手工配置压缩成一条命令适合验证和教学。但它不适合生产因为默认配置偏简单高可用和性能调优基本没有。我一般会先用 Packstack 在一台虚拟机上跑通全流程确认自己对网络和认证的理解没问题再转手工部署或更成熟的工具。这样能快速建立信心也能提前暴露环境问题。3.2 最小验证的完整命令与参数解释在 CentOS Stream 9 上先装好仓库源然后执行# 安装 packstack dnf install -y openstack-packstack # 生成应答文件便于修改参数 packstack --gen-answer-fileanswer.txt # 编辑 answer.txt关键参数如下 # CONFIG_DEFAULT_PASSWORDYourStrongPass # CONFIG_KEYSTONE_ADMIN_PWYourAdminPass # CONFIG_NOVA_COMPUTE_HOSTS192.168.1.10 # CONFIG_NEUTRON_ML2_TYPE_DRIVERSflat,vlan,vxlan # CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPESvxlan # CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGSextnet:br-ex # CONFIG_NEUTRON_OVS_BRIDGE_IFACESbr-ex:eth1 # 执行安装 packstack --answer-fileanswer.txt逻辑说明--gen-answer-file生成一份包含所有可配置项的模板改完再执行比直接命令行传参更可控。CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS定义外部网络的逻辑名称和网桥的映射CONFIG_NEUTRON_OVS_BRIDGE_IFACES指定哪块物理网卡桥接到这个网桥。如果这里写错虚拟机拿到 IP 也出不了外网。参数上CONFIG_DEFAULT_PASSWORD是所有服务的默认密码生产环境必须改CONFIG_KEYSTONE_ADMIN_PW是 admin 用户的密码后面登录面板要用。安装过程大约 20 到 40 分钟取决于机器性能和网络。3.3 安装后验证开一台虚拟机确认全链路装完后不要急着庆祝先验证。步骤是登录面板或命令行上传一个镜像创建网络开一台虚拟机然后 ping 和 SSH。# 加载 admin 凭证 source /root/keystonerc_admin # 查看服务状态所有服务应为 enabled 和 up openstack compute service list openstack network agent list # 上传一个 cirros 测试镜像 openstack image create --disk-format qcow2 --container-format bare \ --file cirros-0.5.2-x86_64-disk.img cirros # 创建外部网络和子网 openstack network create --external --provider-physical-network extnet \ --provider-network-type flat public openstack subnet create --network public --subnet-range 192.168.1.0/24 \ --gateway 192.168.1.1 --no-dhcp public-subnet # 创建租户网络和子网 openstack network create private openstack subnet create --network private --subnet-range 10.0.0.0/24 private-subnet # 创建路由并连接两个网络 openstack router create router1 openstack router set --external-gateway public router1 openstack router add subnet router1 private-subnet # 开虚拟机 openstack server create --flavor m1.tiny --image cirros \ --nic net-id$(openstack network show private -f value -c id) test-vm逻辑说明openstack compute service list看 Nova 的计算服务是否注册成功network agent list看 Neutron 的代理是否 alive。镜像用 cirros 是因为它小、启动快适合验证。网络部分先建外部网络flat 类型直接桥接到物理网卡再建租户网络vxlan然后用路由打通。最后开虚拟机时指定租户网络的 ID。如果虚拟机卡在 building用openstack server show test-vm看 fault 字段如果网络不通检查安全组规则和路由的 NAT 是否生效。4. 手工部署时最容易踩的五个坑4.1 现象Keystone 认证失败提示 token 过期原因节点之间时间不同步或者 Memcached 没起来。Keystone 的令牌默认存在 Memcached 里缓存服务挂了会导致认证随机失败。解决先chronyc sources确认时间同步再systemctl status memcached确认服务运行最后检查/etc/keystone/keystone.conf里的[memcache]配置是否指向正确的地址和端口。4.2 现象虚拟机创建成功但 ping 不通外网原因Neutron 的 NAT 规则没生效或者外部网桥没配好。常见于br-ex没有绑定物理网卡或者安全组默认规则拦截了流量。解决在计算节点执行ovs-vsctl show看网桥和端口在控制节点ip netns进入路由命名空间检查 iptables 的 nat 表。安全组方面临时放行所有流量测试openstack security group rule create --proto icmp --remote-ip 0.0.0.0/0 default。4.3 现象Cinder 创建卷一直卡在 creating原因Cinder 的后端存储没配好或者存储网不通。如果后端用 LVM要确认卷组存在且 Cinder 有权限。解决看/var/log/cinder/cinder-volume.log常见错误是「Unable to find volume group」。用vgs确认卷组名然后改/etc/cinder/cinder.conf里的volume_group参数重启服务。4.4 现象Horizon 面板能登录但列表加载不出来原因通常是 API 端点配置错误或者防火墙拦截了服务端口。Horizon 通过 AJAX 调各个服务的 API任何一个不通都会导致页面卡住。解决在浏览器开发者工具看 Network 面板找到失败的请求确认对应的 API 端口是否开放。用openstack endpoint list检查端点地址是否和实际一致。4.5 现象重启后服务起不来报数据库连接错误原因MySQL 没设开机自启或者连接数满了。OpenStack 服务多每个都占连接默认的 max_connections 可能不够。解决systemctl enable mariadb设自启改/etc/my.cnf把max_connections调到 1000 以上重启数据库和服务。5. 从能跑到好用镜像优化与资源超分的两个技巧5.1 镜像瘦身让虚拟机启动从分钟级降到秒级跑通之后你会发现默认镜像启动慢、占空间。我一般会做两件事一是用virt-sysprep清理镜像里的机器 ID、SSH 密钥、日志避免每次开虚拟机都重新生成二是把常用镜像转成 raw 格式并预分配虽然占空间但启动快。# 清理镜像 virt-sysprep -a ubuntu-22.04.qcow2 # 转换格式并预分配 qemu-img convert -f qcow2 -O raw ubuntu-22.04.qcow2 ubuntu-22.04.raw逻辑说明virt-sysprep会重置网络配置、删除 SSH host key、清空日志这样克隆出来的虚拟机不会冲突。转 raw 后Glance 上传时用--disk-format rawNova 启动时少一层格式转换实测启动时间能缩短三分之一。5.2 资源超分把 CPU 和内存的利用率提上去私有云的价值在于超分。Nova 默认的 CPU 超分比是 16:1内存是 1.5:1但实际能超多少取决于业务负载。我一般会先设保守值观察一段时间再调。改/etc/nova/nova.conf[default] cpu_allocation_ratio 4.0 ram_allocation_ratio 1.5 disk_allocation_ratio 1.0逻辑说明cpu_allocation_ratio是物理核和虚拟核的比例4.0 表示 1 个物理核可以分配给 4 个虚拟核。ram_allocation_ratio是内存超分1.5 表示 1G 物理内存可以分配 1.5G 给虚拟机。disk_allocation_ratio一般设 1.0因为磁盘超分容易导致数据丢失。改完重启 nova-scheduler 和 nova-compute。验证方法开一批虚拟机用openstack hypervisor stats show看 vcpus 和 memory 的分配率如果长期低于 80%可以继续调高如果出现虚拟机卡顿就回调。我自己的习惯是每次调完超分比至少观察一周再动因为内存超分导致的 OOM 往往在高峰期才暴露。希望帮到你。本文还有配套的精品资源点击获取

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号