Openstack 安装部署指南翻译系列 之 Cinder服务安装(Block Storage)

1.1.1.1. Cinder服务安装Block Storage

块存储服务(cinder)为访客实例提供块存储设备。存储设置方法由块存储驱动程序确定,或者在多后端配置的情况下确定驱动程序。有各种可用的驱动程序:NAS / SAN,NFS,iSCSI,Ceph等。

块存储API和调度器服务通常在控制器节点上运行。根据使用的驱动程序,卷服务可以在控制器节点,计算节点或独立存储节点上运行。

本节介绍如何为块存储服务安装和配置存储节点。为了简单起见,此配置引用一个具有空的本地块存储设备的存储节点。说明使用/dev/sdb,但您可以替换特定节点的其他值。

该服务使用LVM驱动程序在此设备上提供逻辑卷,并通过iSCSI传输将其提供给实例。您可以按照这些说明进行细微的修改,以使用附加的存储节点水平扩展环境。

1.1.1.1.1. 安装和配置存储节点
1.1.1.1.1.1. 先决条件

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

注意:在存储节点上执行这些步骤。

安装支持实用程序包:

安装LVM软件包:

# yum install lvm2

启动LVM元数据服务并将其配置为在系统引导时启动:

# systemctl enable lvm2-lvmetad.service

# systemctl start lvm2-lvmetad.service

注意:一些发行版默认情况下包括LVM。

创建LVM物理卷/dev/sdb:

# pvcreate /dev/sdb

Physical volume "/dev/sdb" successfully created

创建LVM卷组cinder-volumes:

# vgcreate cinder-volumes /dev/sdb

Volume group "cinder-volumes" successfully created

块存储服务在此卷组中创建逻辑卷。

只有实例可以访问块存储卷。但是,底层操作系统管理与卷关联的设备。默认情况下,LVM卷扫描工具将扫描/dev包含卷的块存储设备的 目录。如果项目在其卷上使用LVM,则扫描工具会检测这些卷并尝试缓存它们,这可能会导致底层操作系统和项目卷的各种问题。您必须重新配置LVM以仅扫描包含cinder-volumes卷组的设备。编辑 /etc/lvm/lvm.conf文件并完成以下操作:

在本devices节中,添加一个接受/dev/sdb设备并拒绝所有其他设备的过滤器:

devices {

...

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

过滤器阵列中的每个项目以a表示accept或 r表示reject开头,并包含设备名称的正则表达式。阵列必须结束r/.*/以拒绝任何剩余的设备。您可以使用vgs -vvvv命令来测试过滤器。

警告:如果存储节点在操作系统磁盘上使用LVM,则还必须将关联的设备添加到过滤器。例如,如果/dev/sda设备包含操作系统:

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

同样,如果您的计算节点在操作系统磁盘上使用LVM,则还必须修改/etc/lvm/lvm.conf这些节点上的文件中的过滤器, 以仅包括操作系统磁盘。例如,如果/dev/sda 设备包含操作系统:

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

1.1.1.1.1.2. 安装和配置组件

安装软件包:

# yum install openstack-cinder targetcli python-keystone

编辑/etc/cinder/cinder.conf文件并完成以下操作:

在该[database]部分中,配置数据库访问:

[database]

# ...

connection = mysql+pymysql://cinder:[email protected]/cinder

替换CINDER_DBPASS为块存储数据库选择的密码。

在本[DEFAULT]节中,配置RabbitMQ 消息队列访问:

[DEFAULT]

# ...

transport_url = rabbit://openstack:[email protected]

替换RABBIT_PASS为您为该openstack帐户选择的密码RabbitMQ。

在[DEFAULT]和[keystone_authtoken]部分中,配置身份服务访问:

[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为cinder身份服务中为用户选择的密码 。

注意:注释或删除该[keystone_authtoken]部分中的任何其他选项 。

在本[DEFAULT]节中,配置my_ip选项:

[DEFAULT]

# ...

my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

替换MANAGEMENT_INTERFACE_IP_ADDRESS为存储节点上的管理网络接口的IP地址,通常为示例体系结构中第一个节点的10.0.0.41 。

在本[lvm]节中,使用LVM驱动程序,cinder-volumes卷组,iSCSI协议和适当的iSCSI服务配置LVM后端。如果该[lvm]部分不存在,请创建它:

[lvm]

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volume_group = cinder-volumes

iscsi_protocol = iscsi

iscsi_helper = lioadm

在本[DEFAULT]节中,启用LVM后端:

[DEFAULT]

# ...

enabled_backends = lvm

注意:后端名称是任意的。作为示例,本指南使用驱动程序的名称作为后端的名称。

在该[DEFAULT]部分中,配置Image Service API的位置:

[DEFAULT]

# ...

glance_api_servers = http://controller:9292

在该[oslo_concurrency]部分中,配置锁定路径:

[oslo_concurrency]

# ...

lock_path = /var/lib/cinder/tmp

1.1.1.1.1.3. 完成安装

启动Block Storage卷服务,包括其依赖关系,并将其配置为在系统引导时启动:

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

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

1.1.1.1.2. 安装和配置控制器节点

本节介绍如何在控制器节点上安装和配置块存储服务(代号为Cinder)。此服务需要至少一个向实例提供卷的附加存储节点。

1.1.1.1.2.1. 先决条件

在安装和配置块存储服务之前,必须创建一个数据库,服务凭证和API端点。

要创建数据库,请完成以下步骤:

使用数据库访问客户端作为root用户连接到数据库服务器:

$ mysql -u root -p

创建cinder数据库:

MariaDB [(none)]> CREATE DATABASE cinder;

授予对cinder数据库的正确访问权限:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘localhost‘ \

IDENTIFIED BY ‘CINDER_DBPASS‘;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘%‘ \

IDENTIFIED BY ‘CINDER_DBPASS‘;

更换CINDER_DBPASS一个合适的密码。

退出数据库访问客户端。

输入admin凭据以访问仅管理CLI命令:

$ . admin-openrc

要创建服务凭据,请完成以下步骤:

创建cinder用户:

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

User Password:

Repeat User Password:

将admin角色添加到cinder用户:

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

创建cinderv2和cinderv3服务实体:

$ 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.1.1.1.2.2. 安装和配置组件

安装软件包:

# yum install openstack-cinder

编辑/etc/cinder/cinder.conf文件并完成以下操作:

在该[database]部分中,配置数据库访问:

[database]

# ...

connection = mysql+pymysql://cinder:[email protected]/cinder

替换CINDER_DBPASS为块存储数据库选择的密码。

在本[DEFAULT]节中,配置RabbitMQ 消息队列访问:

[DEFAULT]

# ...

transport_url = rabbit://openstack:[email protected]

替换RABBIT_PASS为您为该openstack帐户选择的密码 RabbitMQ。

在[DEFAULT]和[keystone_authtoken]部分中,配置身份服务访问:

[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为cinder身份服务中为用户选择的密码。

注意:注释或删除该[keystone_authtoken]部分中的任何其他选项 。

在该[DEFAULT]部分中,配置该my_ip选项以使用控制器节点的管理接口IP地址:

[DEFAULT]

# ...

my_ip = 10.0.0.11

在该[oslo_concurrency]部分中,配置锁定路径:

[oslo_concurrency]

# ...

lock_path = /var/lib/cinder/tmp

填充Block Storage数据库:

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

1.1.1.1.2.3. 配置计算以使用块存储

编辑/etc/nova/nova.conf文件并添加以下内容:

[cinder]

os_region_name = RegionOne

1.1.1.1.2.4. 完成安装

重新启动Compute API服务:

# systemctl restart openstack-nova-api.service

启动Block Storage服务并将其配置为在系统启动时启动:

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

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

时间: 2024-10-10 21:31:23

Openstack 安装部署指南翻译系列 之 Cinder服务安装(Block Storage)的相关文章

Openstack 安装部署指南翻译系列 之 Manila服务安装(Share Storage)

1.1.1.1. Manila服务安装(Share Storage) 1.1.1.1.1. 服务概述 OpenStack共享文件系统服务(manila)为虚拟机提供文件存储.共享文件系统服务提供了一个管理和配置文件共享的集合.该服务还支持共享类型的管理以及支持共享快照,前提是需要驱动程序支持. 共享文件系统服务由以下组件组成: manila-api 验证请求并将其路由到共享文件系统服务的WSGI应用程序. manila-data 一个独立的服务,其目的是处理数据操作,如复制,共享迁移或备份. m

Openstack 安装部署指南翻译系列 之 Keystone服务安装(Identity)

OpenStack系统由分开安装的几个关键服务组成.这些服务可根据其他云需求一起工作,包括计算(Compute),身份(Identity),网络(Networking),镜像(Image),块存储(Block Storage),对象存储(Object Storage),计量(Telemetry),编排(Orchestration)和数据库(Database)服务.可以单独安装任何这些项目,并将其配置为独立的或连接的实体. 本节介绍如何在控制器节点上安装和配置OpenStack Identity服

Openstack 安装部署指南翻译系列 之 Glance服务安装(Image)

1.1.1.1. ance服务安装(Image) 1.1.1.1.1. 镜像服务概述 镜像服务(Glance)使用户能够发现,注册和检索虚拟机镜像.它提供了一个 REST API,可让您查询虚拟机镜像元数据并检索实际镜像.可以存储通过Image Service在各种位置(从简单的文件系统到像OpenStack Object Storage这样的对象存储系统)提供的虚拟机镜像. 重要:为了简单起见,本指南介绍如何配置Image服务以使用file后端,后端上传并存储在托管Image服务的控制器节点上

Openstack 安装部署指南翻译系列 之 Neutron服务安装(Networking)

1.1.1.1. Neutron服务安装(Networking) 本章介绍如何使用提供商网络或自助服务网络选项安装和配置网络服务(Neutron). OpenStack Networking(Neutron)允许您创建并附加由其他OpenStack服务管理的接口设备到网络.可以实现插件以适应不同的网络设备和软件,为OpenStack架构和部署提供灵活性. 1.1.1.1.1. 网络服务概述 它包括以下组件: 2 neutron-server 接受并将API请求路由到相应的OpenStack Ne

Openstack安装部署指南翻译系列 之 说明(Pike版本官网翻译)

从部署实践来看,部署工作有两大困难,一个是架构设计,一个是排查错误.其中,当部署过程中出现错误,需要排查的时候,如果不了解基础的系统结构原理和基础的安装步骤,是很难定位和解决问题的. 现在Openstack的部署有很多可选项,主要有: 1)根据社区官网最基础的安装文档根据设计对每一个service组件进行安装,这种安装方式最基础,全手工: 2)使用Mirantis公司的Fuel工具进行部署.这种部署方式非常高效,界面友好,Fuel工具真正实现了一键部署,只要设计好网络和功能节点分布,一键部署完成

Openstack 安装部署指南翻译系列 之 环境配置

1.1.1. 环境配置 为了最大限度地减少混乱并为OpenStack提供更多资源,建议最少安装Linux发行版.此外,必须在每个节点上安装64位版本的发行版. 环境选项主要包括以下几个部分: l 安全 l 主机网络 l 网络时间协议(NTP) l OpenStack包 l SQL数据库 l 消息队列 l Memcached 1.1.1.1. 安全 OpenStack服务支持各种安全方法,包括密码,策略和加密.另外,包括数据库服务器和消息代理在内的支持服务支持密码安全性. 为了简化安装过程,本指南

Openstack安装部署指南翻译系列 之 硬件需求

1.1.1.1. 控制节点 控制器节点运行身份服务,镜像服务,计算的管理部分,网络的管理部分,各种网络代理和仪表板.它还包括支持服务,如SQL数据库,消息队列和NTP. 可选地,控制节点运行块存储,对象存储,编排和计量服务的部分. 控制器节点至少需要两个网络接口. 1.1.1.2. 计算节点 计算节点运行虚拟机实例的Compute 的管理程序部分.默认情况下,Compute使用KVM虚拟机管理程序.计算节点还运行网络服务代理,将实例连接到虚拟网络,并通过安全组向实例提供防火墙服务. 可以部署多个

Openstack 安装部署指南翻译系列 之 网络

网络包括两种类型,网络选项1:提供商网络(Provider networks)和网络选项2:自助网络(Self-service networks),其中网络选项2:自助网络(Self-service networks)能够实现更加高级的网络功能,能够实现网络选项1的所有功能,因此我们的项目选择网络选项2:自助网络(Self-service networks).以下是虚拟网络选项的说明: 1.1.1.1. 网络选项1:提供商网络(Provider networks) 提供商网络选项以最简单的方式部

Openstack 安装部署指南翻译系列 之 启动一个实例

本节创建必要的虚拟网络以支持启动实例.网络选项1包括一个提供者provider(external)网络,一个实例使用它.网络选项2包括一个提供商provider网络,一个实例使用它,一个自助服务(private)网络与一个使用它的实例.本节中的说明使用控制器节点上的命令行界面(CLI)工具.但是,可以按照安装工具的任何主机上的说明进行操作.有关CLI工具的更多信息,请参阅Pike的 OpenStackClient文档.要使用仪表板(dashboard),请参阅仪表板(dashboard)用户文档