保姆级手把手教你搭建 OpenStack 私有云平台(RDO/Packstack版)
摘要:本文介绍使用Packstack工具在CentOS7系统上快速部署OpenStack Train版本(All-in-One模式)的详细步骤。内容包括环境准备(8GB内存、50GB硬盘等硬件要求)、系统初始化(配置静态IP、主机名、关闭防火墙)、通过RDO源安装Packstack工具,以及运行一键安装命令。文章还提供了验证方法、常见问题解决方案,并建议初学者通过该方式学习OpenStack核心组
摘要:本文详细介绍如何在 CentOS 7 环境下,使用 Packstack 工具一键部署 OpenStack Train 版本(All-in-One 模式)。适合云计算初学者、运维工程师及毕业设计参考。
一、 前言

OpenStack 是目前最为流行的开源云操作系统框架。对于初学者来说,组件的手动安装(Manual Installation)极其复杂且容易出错。
本文采用 RDO (RPM Distribution of OpenStack) 提供的 Packstack 工具进行“全合一”(All-in-One)部署。这意味着所有的 OpenStack 组件(Nova, Neutron, Keystone, Glance, Horizon 等)都将安装在同一台虚拟机或物理机上,非常适合学习和测试。
二、 环境准备
2.1 硬件要求
OpenStack 组件较多,非常吃内存,请确保您的虚拟机或物理机满足以下最低配置:
-
CPU: 双核及以上 (支持虚拟化 VT-x/AMD-v)
-
内存: 建议 8GB 以上 (4GB 极其容易导致服务启动失败)
-
硬盘: 50GB 以上
-
网卡: 1个 (需配置静态 IP)
2.2 系统版本
-
OS: CentOS Linux release 7.9.2009 (Core)
-
网络模式: NAT 或 桥接 (建议 NAT 模式防止 IP 冲突)
三、 系统初始化配置(关键步骤)
在安装 OpenStack 之前,必须对系统环境进行严格的配置,否则安装过程中会报各种奇怪的错误。
3.1 配置静态 IP
编辑网卡配置文件(假设网卡名为 ens33):
Bash
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改及添加以下内容(根据您的实际网段填写):
Properties
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.100.10 # 您的IP地址
NETMASK=255.255.255.0
GATEWAY=192.168.100.2 # 您的网关
DNS1=8.8.8.8
DNS2=114.114.114.114
重启网络服务:
Bash
systemctl restart network
ping www.baidu.com # 确保能通外网
3.2 设置主机名
OpenStack 强烈依赖主机名解析,最好设置为 FQDN 格式:
Bash
hostnamectl set-hostname controller.example.com
配置 /etc/hosts,添加解析记录:
Bash
echo "192.168.100.10 controller.example.com controller" >> /etc/hosts
3.3 关闭防火墙和 SELinux
为了避免权限和网络阻断问题,建议在测试环境中关闭它们。
Bash
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 关闭 NetworkManager (Packstack 建议使用 network 服务管理网络)
systemctl stop NetworkManager
systemctl disable NetworkManager
# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
3.4 升级系统内核及软件包
Bash
yum update -y
reboot # 更新完建议重启一次
四、 安装 OpenStack (Packstack 方式)
4.1 安装 OpenStack Train 源
Bash
yum install -y centos-release-openstack-train
4.2 安装 Packstack 工具
Bash
yum install -y openstack-packstack
4.3 运行一键安装
这是最关键的一步。使用 --allinone 参数表示在单机上安装所有组件。
Bash
packstack --allinone
注意:
这个过程根据网速和机器性能,大约需要 15 ~ 45 分钟。
如果安装过程中出现 Error,请查看报错信息。如果是网络超时,重新运行上述命令即可,Packstack 具有幂等性(支持断点续传)。
4.4 等待安装完成
当您看到如下字符时,恭喜您,安装成功!
Plaintext

**** Installation completed successfully ******
Additional information:
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be a problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 192.168.100.10. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://192.168.100.10/dashboard .
Please, find your login credentials stored in the keystonerc_admin file or in the log files of this installation.
五、 验证与登录
5.1 登录 Dashboard (Horizon)

-
打开浏览器,访问:
http://192.168.100.10/dashboard -
用户名:
admin -
密码: 查看服务器上的密码文件。
查看密码命令:
Bash
cat /root/keystonerc_admin | grep OS_PASSWORD
5.2 创建外部网络 (可选但推荐)
登录后,默认通常没有配置连接外网的网络。
-
在左侧菜单选择 管理员 (Admin) -> 网络 (Network) -> 网络 (Networks)。
-
点击 创建网络 (Create Network)。
-
名称:
public_net,项目选择admin,类型选择Flat或External。 -
物理网络:
extnet(这是 Packstack 默认的物理网桥名)。 -
子网: 设置为与您物理机同一网段(例如
192.168.100.0/24),但要设置好 IP地址池,避免与物理机 IP 冲突。
六、 常见问题排坑 (Troubleshooting)
Q1: Facter: error while resolving custom facts 或 编码错误
原因: 系统语言环境设置问题。
解决:
Bash
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
Q2: Horizon 登录报 "An error occurred authenticating"
原因: 通常是 Memcached 服务未启动或时间不同步。
解决:
Bash
systemctl restart memcached
同时确保虚拟机时间与现实时间一致。
Q3: 虚拟机实例无法连接外网
原因: 网桥配置问题。
解决: 检查 /etc/sysconfig/network-scripts/ifcfg-br-ex 配置文件,确保物理网卡(如 ens33)已经挂载到了 OVS 网桥上。
七、 结语
通过 Packstack,我们快速搭建了一个单节点的 OpenStack 环境。虽然这不适合生产环境(生产环境建议使用 Kolla-Ansible 部署高可用集群),但对于学习 Nova 计算、Neutron 网络、Cinder 存储等核心概念已经足够了。
如果您在安装过程中遇到问题,欢迎在评论区留言交流!
创作不易,如果觉得有用,请点赞、收藏支持一下!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)