手搓openstack云平台搭建步骤
时间: 2025-06-05 16:04:33 浏览: 29
<think>嗯,用户想手动搭建OpenStack云平台,需要详细步骤。之前用户提供过几个零散的引用片段,涉及nova服务启动、neutron服务创建和镜像挂载操作,这些确实是搭建OpenStack的关键动作。用户可能是个系统管理员或云计算学习者,正在尝试本地部署私有云。ta特意提到“手动搭建”,说明需要避开自动化工具直接操作底层组件,可能是为了学习原理或定制化部署。从引用内容看,ta的环境应该是CentOS系统,并且接触过iaas镜像挂载这类基础操作。需要重点注意几个技术细节:控制节点是核心,必须明确基础环境配置包括哪些服务(mysql/rabbitmq/memcached这些);用户引用的挂载操作提示了镜像准备方式,但实际部署时可能需要区分操作系统的yum源和OpenStack专属仓库;neutron和nova的联动配置最容易出错,要特别标注网络规划部分。之前的回答已经覆盖了基础部署流程,但用户可以还需要这些延伸帮助:如果是多节点部署要怎么调整?遇到服务启动失败如何排查?如何验证各组件功能?这些问题可以作为后续生成的思考方向。</think>
手动搭建 OpenStack 云平台需严谨执行以下步骤(以**Train/Yoga版本为例,基于CentOS 7/8环境**),核心分为六个阶段:
---
### 🔧 阶段一:基础环境准备(控制节点)
1. **系统配置**
```bash
# 关闭防火墙和SELinux
systemctl stop firewalld; systemctl disable firewalld
setenforce 0; sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
# 配置主机名解析
echo "192.168.100.10 controller" >> /etc/hosts
echo "192.168.100.20 compute" >> /etc/hosts
```
2. **安装数据库(MariaDB)**
```bash
yum install mariadb mariadb-server python2-PyMySQL -y
systemctl start mariadb; systemctl enable mariadb
mysql_secure_installation # 按提示设置root密码
```
3. **消息队列(RabbitMQ)**
```bash
yum install rabbitmq-server -y
systemctl start rabbitmq-server; systemctl enable rabbitmq-server
rabbitmqctl add_user openstack RABBIT_PASS # 替换为实际密码
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
```
---
### ☁️ 阶段二:认证服务(Keystone)
1. **创建数据库**
```sql
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
```
2. **安装与配置**
```bash
yum install openstack-keystone httpd mod_wsgi -y
```
修改 `/etc/keystone/keystone.conf`:
```ini
[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
[token]
provider = fernet
```
3. **启动服务**
```bash
su -s /bin/sh -c "keystone-manage db_sync" keystone
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
systemctl start httpd; systemctl enable httpd
```
---
### 🔗 阶段三:网络服务(Neutron)
1. **控制节点配置**
```bash
# 创建服务实体(引用[2])
openstack service create --name neutron --description "OpenStack Networking" network
```
关键配置文件 `/etc/neutron/neutron.conf`:
```ini
[DEFAULT]
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = true
transport_url = rabbit://openstack:RABBIT_PASS@controller
```
2. **计算节点配置**
```bash
yum install openstack-neutron-linuxbridge ebtables ipset -y
```
修改 `/etc/neutron/plugins/ml2/linuxbridge_agent.ini`:
```ini
[linux_bridge]
physical_interface_mappings = provider:ens33 # 替换为实际网卡名
```
---
### 💻 阶段四:计算服务(Nova)
1. **控制节点**
```bash
# 启动核心服务(引用[1])
systemctl start openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy
systemctl enable openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy
```
2. **计算节点**
配置 `/etc/nova/nova.conf`:
```ini
[vnc]
enabled = true
server_listen = 0.0.0.0
server_proxyclient_address = $my_ip # 替换为计算节点IP
novncproxy_base_url = http://controller:6080/vnc_auto.html
```
---
### 📦 阶段五:镜像服务(Glance)
1. **上传系统镜像**
```bash
openstack image create "cirros" \
--file cirros-0.5.2-x86_64-disk.img \
--disk-format qcow2 --container-format bare \
--public
```
2. **验证镜像**
```bash
openstack image list
```
---
### ⚙️ 阶段六:创建虚拟网络与实例
1. **创建租户网络**
```bash
openstack network create --internal private-net
openstack subnet create --network private-net --subnet-range 192.168.200.0/24 private-subnet
```
2. **启动测试实例**
```bash
openstack server create --image cirros --flavor m1.tiny --network private-net test-vm
```
---
### 📌 注意事项
1. **依赖项检查**
所有服务启动前需确认:
```bash
systemctl status mariadb rabbitmq-server httpd # 确保关键服务正常运行
```
2. **日志排查**
常见错误查看位置:
```bash
tail -f /var/log/keystone/keystone.log # Keystone认证问题
journalctl -u neutron-server.service # 网络服务异常
```
3. **镜像源配置(引用[3])**
本地源挂载示例:
```bash
mount /dev/cdrom /opt/centos/ # 挂载系统ISO
mount chinaskills_cloud_iaas.iso /mnt/ # 挂载IaaS镜像
cp -rvf /mnt/* /opt/openstack/
```
> 部署文档推荐:[OpenStack Yoga Install Guide](https://docs.openstack.org/yoga/install/)
> 环境差异提示:网络配置(OVS/vSwitch)、存储后端(Ceph/LVM)需根据实际调整架构图[^4]
---
**
阅读全文
相关推荐















