logo

OpenStack Queens多节点部署指南:控制与存储节点Cinder安装详解

作者:蛮不讲李2025.09.18 18:53浏览量:0

简介:本文详细介绍OpenStack Queens版本中控制节点与存储节点Cinder组件的多节点手动安装流程,涵盖环境准备、组件安装、配置文件修改及服务验证等关键步骤。

OpenStack Queens多节点部署指南:控制与存储节点Cinder安装详解

一、环境准备与前置条件

1.1 节点角色划分

在OpenStack Queens多节点架构中,需明确控制节点(Controller Node)与存储节点(Storage Node)的分工:

  • 控制节点:承担认证管理(Keystone)、镜像服务(Glance)、编排引擎(Heat)及块存储调度(Cinder Scheduler)等核心服务。
  • 存储节点:部署Cinder Volume服务,提供实际存储后端(如LVM、iSCSI或Ceph)。

1.2 系统环境要求

  • 操作系统:Ubuntu 16.04 LTS或CentOS 7(需验证内核兼容性)。
  • 网络配置
    • 管理网络(用于OpenStack内部通信):10.0.0.0/24
    • 存储网络(可选,用于iSCSI流量):10.0.1.0/24
  • 依赖包
    1. # Ubuntu示例
    2. sudo apt-get update
    3. sudo apt-get install -y python-openstackclient lvm2 thin-provisioning-tools

1.3 数据库消息队列准备

Cinder依赖MySQL(或MariaDB)存储元数据,通过RabbitMQ实现服务间通信:

  1. -- MySQL中创建Cinder数据库
  2. CREATE DATABASE cinder;
  3. GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'CINDER_DBPASS';
  4. GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'CINDER_DBPASS';

二、控制节点Cinder组件安装

2.1 安装Cinder服务包

  1. sudo apt-get install -y cinder-api cinder-scheduler

2.2 配置Cinder主文件

编辑/etc/cinder/cinder.conf,核心配置项如下:

  1. [database]
  2. connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
  3. [DEFAULT]
  4. transport_url = rabbit://openstack:RABBIT_PASS@controller
  5. auth_strategy = keystone
  6. my_ip = 10.0.0.11 # 控制节点管理IP
  7. [keystone_authtoken]
  8. auth_uri = http://controller:5000
  9. auth_url = http://controller:35357
  10. memcached_servers = controller:11211
  11. auth_type = password
  12. project_domain_name = Default
  13. user_domain_name = Default
  14. project_name = service
  15. username = cinder
  16. password = CINDER_PASS

2.3 同步数据库并启动服务

  1. su -s /bin/sh -c "cinder-manage db sync" cinder
  2. systemctl restart apache2
  3. systemctl enable cinder-scheduler.service
  4. systemctl start cinder-scheduler.service

三、存储节点Cinder Volume安装

3.1 存储后端准备(以LVM为例)

  1. 创建物理卷与卷组:
    1. sudo pvcreate /dev/sdb # 假设/dev/sdb为空盘
    2. sudo vgcreate cinder-volumes /dev/sdb
  2. 配置LVM过滤(避免扫描其他磁盘):
    1. echo 'filter = [ "a/sdb/", "r/.*/" ]' | sudo tee /etc/lvm/lvm.conf

3.2 安装Cinder Volume包

  1. sudo apt-get install -y cinder-volume

3.3 配置存储节点

修改/etc/cinder/cinder.conf,补充存储后端配置:

  1. [lvm]
  2. volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
  3. volume_group = cinder-volumes
  4. target_protocol = iscsi
  5. target_helper = lioadm

3.4 启动服务并验证

  1. systemctl enable cinder-volume.service
  2. systemctl start cinder-volume.service
  3. # 验证卷组可用性
  4. sudo vgs
  5. # 预期输出:VG #PV #LV #SN Attr VSize VFree
  6. # cinder-volumes 1 0 0 wz--n- <50.00g <50.00g

四、控制节点与存储节点协同验证

4.1 创建Cinder服务凭证

在控制节点执行:

  1. source admin-openrc.sh # 加载OpenStack环境变量
  2. openstack volume service list
  3. # 预期输出包含存储节点的cinder-volume服务

4.2 测试块存储创建

  1. 创建5GB卷:
    1. openstack volume create --size 5 demo-vol1
  2. 验证卷状态:
    1. openstack volume show demo-vol1
    2. # 检查status字段是否为"available"

五、常见问题与解决方案

5.1 数据库连接失败

现象cinder-scheduler日志报错Can't connect to MySQL server
解决

  1. 检查MySQL服务状态:systemctl status mysql
  2. 验证防火墙规则:sudo ufw allow 3306/tcp
  3. 确认cinder.conf中数据库连接字符串正确性。

5.2 LVM后端未识别

现象openstack volume create卡在”creating”状态
解决

  1. 检查/var/log/cinder/volume.log是否有LVM错误。
  2. 确认lvm.conf过滤规则正确,避免扫描非目标磁盘。
  3. 手动触发扫描:sudo vgscan --mknodes

六、性能优化建议

  1. 存储节点配置
    • 为LVM后端分配独立磁盘,避免与系统盘混用。
    • 启用LVM缓存:sudo apt-get install -y thin-provisioning-tools
  2. 网络优化
    • 分离管理网络与存储网络(iSCSI流量走专用网卡)。
    • 调整iSCSI超时参数:echo "options iscsi_tcp timeout=30" | sudo tee /etc/modprobe.d/iscsi.conf

七、总结与后续步骤

本指南详细阐述了OpenStack Queens版本中控制节点与存储节点的Cinder组件安装流程,涵盖环境准备、配置文件修改、服务验证及故障排查。完成安装后,建议:

  1. 执行完整功能测试(包括卷创建、挂载、快照等)。
  2. 集成到OpenStack Dashboard(Horizon)进行图形化管理。
  3. 规划存储节点扩容方案(如添加新LVM卷组或接入Ceph集群)。

通过严格遵循本文步骤,可确保Cinder块存储服务在多节点环境中稳定运行,为后续虚拟机实例提供可靠的持久化存储支持。

相关文章推荐

发表评论