openstack-cinder

本文介绍了OpenStack中BlockStorageService(Cinder)的功能和服务原理。Cinder提供了REST API用于管理volume,通过调度器优化存储资源分配,并支持多种后端存储方式如LVM、NFS和Ceph等。

介绍

操作系统获得存储空间一般有两种方式
1、通过某种协议,挂接裸硬盘,然后分区、格式化,创建文件系统

2、通过NFS等协议mount远程的文件系统

Block Storage Servicet 提供对 volume 从创建到删除整个生命周期的管理。从 instance 的角度看,挂载的每一个 Volume 都是一块硬盘。OpenStack 提供 Block Storage Service 的是 Cinder,其具体功能是:

  1. 提供 REST API 使用户能够查询和管理 volume、volume snapshot 以及 volume type
  2. 提供 scheduler 调度 volume 创建请求,合理优化存储资源的分配
  3. 通过 driver 架构支持多种 back-end(后端)存储方式,包括 LVM,NFS,Ceph 和其他诸如 EMC、IBM 等商业存储产品和方案

下图是cinder的逻辑架构图
在这里插入图片描述

### 安装 OpenStack Cinder 并包含 Cinder API 和调度服务的指南 通过 `yum` 安装 OpenStack Cinder 时,核心软件包 `openstack-cinder` 包含了 `cinder-api` 和 `cinder-scheduler` 模块。以下是具体的安装步骤和相关说明。 #### 1. 控制节点上的安装 在控制节点上,需要安装以下软件包以支持 Cinder API 和调度服务: ```bash yum install -y openstack-cinder python2-PyMySQL python-memcached ``` 此命令会安装 `openstack-cinder` 软件包及其依赖项[^4]。安装完成后,系统会自动创建名为 `cinder` 的 Linux 系统用户和同名用户组[^2]。 #### 2. 配置数据库 Cinder 使用 MySQL 或 MariaDB 数据库存储元数据。需要手动创建数据库并授权访问权限。例如: ```sql CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'password'; ``` 确保将 `password` 替换为实际使用的密码。 #### 3. 配置 Cinder API 和调度服务 编辑 `/etc/cinder/cinder.conf` 文件,配置数据库连接、身份认证(Keystone)以及后端存储等参数。示例配置如下: ```ini [database] connection = mysql+pymysql://cinder:password@controller/cinder [keystone_authtoken] auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = cinder password = password [DEFAULT] transport_url = rabbit://openstack:password@controller auth_strategy = keystone my_ip = 192.168.1.10 enabled_backends = lvm glance_api_servers = http://controller:9292 ``` 以上配置中,`password` 和 `controller` 需根据实际情况替换[^4]。 #### 4. 启动服务并设置开机自启 启动 `cinder-api` 和 `cinder-scheduler` 服务,并设置其在系统重启后自动启动: ```bash systemctl enable openstack-cinder-api openstack-cinder-scheduler systemctl start openstack-cinder-api openstack-cinder-scheduler ``` #### 5. 验证安装 使用以下命令验证 Cinder 服务是否正常运行: ```bash source admin-openrc cinder service-list ``` 如果所有服务状态显示为 `up`,则表示安装成功[^1]。 --- ### 计算节点上的安装(可选) 如果需要在计算节点上部署 `cinder-volume` 服务,则需执行以下操作: ```bash yum install -y openstack-cinder targetcli python-keystone python-openstackclient python2-PyMySQL python-memcached ``` 此外,还需根据存储后端(如 LVM、Ceph 等)安装相应的驱动程序。例如,使用 Ceph 作为后端时: ```bash yum install -y ceph-common ``` --- ### 注意事项 - 确保所有节点的时间同步(NTP)。 - 在多节点环境中,需正确配置网络通信(如 RabbitMQ 地址)。 - 根据实际需求选择合适的存储后端,并完成相应配置[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值