OpenStack-Pike 搭建之Cinder(七)

OpenStack-Pike 搭建之Cinder(七)

Acha
2022-07-19 / 0 评论 / 154 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年07月21日,已超过636天没有更新,若内容或图片失效,请留言反馈。

概述

OpenStack块存储服务(cinder)为虚拟机添加持久的存储,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷。此服务也会激活管理卷的快照和卷类型的功能。

块存储服务通常包含下列组件:

  • cinder-api

    接受API请求,并将其路由到cinder-volume执行。

  • cinder-volume

    与块存储服务和例如cinder-scheduler的进程进行直接交互。它也可以与这些进程通过一个消息队列进行交互。cinder-volume服务响应送到块存储服务的读写请求来维持状态。它也可以和多种存储提供者在驱动架构下进行交互。

  • cinder-scheduler守护进程

    选择最优存储提供节点来创建卷。其与nova-scheduler组件类似。

  • cinder-backup daemon

    cinder-backup服务提供任何种类备份卷到一个备份存储提供者。就像cinder-volume服务,它与多种存储提供者在驱动架构下进行交互。

  • 消息队列

    在块存储的进程之间路由信息。

安装并配置控制节点

先决条件

1、创建数据库

  • root 用户连接到数据库服务器
mysql -u root -p000000
  • 创建 cinder 数据库
CREATE DATABASE cinder;
  • 允许 cinder 数据库的cinder用户访问权限:
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY '000000';

GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY '000000';

2、获取 admin 凭证

. admin-openrc

3、创建服务证书

  • 创建一个 cinder 用户
openstack user create --domain default --password 000000 cinder
  • 添加 admin 角色到 cinder 用户上
openstack role add --project service --user cinder admin
  • 创建服务实体
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2

openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
  • 创建服务API
openstack endpoint create --region RegionOne \
  volumev2 public http://controller:8776/v2/%\(project_id\)s

openstack endpoint create --region RegionOne \
  volumev2 internal http://controller:8776/v2/%\(project_id\)s

openstack endpoint create --region RegionOne \
  volumev2 admin http://controller:8776/v2/%\(project_id\)s

openstack endpoint create --region RegionOne \
  volumev3 public http://controller:8776/v3/%\(project_id\)s

openstack endpoint create --region RegionOne \
  volumev3 internal http://controller:8776/v3/%\(project_id\)s

openstack endpoint create --region RegionOne \
  volumev3 admin http://controller:8776/v3/%\(project_id\)s

安装并配置组件

1、安装软件包

yum install -y openstack-cinder

2、配置 cinder.conf

# sed -i.bak '/^#/d;/^$/d' /etc/cinder/cinder.conf

# vim /etc/cinder/cinder.conf

[database]
# 配置数据库访问
connection = mysql+pymysql://cinder:000000@controller/cinder

[DEFAULT]
# 配置RabbitMQ 消息队列访问
transport_url = rabbit://openstack:000000@controller
# 配置身份服务访问
auth_strategy = keystone
# 控制器节点的管理接口 IP 地址
my_ip = 178.120.2.100

[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 = 000000

[oslo_concurrency]
# 配置锁定路径
lock_path = /var/lib/cinder/tmp

3、同步数据库

# su -s /bin/sh -c "cinder-manage db sync" cinder

配置计算节点使用块设备存储

配置 nova.conf

# vim /etc/nova/nova.conf 

[cinder]
os_region_name = RegionOne

完成安装

1、重启计算API服务

systemctl restart openstack-nova-api.service

2、启动设备块存储服务并设置开机自启

systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service

systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

安装并配置存储节点

先决条件

1、安装支持工具包

yum install -y lvm2 device-mapper-persistent-data 

systemctl enable lvm2-lvmetad.service && systemctl start lvm2-lvmetad.service

2、创建LVM物理卷

pvcreate /dev/sdb

3、创建LVM卷组

vgcreate cinder-volumes /dev/sdb

4、添加过滤器

# vim /etc/lvm/lvm.conf

filter = [ "a/vdb/", "r/.*/"]

安装并配置组件

1、安装软件包

yum install -y openstack-cinder targetcli python-keystone

2、配置 cinder.conf

# sed -i.bak '/^#/d;/^$/d' /etc/cinder/cinder.conf

# vim /etc/cinder/cinder.conf

[database]
# 配置数据库访问
connection = mysql+pymysql://cinder:000000@controller/cinder

[DEFAULT]
# RabbitMQ 消息队列访问
transport_url = rabbit://openstack:000000@controller
# 配置身份服务访问
auth_strategy = keystone
# 存储节点上管理网络接口的 IP 地址
my_ip = 178.120.2.192
# 启用 LVM 后端
enabled_backends = lvm
# 配置镜像服务 API 的位置
glance_api_servers = http://controller:9292

[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 = 000000

[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm

[oslo_concurrency]
# 配置锁定路径
lock_path = /var/lib/cinder/tmp

完成安装

启动存储卷服务,设置开机自启

systemctl enable openstack-cinder-volume.service target.service

systemctl start openstack-cinder-volume.service target.service
0

评论

博主关闭了当前页面的评论