openstack云计算平台(8)--核心组件配置->块存储服务

一、概述

  1. 块存储服务(cinder)为实例提供块存储。存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的。还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等。
  2. 典型情况下,块服务API和调度器服务运行在控制节点上。取决于使用的驱动,卷服务器可以运行在控制节点、计算节点或单独的存储节点。

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

  1. cinder-api
    接受API请求,并将其路由到cinder-volume执行。
  2. cinder-volume
    与块存储服务和例如cinder-scheduler的进程进行直接交互。它也可以与这些进程通过一个消息队列进行交互。cinder-volume服务响应送到块存储服务的读写请求来维持状态。它也可以和多种存储提供者在驱动架构下进行交互。
  3. cinder-scheduler守护进程
    选择最优存储提供节点来创建卷。其与nova-scheduler组件类似。
  4. cinder-backup守护进程
    cinder-backup服务提供任何种类备份卷到一个备份存储提供者。就像cinder-volume服务,它与多种存储提供者在驱动架构下进行交互。
  5. 消息队列
    在块存储的进程之间路由信息。

二、安装并配置控制节点

1. 先决条件
##1. 创建数据库:
## 用数据库连接客户端以 root 用户连接到数据库服务器:
[root@controller ~]# mysql -pwestos
MariaDB [(none)]> CREATE DATABASE cinder; ##创建 cinder 数据库
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'cinder';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'cinder'; ##允许 cinder 数据库合适的访问权限
 
##2.创建服务证书
##创建一个 cinder 用户:
[root@controller ~]# openstack user create --domain default --password cinder cinder
##添加 admin 角色到 cinder 用户上
[root@controller ~]# openstack role add --project service --user cinder admin
##创建 cinder 和 cinderv2 服务实体:
[root@controller ~]# openstack service create --name cinder --description "OpenStack Block Storage" volume
[root@controller ~]# openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2

##3.创建块设备存储服务的 API 入口点:
[root@controller ~]# openstack endpoint create --region RegionOne volume public http://controller:8776/v1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne volume internal http://controller:8776/v1/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne volume admin http://controller:8776/v1/%\(tenant_id\)s


[root@controller ~]# openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
[root@controller ~]# openstack endpoint create --region RegionOne volumev2 admin http://controller:8776/v2/%\(tenant_id\)s

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2. 安全并配置组件
##1.安装软件包:
[root@controller ~]# yum install openstack-cinder -y
[root@controller ~]# vim /etc/cinder/cinder.conf
[DEFAULT]
rpc_backend = rabbit  #配置 “RabbitMQ” 消息队列访问:
auth_strategy = keystone   ##配置认证服务访问
my_ip = 192.168.0.1   ##配置 my_ip 来使用控制节点的管理接口的IP 地址


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

##配置 “RabbitMQ” 消息队列访问:
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack

##配置认证服务访问:
[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 = cinder

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

## 3.初始化块设备服务的数据库:
[root@controller ~]# su -s /bin/sh -c "cinder-manage db sync" cinder

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. 配置计算节点以使用块设备存储
[root@controller ~]# mysql -pwestos
MariaDB [(none)]> show databases;
MariaDB [(none)]> use cinder
MariaDB [cinder]> show tables;
[root@controller ~]# vim /etc/nova/nova.conf
[cinder]
os_region_name = RegionOne

在这里插入图片描述

4. 完成安装
##1.重启计算API 服务:
[root@controller ~]# systemctl restart openstack-nova-api.service

##2.启动块设备存储服务,并将其配置为开机自启:
[root@controller ~]# systemctl enable --now openstack-cinder-api.service openstack-cinder-scheduler.service

二、安装并配置一个存储节点

1. 开启新的虚拟机做存储节点

配置存储节点

  1. 添加一块新的硬盘
  2. 配置ip,添加解析,设置主机名为block1
  3. 配置镜像源,设置时间同步
[root@block1 ~]# vim /etc/hosts
[root@block1 ~]# yum install -y chrony
[root@block1 ~]# vim /etc/chrony.conf 
server 192.168.0.100 iburst
[root@block1 ~]# systemctl enable --now chronyd
[root@compute1 yum.repos.d]# scp openstack.repo block1:/etc/yum.repos.d/

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.先决条件
## 1. 安装支持的工具包:
## 安装 LVM 包:
[root@block1 ~]# yum install lvm2
## 启动LVM的metadata服务并且设置该服务随系统启动:
[root@block1 ~]# systemctl enable lvm2-lvmetad.service
[root@block1 ~]# fdisk -l

## 2. 创建LVM 物理卷 /dev/vdb
[root@block1 ~]# pvcreate /dev/vdb
  Physical volume "/dev/vdb" successfully created.

## 3. 创建LVM 物理卷  cinder-volumes,块存储服务会在这个卷组中创建逻辑卷。
[root@block1 ~]# vgcreate cinder-volumes /dev/vdb
  Volume group "cinder-volumes" successfully created

## 4. 只有实例可以访问块存储卷组。
## 在``devices``部分,添加过滤器,只接受``/dev/sdb``设备,拒绝其他所有设备.
## 存储节点在操作系统磁盘上使用了 LVM,需添加相关的设备到过滤器中。例如,如果 /dev/vda 设备包含操作系统:
[root@block1 ~]# vim /etc/lvm/lvm.conf
        filter = [ "a/vda/", "a/vdb/", "r/.*/"]

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

3. 安全并配置组件
## 1. 安装软件包:
[root@block1 ~]# yum install openstack-cinder targetcli python-keystone

[root@block1 ~]# vim /etc/cinder/cinder.conf
[DEFAULT]
rpc_backend = rabbit   ##配置 “RabbitMQ” 消息队列访问
auth_strategy = keystone  ##配置认证服务访问
my_ip = 192.168.0.3    ##配置 my_ip 选项
enabled_backends = lvm    ##启用 LVM 后端
glance_api_servers = http://controller:9292  ##配置镜像服务的位置
verbose = True   ##(可选的)为帮助排错,在 “[DEFAULT]”部分启用详细日志

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

##配置 “RabbitMQ” 消息队列访问:
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack

##配置认证服务访问:
[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 = cinder

##配置LVM后端以LVM驱动结束,卷组``cinder-volumes`` ,iSCSI 协议和正确的 iSCSI服务:
[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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4. 完成安装
[root@block1 ~]# systemctl enable --now openstack-cinder-volume.service target.service

在这里插入图片描述

三、验证操作

## 列出服务组件以验证是否每个进程都成功启动:
[root@controller ~]# cinder service-list

在这里插入图片描述

四、图形化管理界面操作

1. 添加云硬盘

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 删除云硬盘

想要从云主机上摘除云硬盘,需要先卸载,再分离,之前保存在云硬盘中的数据不会丢失,就算云主机删除了也不影响,因为云硬盘相对于云主机来说就相当于一个外部设备,想要得到之前放置在云硬盘中的数据只需要重新建立云主机,并将云硬盘添加到云主机中即可.

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

3. 扩展云硬盘

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值