手里拿到一本《OpenStack云计算部署操作手册》,别急着翻到安装命令那一章。我这些年帮不同规模的团队搭过好几套OpenStack环境,一个特别深的体会是:部署这件事,真正的门槛根本不在敲命令,而在你翻开手册之前——架构怎么定、网络怎么划、存储怎么选、控制节点挂了怎么恢复,这些在最开始的规划阶段就决定了后续是省心还是折腾。这篇就当陪你把目录从头到尾捋一遍,聊的既是这本手册该怎么读,也是OpenStack部署这条路上真正值得花时间琢磨的关键点。不管你是刚入门的云计算运维新人,还是被安排去搭测试环境的开发,看完应该都能对整条链路有个清晰的认知。
1. 部署前必须想清楚的事:架构选型比敲命令重要十倍
OpenStack的部署手册通常会从环境规划讲起,这部分内容最容易被翻过去,但恰恰是最不该跳过的。很多人一上来就急着装包,结果装到一半发现控制节点内存不够、网络分区规划不合理、存储后端选错,整个环境推倒重来。我见过太多这种案例,所以想先聊聊部署前必须想清楚的三件事。
1.1 控制节点、网络节点、计算节点怎么划分
OpenStack的物理架构没有绝对标准,但有一个基本共识:控制节点要扛的是API服务、数据库、消息队列和调度服务,这些组件吃CPU和内存,尤其内存容易被忽略。Keystone、Nova API、Neutron Server、Glance API、Horizon这些服务全都压在控制节点上,再加上MySQL和RabbitMQ,内存分分钟被吃干净。我的建议是,控制节点的内存至少32G起步,CPU核心数不低于8核,磁盘用SSD且预留足够空间给镜像缓存和数据库。
网络节点负责L3路由、DHCP、FWaaS等网络服务,对网卡性能要求高,多队列网卡和绑定是标配。计算节点相对单纯,跑Nova Compute和Neutron agent,主要吃CPU和内存,生产环境还要考虑CPU超分配比。测试环境可以把控制节点和网络节点合在一起,但生产环境一定要分开,否则某个网络服务出了问题会把整个控制面拖垮。另外,如果是用OVS做虚拟交换机,网络节点和计算节点都要预留足量的内存给OVS,这个坑我在后面的排查章节会详细讲。
1.2 网络模式选型:VLAN、Flat还是Overlay
网络规划是部署手册里最容易让人看晕的部分,也是实际踩坑最多的地方。OpenStack的网络模式主要分三种:Flat、VLAN和Overlay(VXLAN/GRE)。Flat模式最简单,所有租户共享一个二层网络,适合PoC和测试,但隔离性为零。VLAN模式通过802.1Q做二层隔离,生产环境用得最多,但VLAN数量上限是4094,而且需要物理交换机配置trunk链路,网络团队得配合。Overlay模式用VXLAN在三层网络上跑二层,租户隔离数基本不受限,适合大规模多租户场景,但增加了封装开销,性能损耗大约在5%到10%。
我个人的建议是:如果是中小规模生产环境,VLAN模式足够用;如果是要做多租户的云平台,直接上VXLAN。这里有个关键点,不管选哪种模式,物理交换机的端口模式、MTU值、trunk链路都要提前确认好。MTU这个坑特别隐蔽,VXLAN环境下如果物理网络MTU是1500,租户网络的MTU最好设置成1450,否则大包传输会莫名其妙丢包,排查起来非常痛苦。
1.3 存储后端:本地盘、Ceph还是SAN
存储选型直接影响后续云硬盘服务的可靠性和性能。手册里通常会给你几个选项:LVM本地盘、NFS、Ceph。本地盘方案最简单,适合测试环境,但没有多副本,节点挂了数据就没了。NFS在中小规模环境里很常见,部署简单,但性能受网络影响大,而且有单点风险。Ceph是生产环境的常见选择,提供副本机制和自愈能力,但部署和维护成本都不低,至少要三台独立的存储节点。
这里我想特别提醒一点:如果你的环境里计算节点和存储节点是共用的,一定要预留足够的磁盘空间给后端存储池。我见过一个生产环境,Ceph OSD节点磁盘写满之后,所有云硬盘都变成只读状态,整个业务系统全部卡死,查了好久才发现是存储池满了。所以,部署手册里关于存储规划的章节,一定要认真看完,别觉得能跑起来
