OpenStack 2023.2 社区版 All-in-One 部署实战:从 Ceph 存储到虚拟机创建

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1. 环境准备:从零开始的单机云平台基石

大家好,我是老张,一个在云平台和存储领域摸爬滚打了十来年的老运维。今天想和大家分享一个非常“接地气”的实战项目:在一台物理服务器上,从零开始,手把手搭建一个集成了Ceph分布式存储的OpenStack 2023.2社区版云平台。这个方案特别适合想深入学习OpenStack和Ceph集成、或者需要搭建一个轻量级私有云用于开发测试的朋友。我们这次的目标是“All-in-One”,也就是把所有核心组件都装在一台机器上,麻雀虽小,五脏俱全。别担心,我会把每一步都掰开揉碎了讲,包括我踩过的那些坑和解决方案。

首先,我们得明确这次搭建的“全家桶”版本。核心是OpenStack 2023.2,代号“Bobcat”。存储方面,我们选择Ceph的Pacific版本,这是一个非常稳定且与OpenStack集成良好的长期支持版。操作系统我选择了Rocky Linux 9.3,它是CentOS的完美继任者,稳定性和社区支持都没得说。硬件方面,我用的是一台戴尔服务器,CPU是英特尔至强银牌,内存64G。存储部分比较关键:系统盘是一块480G的SSD,另外我额外挂载了三块1TB的NVMe SSD硬盘,专门给Ceph当数据盘用。网络配置上,我规划了两个网卡:ens160作为管理网络(比如OpenStack各服务之间的通信、API访问),IP是192.168.10.20;ens192作为业务网络(未来虚拟机的流量),IP段是192.168.10.0/24。这个架构虽然简单,但已经具备了生产环境的雏形,理解了它,以后扩展到多节点集群就是水到渠成的事。

在真正动手安装系统之前,我强烈建议你先做好两件事。第一,去服务器厂商官网下载最新版的固件和驱动,把BIOS、BMC、网卡、RAID卡(如果你用了的话)的驱动都更新到最新。这能避免很多稀奇古怪的兼容性问题,我吃过亏。第二,如果你的服务器有硬件RAID卡,我建议在配置RAID时,系统盘做个RAID 1(镜像),保证系统高可用;而那三块给Ceph用的NVMe盘,千万不要做硬件RAID,直接以“JBOD”(直通)模式交给操作系统。因为Ceph自己就是软件定义的分布式存储,它需要在裸盘上直接操作,硬件RAID层反而会成为性能和管理的负担。把这些准备工作做扎实了,后面部署过程会顺畅很多。

2. Rocky Linux 9.3 系统初始化与关键配置

系统安装过程我就不赘述了,用Rocky Linux 9.3的ISO镜像启动,选择带GUI的服务器安装或者最小化安装都可以,按提示分区、设置root密码就行。安装完成后,重启进入系统,我们首先要做的是一系列“标准化”的初始化操作,这些操作看似基础,但却是整个平台稳定的前提。

### 2.1 基础环境调优:为自动化部署铺平道路

第一件事,安装我们后续离不开的工具包。打开终端,直接用root用户执行:

dnf install -y vim wget curl net-tools unzip tmux openssh* python3 python3-pip

这里我特意加上了tmux,因为它能在你执行长时间部署任务时,防止因为SSH会话断开而导致前功尽弃,非常实用。接下来,修改主机名并让它立刻生效:

hostnamectl set-hostname control01 && exec bash

然后,为了减少初期部署时可能遇到的权限和访问阻碍(生产环境请根据安全策略重新收紧),我们先禁用防火墙和SELinux:

systemctl stop firewalld && systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

注意setenforce 0是临时生效,修改配置文件是永久生效,两者都做,确保重启后也不会再启用。

网络配置是关键。我们需要配置静态IP,并且确保业务网卡(ens192)不通过DHCP获取地址。编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens160ifcfg-ens192(如果你的Rocky 9使用了新的NetworkManager,配置文件路径可能不同,可以用nmcli命令来配置)。核心是确保ens160有固定的管理IP(如192.168.10.20),而ens192的配置中BOOTPROTO设为nonestatic,并指定IP地址。配置完后用systemctl restart network重启网络服务。

### 2.2 解决第一个“拦路虎”:SSH服务的坑

这里我要重点讲一个我遇到的坑,也是很多新手会卡住的地方。我们后面部署Ceph和Kolla-Ansible,都需要在节点间(虽然我们只有一台,但工具逻辑如此)通过SSH免密通信。但Rocky Linux 9.3默认的SSH配置可能比较严格。按照常规思路配置了SSH密钥后,执行cephadm bootstrap或者Kolla-Ansible的检查时,可能会一直报错,提示SSH连接失败,即使手动SSH localhost没问题。

我折腾了半天才发现,问题可能出在SSH服务本身的一些兼容性上。我的解决方法是彻底重装一下openssh,并明确允许root登录(再次强调,仅用于实验环境):

dnf remove -y openssh*
dnf install -y openssh*
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config # 初期也可以用密码,方便调试
systemctl restart sshd && systemctl enable sshd

重装之后,SSH服务焕然一新,之前的连接问题就消失了。记得也把公钥id_rsa.pub内容追加到~/.ssh/authorized_keys中,实现本机自身的免密登录。

3. Ceph Pacific 存储集群部署与定制

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

内容概要:本文围绕“基于多面体聚合与闵可夫斯基和的电动汽车可调能力评估研究”展开,系统提出一种基于多面体建模与几何运算的聚合方法,用于量化大规模电动汽车集群的可调节能力。通过构建单车充电可行域的凸多面体表示,并利用闵可夫斯基和实现群体调控潜力的数学聚合,形成统一的等效灵活资源集合,从而精确刻画电动汽车集群在时间与功率维度上的整体调节边界。该方法结合Matlab代码实现,支持对聚合结果的可视化呈现与边界分析,为电力系统中的需求响应、虚拟电厂运营及分布式能源调度提供了高精度建模工具。研究强调科研应兼顾严谨逻辑与创新思维,倡导借助YALMIP等优化工具提升建模效率与求解可靠性。; 适合人群:具备电力系统分析、凸优化理论或运筹学背景,从事新能源并网、电动汽车调度、综合能源系统等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握多面体建模与闵可夫斯基和在电力系统灵活性聚合中的数学原理与实现方法;②学习利用Matlab完成电动汽车集群可调能力的建模、聚合与可视化分析;③应用于虚拟电厂资源聚合、需求响应潜力评估、配电网柔性负荷调控等实际场景的建模与优化决策。; 阅读建议:建议读者结合文中Matlab代码逐模块复现算法流程,重点理解多面体定义、约束处理及闵可夫斯基和的近似计算实现,同时参考提供的YALMIP工具包资源,深入掌握优化建模技巧,以全面提升对复杂系统聚合建模的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值