Ubuntu 18.04上单机安装OpenStack Stein(非脚本方式):Cinder

Ubuntu 18.04上单机安装OpenStack Stein(非脚本方式):Cinder

安装与配置

使用root用户登陆MySQL数据库

# mysql

新建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用户的OpenRC脚本文件

$ . admin-openrc

创建cinder用户

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

输出结果

User Password:
Repeat User Password:
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 02bf5086d87c481e96ec64228f017914 |
| name                | cinder                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

授予cinder用户在service项目中使用admin角色

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

创建块存储服务的v2版本和v3版本实体

$ openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | ed1e5369eafe4ef2a74789ded8e18dbe |
| name        | cinderv2                         |
| type        | volumev2                         |
+-------------+----------------------------------+
$ openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | 10bab41d8e5c4558ab6211ac39f5e420 |
| name        | cinderv3                         |
| type        | volumev3                         |
+-------------+----------------------------------+

创建块存储服务的API端点

$ openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | ea9fae17afbe4a389fe79dee7624ed78         |
| interface    | public                                   |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | ed1e5369eafe4ef2a74789ded8e18dbe         |
| service_name | cinderv2                                 |
| service_type | volumev2                                 |
| url          | http://controller:8776/v2/%(project_id)s |
+--------------+------------------------------------------+
$ openstack endpoint create --region RegionOne volumev2 internal http://controller:8776/v2/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | 775903c5070841d0bffa736ef7c7b6af         |
| interface    | internal                                 |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | ed1e5369eafe4ef2a74789ded8e18dbe         |
| service_name | cinderv2                                 |
| service_type | volumev2                                 |
| url          | http://controller:8776/v2/%(project_id)s |
+--------------+------------------------------------------+
$ openstack endpoint create --region RegionOne volumev2 admin http://controller:8776/v2/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | d8d4f15927ac4b6ea804a04bf814b8c2         |
| interface    | admin                                    |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | ed1e5369eafe4ef2a74789ded8e18dbe         |
| service_name | cinderv2                                 |
| service_type | volumev2                                 |
| url          | http://controller:8776/v2/%(project_id)s |
+--------------+------------------------------------------+
$ openstack endpoint create --region RegionOne volumev3 public http://controller:8776/v3/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | bd7e02a0792e408aad67e5df481681e4         |
| interface    | public                                   |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 10bab41d8e5c4558ab6211ac39f5e420         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+
$ openstack endpoint create --region RegionOne volumev3 internal http://controller:8776/v3/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | 6ac3e870255e478092c72f66fee660fe         |
| interface    | internal                                 |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 10bab41d8e5c4558ab6211ac39f5e420         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+
$ openstack endpoint create --region RegionOne volumev3 admin http://controller:8776/v3/%\(project_id\)s
+--------------+------------------------------------------+
| Field        | Value                                    |
+--------------+------------------------------------------+
| enabled      | True                                     |
| id           | 7bb7920582ad4981a894e5d3b6434b5f         |
| interface    | admin                                    |
| region       | RegionOne                                |
| region_id    | RegionOne                                |
| service_id   | 10bab41d8e5c4558ab6211ac39f5e420         |
| service_name | cinderv3                                 |
| service_type | volumev3                                 |
| url          | http://controller:8776/v3/%(project_id)s |
+--------------+------------------------------------------+

安装支持的软件包

# apt-get install lvm2 thin-provisioning-tools

按前置准备时硬盘的分区,使用sda11创建LVM物理卷

# pvcreate /dev/sda11

输出结果

  Physical volume "/dev/sda11" successfully created.

创建 LVM 卷组

# vgcreate cinder-volumes /dev/sda11

输出结果

  Volume group "cinder-volumes" successfully created

默认状态下,LVM卷扫描工具会扫描整个/dev目录,为避免冲突,需要重新编辑LVM配置文件使其只扫描包含“cinder-volumes”卷组的设备

# vim /etc/lvm/lvm.conf

在打开的文件中修改如下键值

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

省略号(…)表示保留原有默认配置选项
安装cinder软件包

# apt-get install cinder-api cinder-scheduler cinder-volume

输入以下指令编辑cinder配置文件

# vim /etc/cinder/cinder.conf

在打开的文件中修改如下键值

[database]
# ...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
[DEFAULT]
# ...
enabled_backends = lvm
transport_url = rabbit://openstack:RABBIT_PASS@controller
auth_strategy = keystone
my_ip = 192.168.31.118
glance_api_servers = http://controller:9292
[keystone_authtoken]
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = cinder
password = CINDER_PASS
[oslo_concurrency]
# ...
lock_path = /var/lib/cinder/tmp
[lvm]
# ...
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
target_protocol = iscsi
target_helper = tgtadm

用之前对应生成的十六进制数代替“CINDER_DBPASS”、“CINDER_PASS”和“RABBIT_PASS”字段
省略号(…)表示保留原有默认配置选项
[keystone_authtoken]部分要注释或删除其他选项

完成后同步cinder数据库

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

输入以下指令编辑nova配置文件

# vim /etc/nova/nova.conf

在打开的文件中修改如下键值

[cinder]
# ...
os_region_name = RegionOne

重启计算API和块存储服务

# service nova-api restart
# service cinder-scheduler restart
# service apache2 restart
# service tgt restart
# service cinder-volume restart

验证操作

列出服务组件以验证是否每个进程都成功启动

$ openstack volume service list

输出结果

+------------------+------------------------+------+---------+-------+----------------------------+
| Binary           | Host                   | Zone | Status  | State | Updated At                 |
+------------------+------------------------+------+---------+-------+----------------------------+
| cinder-scheduler | guytion-All-Series     | nova | enabled | up    | 2019-09-18T03:37:16.000000 |
| cinder-volume    | guytion-All-Series@lvm | nova | enabled | up    | 2019-09-18T03:37:17.000000 |
+------------------+------------------------+------+---------+-------+----------------------------+

登陆http://controller/horizon,发现增加了Volume服务
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值