当前位置: 首页 > news >正文

OpenStack搭建

1. 虚拟机配置

1.1 生成动态IP地址

image-20251004155631641

centos默认未启用DHCP服务,使用dhclient请求动态IP地址,临时获取网络连接能力,以进一步配置。此处请求到动态IP地址192.168.26.128/24

1.2 配置静态IP地址

OpenStack服务依赖固定IP地址,配置静态IP地址可保证服务稳定运行。

image-20251004160633055

通过终端工具连接shell进行操作。

image-20251004161805774

image-20251004162015601

修改网卡参数配置,BOOTPROTO修改为static静态模式,以确保IP地址不变。

ONBOOT修改为yes,开机时自动启动网卡,避免手动启用网络。

基于之前动态获取的IP网段(192.168.26.128)设置固定IP(IPADDR),确保与主机NAT网络处于同一网段,避免网络不通,同时此IP将作为OpenStack服务的核心地址。

GATEWAY是一个网络连接到另一个网络的关口,NAT模式下VMWare默认网关通常为网段的第二个地址(192.168.26.2),配置网关可确保虚拟机能访问互联网。

image-20251004162918028

保存配置后重启网卡,并确认网络连接正常。

1.3 禁用防火墙

CentOS7默认启用firewalld防火墙,其默认规则会止OpenStack服务所需端口,导致服务无法对外提供访问。禁用防火墙可关闭端口拦截,确保OpenStack组件间通信正常,同时简化部署流程,避免手动配置大量端口规则。

image-20251004163611489

systemctl stop仅临时关闭服务,systemctl disable不会停止服务但会取消服务开机自启。

1.4 禁止SELinux

SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。linux操作系统中默认开启了防火墙,SELinux也处于启动状态,一般状态为enforing。致使很多服务端口默认是关闭的。

修改SELinux的配置文件/etc/selinux/config将工作模式设为disabled,然后重启服务器。

image-20251004165332524

1.5 停用NetWorkManager服务

NetworkManager是CentOS 7默认的网络管理工具,但其与传统network服务可能存在冲突(如同时管理网卡导致配置不一致),而OpenStack依赖network服务稳定运行。禁用NetworkManager可避免冲突,确保network服务独占网络管理权限,防止网络配置异(IP地址丢失、网卡频繁断开)。

image-20251004170843147

1.6 修改主机名及映射

CentOS系统默认的主机名为localhost.localdomain,为了便于使用,我们常常需要修改主机名。

image-20251004171624364

hostnamectl set-hostname 主机名等价于手动更新/etc/hostname文件内容为主机名。

编辑/etc/hosts目的是确保程序如sudo能够正确解析主机名。

1.7 yum仓库换源

image-20251004173558047

yum仓库源为/etc/yum.repos.d/CentOS-Base.repo文件,使用cp命令备份该文件,然后通过curlwget获取阿里云镜像源文件并将内容写入/etc/yum.repos.d/CentOS-Base.repo

# 使用wget -O直接将阿里云的repo保存
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo# 因CentOs 7默认未安装wget,所以使用curl获取repo内容并写入
sudo curl http://mirrors.aliyun.com/repo/Centos-7.repo > /etc/yum.repos.d/CentOS-Base.repo

1.8 时间同步设置

使用yum install -y chrony安装时间同步软件Chrony。

centos7支持chrony时间同步配置,ntp在centos8上已经不再支持。Chrony相比ntp时间同步配置更简单更高效,它是一个开源的软件能保持系统始终与服务器时间同步。

/etc/chrony.conf中配置时间同步源为阿里云NTP服务器(server ntp1.aliyun.com iburst),阿里服务器稳定性高、延迟低,可确保虚拟机时间与标准时间一致。

iburst参数表示初始同步时发送多个请求,加快同步速度,避免因时间差过大导致OpenStack服务异常。

image-20251004175354620

1.9 更新软件包

image-20251004180130725

2. 搭建OpenStack

2.1 yum仓库准备

yum -y install centos-release-openstack-train

OpenStack Train是稳定版本,centos-release-openstack-train是官方提供的yum仓库配置包,安装后会自动添加OpenStack Train版本的专用仓库,后续可通过yum直接安装Train版本的组件,避免手动添加仓库时的配置错误。

image-20251004180448674

find /etc/yum.repos.d -type f -exec sed -i 's|mirror\.centos\.org|vault.centos.org|g; s|mirrorlist\.centos\.org|vault.centos.org|g' {} +

安装centos-release-openstack-train后,附带的仓库文件中可能引用已停止维护的mirror.centos.org链接(CentOS 7官方仓库已迁移至vault.centos.org),导致yum下载时提示“无法找到有效baseurl”。通过sed命令批量替换链接为vault.centos.org,可恢复仓库可用性,确保后续安装packstack时能正常下载依赖包。

sed命令中,参数-i表示直接编辑文件,会匹配文件中每一行进行替换。

sed '表达式; 表达式'等价于sed '表达式' | sed '表达式',组合多个表达式。

-i 's/旧内容/新内容/g'表示匹配文件中每一行的所有旧内容替换为新内容s代表替换操作的s命令;g是全面替换标记,使用后缀/g标记会替换每一行中的所有匹配;/|等价,都是作为定界符使用

image-20251004195352363

可以看到处理后查找不到mirror.centos.org了。

  • 在指定目录下的所有文件中递归地查找模式,显示匹配的行号并忽略二进制文件:
grep [-rnI|--recursive --line-number --binary-files=without-match] "模式字符串" 路径/到/目录

部分仓库文件中baseurl(仓库地址)被注释,而mirrorlist可能因镜像服务器不可用导致失效;取消baseurl注释可强制使用指定的仓库地址,避免因mirrorlist解析失败导致的包下载问题。

/etc/yum.repos.d路径下的文件中baseurl前的注释符号(#)取消。

image-20251004195732190

使用grep -rnI "#baseurl=" /etc/yum.repos.d/可以检索到被注释的baseurl所在的文件和行号,复用上面的替换命令将注释符号取消。

find /etc/yum.repos.d -type f -exec sed -i 's|#baseurl=|baseurl=|g' {} +

2.2 packstack安装

执行yum -y update以更新系统软件包到最新版本,确保系统环境的兼容性与安全性。

执行yum -y install openstack-packstack安装Packstack工具,它能简化OpenStack的部署流程,通过自动化的方式帮助快速搭建OpenStack云平台环境,减少手动配置的复杂度与出错概率。

image-20251004200904365

执行packstack --allinone将OpenStack所有组件(控制节点、计算节点、网络节点、存储节点)部署在同一台虚拟机上,适合测试环境、学习环境;此模式配置简单,packstack会自动分配资源、设置组件间通信参数,避免多节点部署时的网络配置、权限同步等复杂问题。

image-20251004225649096

image-20251004230723179

2.3 packstack运行

部署完成后,执行并查看root用户目录下的账号信息文件。

source keystonerc_admin
cat keystonerc_admin
source keystonerc_demo
cat keystonerc_demo

image-20251004231218721

keystonerc_admin是packstack自动生成的环境变量文件,包含Keystone(OpenStack身份认证服务)的管理员账号信息(用户名、密码、认证URL);keystonerc_demo是演示账号(普通用户)的环境变量文件,包含demo用户的认证信息,适合用于测试普通用户权限,避免直接使用管理员账号进行非必要操作,降低误操作风险。

最后根据安装完成后的提示,浏览器访问http://192.168.26.128并使用用户名和密码登录OpenStack网页端,因为OpenStack作为开源云计算平台,通过网页端提供了便捷的图形化管理界面。这样操作能让用户直观地对云资源(如虚拟机、存储、网络等)进行管理、配置与监控,无需依赖复杂的命令行操作,提升了云计算平台使用和管理的效率与便利性。

image-20251004231320111

image-20251004231347366

http://www.hskmm.com/?act=detail&tid=26341

相关文章:

  • OpenStack实验过程
  • 2025.10.7+7
  • oppoR9m刷Linux系统:VCOM模式备份系统与基带IMEI/NVRAM/QCN
  • 两个开源中国象棋引擎的编译
  • 推荐一款Swift开发框架- Aquarius
  • 1.如何导入Aquarius开发框架
  • 课程作业(10月8日)
  • 帮宣——可控核聚变
  • 浅谈导数
  • 洛谷P5304 [GXOI/GZOI2019] 旅行者(二进制分类技巧)
  • 英语_阅读_AI Robot_待读
  • 【C++】AVL树的概念及完成(万字图文超详解)
  • 打造自主学习的AI Agent:强化学习+LangGraph代码示例
  • 关于二分
  • NKOJ全TJ计划——NP11721
  • 印度全球能力中心2030年展望与技术基建规划
  • NOI Linux 食用教程
  • 详细介绍:基于 Android 和 JBox2D 的简单小游戏
  • 基于深度学习的语音识别高效的系统设计与实现
  • CF2152H2 Victorious Coloring (Hard Version) 题解
  • 题解:P6162 [Cnoi2020] 四角链
  • 题解:P3301 [SDOI2013] 方程
  • # 20232321 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 题解:CF1292E Rin and The Unknown Flower
  • 打印A3大小的PDF文件为A4幅面
  • 课程总结2
  • 解码查找算法与哈希表
  • 第二次课动手动脑合集
  • centos8的防火墙管理
  • 如何生成和制作PDF文件 - 实践