手把手教你用OpenStack快速部署高可用云计算环境:全流程详解+最佳实践_手把手教你搭建openstack
一、环境规划与准备
-
硬件要求
-
操作系统选择
-
推荐使用CentOS 7/8或Ubuntu 20.04 LTS,需64位系统并最小化安装以减少资源占用。
-
-
网络配置
-
设置静态IP地址,配置主机名解析(如
/etc/hosts
),确保节点间可通过主机名通信。 -
示例配置:
-
控制节点:
10.0.0.11 controller
-
计算节点:
10.0.0.31 compute1
。
-
-
-
时间同步
-
使用Chrony或NTP服务同步所有节点时间,防止服务间通信错误。
-
二、安装基础依赖服务
-
数据库(MariaDB/MySQL)
-
安装并配置MariaDB,创建OpenStack服务所需的数据库和用户,设置UTF-8编码及InnoDB引擎。
yum install mariadb-server python2-PyMySQL -ysystemctl enable --now mariadbmysql_secure_installation # 安全初始化
-
-
消息队列(RabbitMQ)
-
安装RabbitMQ,创建用户
openstack
并分配权限。
yum install rabbitmq-server -ysystemctl enable --now rabbitmq-serverrabbitmqctl add_user openstack openstackrabbitmqctl set_permissions openstack \".*\" \".*\" \".*\"
-
-
缓存服务(Memcached)
-
安装Memcached以支持身份服务(Keystone)的令牌缓存。
yum install memcached python-memcached -ysystemctl enable --now memcached
-
三、安装OpenStack核心组件
-
身份服务(Keystone)
-
安装Keystone,创建管理员用户和角色,配置服务端点。
yum install openstack-keystone httpd mod_wsgi -ykeystone-manage bootstrap --bootstrap-password openstack \\ --bootstrap-admin-url http://controller:5000/v3/ \\ --bootstrap-internal-url http://controller:5000/v3/ \\ --bootstrap-public-url http://controller:5000/v3/
-
-
镜像服务(Glance)
-
安装Glance,上传操作系统镜像(如CirrOS或Ubuntu)。
openstack image create \"cirros\" --file cirros-0.5.2-x86_64-disk.img \\ --disk-format qcow2 --container-format bare --public
-
-
计算服务(Nova)
-
控制节点安装
nova-api
,计算节点安装nova-compute
,配置虚拟化驱动(如KVM)。
# 控制节点yum install openstack-nova-api openstack-nova-conductor -y# 计算节点yum install openstack-nova-compute -y
-
-
网络服务(Neutron)
-
配置Provider网络或Self-Service网络,支持VLAN/VXLAN。
openstack network create public --provider-physical-network provider \\ --provider-network-type flat --externalopenstack subnet create public-subnet --network public \\ --subnet-range 203.0.113.0/24 --gateway 203.0.113.1
-
-
块存储服务(Cinder)
-
安装Cinder,配置LVM或分布式存储(如Ceph)。
yum install openstack-cinder targetcli -ycinder-manage db sync
-
-
仪表盘(Horizon)
-
安装Horizon,提供Web管理界面。
yum install openstack-dashboard -ysystemctl restart httpd
-
四、网络与存储配置
-
网络架构
-
Provider网络:直接连接物理网络,虚拟机通过物理网卡访问外部。
-
Self-Service网络:通过Neutron路由和NAT实现内部网络与外部通信。
-
-
存储配置
-
块存储(Cinder):使用LVM卷或分布式存储(如Ceph)提供持久化卷。
-
对象存储(Swift):可选,用于非结构化数据存储。
-
五、验证与测试
-
服务状态检查
openstack compute service list # 检查Nova服务openstack network agent list # 检查Neutron代理
-
创建虚拟机实例
openstack server create --flavor m1.small --image cirros \\ --network public test-instance
-
Horizon仪表盘访问
-
访问
http://controller/dashboard
,使用管理员账户登录并验证资源管理功能。
-
六、安全与维护
-
防火墙配置
-
开放必要端口(如5000、35357、8774等),限制非授权访问。
-
-
备份与监控
-
定期备份数据库和配置文件,使用Ceilometer监控资源使用情况。
-
-
版本升级
-
通过PackStack或OpenStack-Ansible工具进行版本升级,确保兼容性。
-
注意事项 59
-
复杂度:OpenStack部署需熟悉Linux、网络和虚拟化技术,建议参考官方文档逐步操作。
-
性能调优:根据负载调整Nova调度策略、Neutron网络参数。
-
替代方案:小规模环境可使用DevStack快速部署;生产环境推荐使用Kolla或OpenStack-Ansible实现高可用。