CentOS 7 + Packstack 半小时搞定OpenStack Queens一体化部署(附详细排错记录)
2026/6/6 0:54:39 网站建设 项目流程

CentOS 7 + Packstack 半小时搞定OpenStack Queens一体化部署实战指南

在云计算技术快速发展的今天,OpenStack作为开源云平台解决方案的代表,已经成为企业私有云建设的首选。但对于初学者来说,从零开始部署OpenStack往往是一个充满挑战的过程。本文将分享一个经过实战验证的快速部署方案,帮助你在半小时内完成OpenStack Queens版本的一体化部署,同时提供详细的排错指南,确保部署过程顺畅无阻。

1. 环境准备与系统配置

在开始部署之前,我们需要确保CentOS 7系统已经完成了基础配置。这些准备工作看似简单,但往往是导致后续安装失败的关键因素。

首先,确认系统已经配置了静态IP地址。运行以下命令检查网络配置:

ip addr show

如果显示的是动态获取的IP地址(通常以dhcp标识),需要修改网络配置文件:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTOdhcp改为static,并添加以下配置(根据你的实际网络环境调整):

IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=8.8.8.8 DNS2=8.8.4.4

接下来,我们需要处理几个关键的系统配置项:

  • 关闭防火墙

    systemctl stop firewalld systemctl disable firewalld
  • 禁用SELinux

    setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

注意:SELinux配置修改后需要重启系统才能完全生效。可以使用getenforce命令验证当前状态。

  • 切换网络管理服务: OpenStack与NetworkManager存在兼容性问题,需要切换到传统的network服务:
    systemctl stop NetworkManager systemctl disable NetworkManager systemctl enable network systemctl restart network

最后,更新系统并安装必要的工具:

yum update -y yum install -y yum-utils vim wget curl

2. OpenStack Queens软件源配置

正确的软件源配置是成功安装OpenStack的基础。我们将使用RDO项目提供的Queens版本软件源。

首先安装OpenStack Queens仓库:

yum install -y centos-release-openstack-queens

启用Queens仓库并添加RDO官方源:

yum-config-manager --enable centos-openstack-queens cd /etc/yum.repos.d/ curl -O https://trunk.rdoproject.org/centos7/delorean-deps.repo curl -O https://trunk.rdoproject.org/centos7/current-passed-ci/delorean.repo

更新系统并安装EPEL仓库(Extra Packages for Enterprise Linux):

yum install -y epel-release yum update -y

提示:系统更新后建议重启以确保所有更新生效:reboot

3. Packstack安装与配置

Packstack是Red Hat开发的OpenStack部署工具,能够自动化完成大部分安装配置工作。

安装Packstack及其依赖:

yum install -y openstack-packstack

生成应答文件(answer file)并进行自定义配置:

packstack --gen-answer-file=answer.txt

在answer.txt中,建议修改以下关键参数:

CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens33 CONFIG_PROVISION_DEMO=n

开始安装OpenStack:

packstack --answer-file=answer.txt

安装过程通常需要15-30分钟,具体时间取决于网络速度和服务器性能。如果安装过程中出现错误,Packstack会显示具体的错误信息,大多数情况下重新运行安装命令即可继续。

4. 常见问题排查与解决方案

在实际部署过程中,可能会遇到各种问题。以下是几个常见问题及其解决方案:

4.1 网络配置问题

症状:Dashboard可以访问,但实例无法获取IP或无法连接外网。

解决方案

  1. 检查网络桥接配置:

    ovs-vsctl show

    确保br-ex桥接器正确绑定到物理网卡。

  2. 验证网络命名空间:

    ip netns list

    如果没有显示任何命名空间,可能是Neutron服务没有正确启动。

4.2 数据库连接问题

症状:安装过程中出现MySQL或MariaDB连接错误。

解决方案

  1. 检查数据库服务状态:

    systemctl status mariadb
  2. 重置数据库root密码:

    mysql_secure_installation
  3. 修改Packstack应答文件中的数据库密码配置,重新运行安装。

4.3 时间同步问题

症状:各服务组件间出现认证失败或令牌过期错误。

解决方案

确保所有节点时间同步:

yum install -y chrony systemctl enable chronyd systemctl start chronyd chronyc sources

4.4 资源不足问题

症状:安装过程中服务启动失败或系统变得极其缓慢。

解决方案

OpenStack对系统资源有一定要求,建议最小配置:

  • 4核CPU
  • 8GB内存
  • 50GB磁盘空间

如果资源有限,可以在应答文件中禁用一些可选服务:

CONFIG_CEILOMETER_INSTALL=n CONFIG_AODH_INSTALL=n CONFIG_GNOCCHI_INSTALL=n

5. 部署验证与基本使用

安装完成后,可以通过以下步骤验证OpenStack是否正常运行:

  1. 访问Dashboard:

    • 在浏览器中输入http://<服务器IP>/dashboard
    • 用户名:admin
    • 密码:位于/root/keystonerc_admin文件中
  2. 命令行验证:

    source /root/keystonerc_admin openstack service list

    应该显示所有核心服务的列表。

  3. 创建测试网络:

    openstack network create test_network openstack subnet create --network test_network --subnet-range 192.168.100.0/24 test_subnet
  4. 启动测试实例:

    openstack flavor create --ram 512 --disk 5 --vcpus 1 m1.tiny openstack image create --file cirros-0.5.2-x86_64-disk.img --disk-format qcow2 --container-format bare cirros openstack server create --image cirros --flavor m1.tiny --network test_network test_instance

6. 性能优化建议

为了让你的OpenStack环境运行得更高效,可以考虑以下优化措施:

  1. 数据库优化

    vi /etc/my.cnf.d/mariadb-server.cnf

    添加以下配置:

    [mysqld] innodb_buffer_pool_size = 1G innodb_log_file_size = 256M innodb_flush_log_at_trx_commit = 2
  2. 消息队列优化

    vi /etc/rabbitmq/rabbitmq.config

    添加:

    {vm_memory_high_watermark, 0.4}
  3. Nova计算节点优化

    vi /etc/nova/nova.conf

    修改:

    [DEFAULT] reserved_host_memory_mb = 2048 cpu_allocation_ratio = 4.0 ram_allocation_ratio = 1.5
  4. Neutron网络优化

    vi /etc/neutron/plugins/ml2/ml2_conf.ini

    添加:

    [ml2] mechanism_drivers = openvswitch,l2population

7. 日常维护与监控

为了确保OpenStack环境稳定运行,建议建立以下维护流程:

  1. 定期备份

    • 数据库备份:
      mysqldump --all-databases > openstack_backup.sql
    • 配置文件备份:
      tar czf /root/openstack_config_backup.tar.gz /etc/nova /etc/neutron /etc/glance /etc/cinder
  2. 日志监控

    • 关键服务日志位置:
      • Nova:/var/log/nova/
      • Neutron:/var/log/neutron/
      • Keystone:/var/log/keystone/
      • Glance:/var/log/glance/
  3. 资源监控: 安装和配置Ceilometer和Gnocchi进行资源监控:

    yum install -y openstack-ceilometer-api openstack-ceilometer-collector openstack-ceilometer-notification openstack-ceilometer-central systemctl enable openstack-ceilometer-api.service openstack-ceilometer-notification.service openstack-ceilometer-central.service openstack-ceilometer-collector.service systemctl start openstack-ceilometer-api.service openstack-ceilometer-notification.service openstack-ceilometer-central.service openstack-ceilometer-collector.service
  4. 定期更新

    yum update -y

在实际运维中,我发现最常出现问题的环节是网络配置和资源分配。特别是在多节点环境中,确保各节点间的网络连通性和时间同步至关重要。建议在正式环境部署前,先在测试环境中充分验证所有配置。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询