openstack-mitaka中如何安装块存储服务

发布时间:2021-11-16 10:34:31 作者:小新
来源:亿速云 阅读:139

小编给大家分享一下openstack-mitaka中如何安装块存储服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

块存储服务概述

OpenStack块存储服务(cinder)给虚拟机添加持久存储。块存储给管理卷提供一个基础设施,并与OpenStac计算服务进行交互从而给云主机实例提供卷。该服务也启用了卷快照和卷类型的管理。

块存储服务由下面组件构成:

cinder-api

接受API请求,并将它们路由到cinder-volume的ation。

cinder-volume

直接和存储服务交互,并处理如cinder-scheduler等。它也这些进程通过消息队列进行交互。Cinder-volume服务反馈读和写请求到块存储服务以维持状态。通过驱动结构它能与各种存储提供商进行交互。

cinder-scheduler daemon

选择最佳的存储供应节点然后在其上创建卷。和nova-scheduler类似。

cinder-backup daemon

cinder-backup服务为备份存储供应程序提供任何类型的卷备份。如cinder-volume服务,它能通过驱动结构与各种存储供应程序交互。

Messaging queue

在各个存储进程之间进行信息转发。

安装和配置控制节点

这部分描述如何在控制节点安装块存储服务。此服务要求至少一个额外存储节点来给云主机实例提供卷。

先决条件

1.以下几步完成数据库创建:

l用root账号登陆数据库

mysql -u root -p

l创建cinder数据库

CREATE DATABASE cinder;

l给cinder数据库授权

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

l退出数据库

2.加载admin凭证

. admin-openrc

3.创建服务凭证

l创建cinder用户

openstack user create --domain default --password-prompt cinder

openstack-mitaka中如何安装块存储服务

l将admin角色添加给cinder用户

openstack role add --project service --user cinder admin

l创建cinder和cinderv2服务entities

openstack service create --name cinder --description "OpenStack Block Storage" volume

openstack-mitaka中如何安装块存储服务

openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2

openstack-mitaka中如何安装块存储服务

备注:块存储服务要求两个服务

4.创建块存储服务 API endpoints

openstack endpoint create --region RegionOne volume public http://controller:8776/v1/%\(tenant_id\)s

openstack-mitaka中如何安装块存储服务

openstack endpoint create --region RegionOne volume internal http://controller:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne volume admin http://controller:8776/v1/%\(tenant_id\)s

openstack-mitaka中如何安装块存储服务

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

openstack-mitaka中如何安装块存储服务

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

openstack-mitaka中如何安装块存储服务

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

openstack-mitaka中如何安装块存储服务

备注:块存储要求为两个服务实体每个都要创建对应的endpoint。

安装和配置组件

1.安装软件包

yum install openstack-cinder

2.编辑/etc/cinder/cinder.conf文件,并修改操作:

l在[database]部分,配置数据库访问

[database]
...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

将CINDER_DBPASS替换成正确的密码

l在[DEFAULT]和[oslo_messaging_rabbit]部分,配置RabbitMQ消息队列访问

[DEFAULT]
...
rpc_backend = rabbit
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

将RABBIT_PASS替换成正确的密码

l在[DEFAULT] and [keystone_authtoken]部分,配置Identity服务访问

[DEFAULT]
...
auth_strategy = keystone
 
[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_PASS

         将CINDER_PASS替换成正确的密码

l在[default]部分,my_ip为控制节点的管理网络IP地址

[DEFAULT]
...
my_ip = 192.168.213.81

l在[oslo_concurrency]部分,配置lock path

[oslo_concurrency]
...
lock_path = /var/lib/cinder/tmp

3.同步数据库

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

配置计算服务使用块存储

1.编辑/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

安装和配置存储节点

这部分描述如何在存储节点安装块存储服务。为简单起见,这个配置将引用一个带有一个空的本地存储设备的存储节点。此操作指南使用/dev/sdb,但你可以替换成你特定节点不同的值。

该服务在此设备上使用LVM驱动提供逻辑卷,并通过iSCSI端口将它们提供给云主机实例。你可以按照这些指引进行较小的修改,以水平扩展你的环境与额外的存储节点。

先决条件

在存储节点开始安装和配置块存储服务前,你必须准备存储设备。

1.安装支持工具包

l安装LVM包

yum install lvm2

l启动LVM元数据服务并配置开机自启动

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

2.创建LVM物理卷/dev/sdb

pvcreate /dev/sdb

3.创建LVM卷组cinder-volumes

vgcreate cinder-volumes /dev/sdb

         块存储服务会在这个卷组里创建逻辑卷。

4.只有云主机实例能访问块存储卷。然而,底层操作系统管理与卷相关的设备。默认情况下,LVM卷扫描工具会为包含卷的块存储设备扫描/dev目录。如果项目在他们的卷上使用LVM,扫描工具检测到这些卷,并试图对其进行缓存,缓存这些可导致一系列与底层操作系统和工程量都相关的问题。你必须重新配置LVM来只扫描包含cinder-volume卷组的设备。编辑/etc/lvm/lvm.conf文件并完成下面步骤。

l在devices部分,添加一个filter来接受/dev/sdb设备并拒绝所有的其它设备

devices {
...
filter = [ "a/sdb/", "r/.*/"]

在filter数组里的每一项,以a开头表示接受,以r开头表示拒收,并且包含一个正则表达式设备名。数组必须以r/.*/结尾来拒收任何剩下的设备。你可以用vgs –vvvv命令来测试filters

警告:如果你的存储节点在操作系统盘使用LVM,你必须也添加相关的设备到filter。例如,如果/dev/sda设备包含操作系统:filter = [ "a/sda/", "a/sdb/", "r/.*/"]。

类似的,如果你的计算节点在操作系统盘使用LVM,你必须也要修改这些节点的/etc/lvm/lvm.conf文件里的filter,将操作系统盘包括进去。例如,如果/dev/sda设备包含操作系统:filter = [ "a/sda/", "r/.*/"]

安装和配置组件

1.安装软件包

yum install openstack-cinder targetcli

2.编辑/etc/cinder/cinder.conf文件

l在[database]部分,配置数据库访问

[database]
...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

将CINDER_DBPASS正确的密码

l在[DEFAULT] 和 [oslo_messaging_rabbit]部分,RabbitMQ消息队列

[DEFAULT]
...
rpc_backend = rabbit
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

         将RABBIT_PASS正确的密码

l在[DEFAULT] 和 [keystone_authtoken]部分,配置Identity服务访问

[DEFAULT]
...
auth_strategy = keystone
 
[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_PASS

         将CINDER_PASS正确的密码

l在[default]部分,配置my_ip

[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

         将MANAGEMENT_INTERFACE_IP_ADDRESS替换成存储节点管理网络接口IP地址。

l在[lvm]部分,配置

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

l在[default]部分,配置

[DEFAULT]
...
enabled_backends = lvm

l在[default]部分,配置

[DEFAULT]
...
glance_api_servers = http://controller:9292

l在[oslo_concurrency]部分,配置

[oslo_concurrency]
...
lock_path = /var/lib/cinder/tmp

完成安装

启动块存储卷服务包括它的依赖,并配置开机启动

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

验证操作

下列操作在控制节点进行

1.加载admin凭证

. admin-openrc

2.列出服务组件来验证每个进程成功启动

cinder service-list

看完了这篇文章,相信你对“openstack-mitaka中如何安装块存储服务”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

推荐阅读:
  1. CEPH块存储
  2. cinder块存储服务的安装部署

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

openstack

上一篇:MAC如何安装Securecrt

下一篇:JMeter如何安装配置

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》