天天看点

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

控制节点

1 先决条件

1.1 数据库

  • 1.连接数据库
    mysql -u root -p
               
  • 2.创建 cinder 数据库:
    CREATE DATABASE cinder;
               
  • 3.允许 cinder 数据库合适的访问权限,123456为
CINDER_DBPASS
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost'  IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'  IDENTIFIED BY '123456';
           
  • 4.退出数据库

1.2创建服务

  • 1.创建cinder用户
openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点
  • 2.添加 admin 角色到 cinder 用户上。
  • 3.创建 cinder 和 cinderv2 服务实体:
openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点
openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

1.3 创建Endpoint api

  • 1.Public-volume
openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点
  • 2.Internal-volume
openstack endpoint create --region RegionOne  volume internal http://controller:8776/v1/%\(tenant_id\)s
           
openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点
  • 3.Admin-volume
openstack endpoint create --region RegionOne   volume admin http://controller:8776/v1/%\(tenant_id\)s
           
openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点
  • 4.Public- volumev2
openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

- 5.internal- volumev2

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

-6. Admin-volumev2

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

2安装与配置

2.1安装包

2.2配置/etc/cinder/cinder.conf

vi /etc/cinder/cinder.conf

  • 1.在[database]配置数据库访问,123456为CINDER_DBPASS的密码
[database]
connection = mysql+pymysql://cinder:@controller/cinder
           
  • 2.在[DEFAULT] 和 [oslo_messaging_rabbit]部分,配置 RabbitMQ消息队列访问:
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 
           
  • 3.在 [DEFAULT]和 [keystone_authtoken] 部分,配置认证服务访问:
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://controller:
auth_url = http://controller:
memcached_servers = controller:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 
           
  • 4.在 [DEFAULT] 部分,配置

    my_ip

    来使用控制节点的管理接口的IP 地址。
[DEFAULT]
...
my_ip = 
           
  • 5.在 [oslo_concurrency] 部分,配置锁路径:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
           

2.3 初始化块设备服务的数据库:

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

3完成安装

重启服务

service nova-api restart service cinder-scheduler restart service cinder-api restart

4 验证

4.1获取管理员

. admin-openrc

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

cinder service-list

下图中3个存储节点的服务状态均为up

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

计算节点

1.配置块存储

  • 编辑/etc/nova/nova.conf,添加以下内容
[cinder]
os_region_name = RegionOne
           
  • 重启service
service nova-compute restart
           

存储节点

1.基本环境安装

安装见openstack部署2——控制节点基本环境安装

openstack部署2——控制节点基本环境安装

2先决条件

2.1安装支持的工具包:

apt-get install lvm2

2.2查看磁盘信息

fdisk -l

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

ps:可能遇到问题:新磁盘没有分区

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

解决方法:为新磁盘分区

fdisk /dev/sdb

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

输入m查看目录:

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

输入n,创建一个新分区,在输入p,选择主盘

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

输入1,或者默认回车

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

选择第一个分区的起始位置,默认2048,再输入最后位置,这里我们选择使用一半

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

输入p,查看分区情况

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

输入t,修改id为8e

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

输入p,查看分区情况

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

输入w,写入分区表

openstack安装部署8——块存储组件(控制节点、计算节点、存储节点)控制节点计算节点存储节点

2.3创建LVM 物理卷 /dev/sdb1

pvcreate /dev/sdb1
           

ps:可能遇到报错:

Device /dev/sdb1 not found (or ignored by filtering).

解决方法:只挂载了新硬盘,但还没有格式化使用,格式化的步骤参考2.2中ps可能出现的问题的解决方法

2.4编辑”/etc/lvm/lvm.conf‘’

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

vi /etc/lvm/lvm.conf

在“devices”部分,添加一个过滤器,只接受”/dev/sdb1”设备,拒绝其他所有设备:

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

3 安装配置卷服务

3.1安装包

apt-get install cinder-volume

3.2编辑 /etc/cinder/cinder.conf

vi /etc/cinder/cinder.conf

  • 1.在 [database] 部分,配置数据库访问,123456为CINDER_DBPASS的密码
[database]
connection = mysql+pymysql://cinder:@controller/cinder
           
  • 2.在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ”

    消息队列访问,123456为RABBIT_PASS的密码

[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 
           
  • 3.在 “[DEFAULT]” 和 “[keystone_authtoken]”

    部分,配置认证服务访问,123456为CINDER_PASS的密码

[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://controller:
auth_url = http://controller:
memcached_servers = controller:
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 
           
  • 4.在 [DEFAULT] 部分,配置 my_ip 选项:
[DEFAULT]
...
my_ip = 
           
  • 5.在

    [lvm]

    部分,配置LVM后端以LVM驱动结束,卷组`cinder-volumes ,iSCSI 协议和正确的

    iSCSI服务:

[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = tgtadm
           
  • 6.在 [DEFAULT] 部分,启用 LVM 后端:
[DEFAULT]
...
enabled_backends = lvm
           
  • 7.在 [DEFAULT] 区域,配置镜像服务 API 的位置:
[DEFAULT]
...
glance_api_servers = http://controller:
           
  • 8.在 [oslo_concurrency] 部分,配置锁路径:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
           

3.3 完成安装,重启服务

service tgt restart
service cinder-volume restart
           

继续阅读