一:Cinder提供块级别的存储服务,块存储提供一个基础设施为了管理卷,以及和OpenStack计算服务交互,为实例提供卷。此服务也会激活管理卷的快照和卷类型的功能,块存储服务通常包含下列组件:
cinder-api:接受API请求,并将其路由到“cinder-volume“执行,即请求cinder要先请求此对外API。
cinder-volume:与块存储服务和例如“cinder-scheduler“的进程进行直接交互。它也可以与这些进程通过一个消息队列进行交互。“cinder-volume“服务响应送到块存储服务的读写请求来维持状态。它也可以和多种存储提供者在驱动架构下进行交互。
cinder-scheduler守护进程:选择最优存储提供节点来创建卷。其与“nova-scheduler“组件类似。
cinder-backup守护进程:“cinder-backup“服务提供任何种类备份卷到一个备份存储提供者。就像“cinder-volume“服务,它与多种存储提供者在驱动架构下进行交互。
消息队列:在块存储的进程之间路由信息。

怎样为块存储服务安装并配置存储节点。为简单起见,这里配置一个有一个空的本地块存储设备的存储节点。这个向导用的是 /dev/sdb,此处选用linux-node1节点作为存储节点,需要在vmware中添加一块磁盘。

Cinder :本身不是存储软件,是管理后端存储用的
配置控制节点,
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE cinder;

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

openstack user create --domain default --password-prompt cinder
openstack role add --project service --user cinder admin

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

openstack endpoint create --region RegionOne volumev2 public http://192.168.1.230:8776/v2/%\(project_id\)s
openstack endpoint create --region RegionOne volumev2 internal http://192.168.1.230:8776/v2/%\(project_id\)s
openstack endpoint create --region RegionOne volumev2 admin http://192.168.1.230:8776/v2/%\(project_id\)s
openstack endpoint create --region RegionOne volumev3 public http://192.168.1.230:8776/v3/%\(project_id\)s
openstack endpoint create --region RegionOne volumev3 internal http://192.168.1.230:8776/v3/%\(project_id\)s
openstack endpoint create --region RegionOne volumev3 admin http://192.168.1.230:8776/v3/%\(project_id\)s

如报错:Multiple service matches found for 'volumev2', use an ID to be more specific.
则如下:
[root@linux-node1 ~]# openstack service list
+----------------------------------+-----------+-----------+
| ID | Name | Type |
+----------------------------------+-----------+-----------+
| 02180476df5840809d26655ba09b76e3 | cinderv2 | volumev2 |
| 1ae8fbe0cd164f6ab72ab1a9ec954631 | cinderv2 | volumev2 |
| 44bee342cbb341cca16840ff6f9bff85 | cinderv3 | volumev3 |
| 6ac06360d9b0464fbc811ea12d4ae848 | glance | image |
| 6b840f69965e43ad94813be38b56a6de | neutron | network |
| 929cbc7c7b264ad08d098409ad8dbab7 | placement | placement |
| 94b62aab1fde462583ec57c0becacb6f | keystone | identity |
| ab62662d8f734cadaf96f86b6dad4a8b | nova | compute |
| d2ab86cdf41347a2bc635036ead19204 | cinderv3 | volumev3 |
+----------------------------------+-----------+-----------+
[root@linux-node1 ~]# openstack service delete 02180476df5840809d26655ba09b76e3
[root@linux-node1 ~]# openstack service delete 1ae8fbe0cd164f6ab72ab1a9ec954631
[root@linux-node1 ~]# openstack service delete 44bee342cbb341cca16840ff6f9bff85
[root@linux-node1 ~]# openstack service delete d2ab86cdf41347a2bc635036ead19204
[root@linux-node1 ~]# openstack service list
+----------------------------------+-----------+-----------+
| ID | Name | Type |
+----------------------------------+-----------+-----------+
| 6ac06360d9b0464fbc811ea12d4ae848 | glance | image |
| 6b840f69965e43ad94813be38b56a6de | neutron | network |
| 929cbc7c7b264ad08d098409ad8dbab7 | placement | placement |
| 94b62aab1fde462583ec57c0becacb6f | keystone | identity |
| ab62662d8f734cadaf96f86b6dad4a8b | nova | compute |
+----------------------------------+-----------+-----------+

yum install openstack-cinder

[root@linux-node1 ~]# cat /etc/cinder/cinder.conf | grep -v "#" | grep -v "^$"
[DEFAULT]
transport_url = rabbit://openstack:openstack@192.168.1.230
auth_strategy = keystone
[backend]
[backend_defaults]
[barbican]
[brcd_fabric_example]
[cisco_fabric_example]
[coordination]
[cors]
[database]
connection = mysql+pymysql://cinder:cinder@192.168.1.230/cinder
[fc-zone-manager]
[healthcheck]
[key_manager]
[keystone_authtoken]
auth_uri = http://192.168.1.230:5000
auth_url = http://192.168.1.230:35357
memcached_servers = 192.168.1.230:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = cinder
[matchmaker_redis]
[nova]
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[oslo_reports]
[oslo_versionedobjects]
[profiler]
[ssl]

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

配置计算服务使用cinder
vim /etc/nova/nova.conf
[cinder]
os_region_name = RegionOne

systemctl restart openstack-nova-api.service
systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

[root@linux-node1 ~]# tail -f /var/log/cinder/api.log
2019-07-11 09:59:17.727 20055 INFO cinder.api.extensions [req-10d244f1-d517-4c00-89f5-b6b9bd4dba9c - - - - -] Loaded extension: os-volume-transfer
2019-07-11 09:59:17.727 20055 INFO cinder.api.extensions [req-10d244f1-d517-4c00-89f5-b6b9bd4dba9c - - - - -] Loaded extension: os-volume-type-access
2019-07-11 09:59:17.728 20055 INFO cinder.api.extensions [req-10d244f1-d517-4c00-89f5-b6b9bd4dba9c - - - - -] Loaded extension: encryption
2019-07-11 09:59:17.730 20055 INFO cinder.api.extensions [req-10d244f1-d517-4c00-89f5-b6b9bd4dba9c - - - - -] Loaded extension: os-volume-unmanage
2019-07-11 09:59:17.907 20055 INFO oslo.service.wsgi [req-10d244f1-d517-4c00-89f5-b6b9bd4dba9c - - - - -] osapi_volume listening on 0.0.0.0:8776
2019-07-11 09:59:17.908 20055 INFO oslo_service.service [req-10d244f1-d517-4c00-89f5-b6b9bd4dba9c - - - - -] Starting 4 workers
2019-07-11 09:59:18.124 20088 INFO eventlet.wsgi.server [-] (20088) wsgi starting up on http://0.0.0.0:8776
2019-07-11 09:59:18.165 20089 INFO eventlet.wsgi.server [-] (20089) wsgi starting up on http://0.0.0.0:8776
2019-07-11 09:59:18.344 20090 INFO eventlet.wsgi.server [-] (20090) wsgi starting up on http://0.0.0.0:8776
2019-07-11 09:59:18.377 20091 INFO eventlet.wsgi.server [-] (20091) wsgi starting up on http://0.0.0.0:8776

监听在8776

配置存储节点:
只要在一台机器上装上cinder-volume 就是存储节点
没有cinder的时候 存在本地硬盘如下路径:存在本地硬盘的优势是:性能好,因为存在别的机器,首先要经过网络传输,劣势是:不灵活,比如迁移
[root@linux-node2 ~]# cd /var/lib/nova/
[root@linux-node2 nova]# ls
buckets instances keys networks tmp
[root@linux-node2 nova]# cd instances/
[root@linux-node2 instances]# ls
_base compute_nodes locks
[root@linux-node2 instances]# tree

官方默认用iscsi:就是通过网络封装将数据传输,但和NFS不一样,NFS穿的是文件,iscsi传的是块
该服务使用LVM驱动程序在此设备上配置逻辑卷, 并通过iSCSI传输将它们提供给实例。您可以按照这些说明进行微小修改,以使用其他存储节点水平扩展您的环境。

本案例装在控制节点上:

yum install lvm2 device-mapper-persistent-data
注:要将cinder-volume 和lvm ,iscsi 装在一台机器上,因为cinder-volume 要管理lvm和iscsi

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

Create the LVM physical volume /dev/sdb:如下
添加磁盘后验证是否有sdb:
[root@linux-node1 ~]# fdisk -l

磁盘 /dev/sdb:26.8 GB, 26843545600 字节,52428800 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c3d86

设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 41943039 19921920 8e Linux LVM

磁盘 /dev/mapper/centos-root:18.2 GB, 18249416704 字节,35643392 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

[root@linux-node1 ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
[root@linux-node1 ~]# vgcreate cinder-volumes /dev/sdb
Volume group "cinder-volumes" successfully created
[root@linux-node1 ~]# vgdisplay #验证是否创建成功
--- Volume group ---
VG Name cinder-volumes
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <25.00 GiB
PE Size 4.00 MiB
Total PE 6399
Alloc PE / Size 0 / 0
Free PE / Size 6399 / <25.00 GiB
VG UUID yNfh0o-3HwS-tUnt-KOfv-CjSf-Bisa-bZuN2f

--- Volume group ---
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863
Alloc PE / Size 4863 / <19.00 GiB
Free PE / Size 0 / 0
VG UUID chtJNI-2SnD-3lRy-YJR2-lC4B-kwdn-xOmThi

vim /etc/lvm/lvm.conf
devices {
filter = [ "a/sdb/", "r/.*/"]

如果存储节点在操作系统磁盘上使用LVM,则还必须将关联的设备添加到过滤器。例如,如果/dev/sda设备包含操作系统:如果存储节点和控制节点在一起则替换掉上面的filter为下:
filter = [ "a/sda/", "a/sdb/", "r/.*/"]

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

yum install openstack-cinder targetcli python-keystone
注:targetcli 是管理iscsi的

vim /etc/cinder/cinder.conf
[database]
connection = mysql+pymysql://cinder:cinder@192.168.1.230/cinder
[DEFAULT]
transport_url = rabbit://openstack:RABBIT_PASS@192.168.1.230
auth_strategy = keystone
enabled_backends = lvm ###后端存储启动lvm,lvm这个名字是任意,是对应上面的[lvm] 的名字,就是[ ]里写的什么,这里就填什么
glance_api_servers = http://192.168.1.230:9292
[keystone_authtoken]
auth_uri = http://192.168.1.230:5000
auth_url = http://192.168.1.230:35357
memcached_servers = 192.168.1.230:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = cinder

[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm ####iscsi的管理工具是使用lioadm

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

[root@linux-node1 ~]# cat /etc/cinder/cinder.conf | grep -v "#" | grep -v "^$"
[DEFAULT]
transport_url = rabbit://openstack:openstack@192.168.1.230
auth_strategy = keystone
enabled_backends = lvm
glance_api_servers = http://192.168.1.230:9292
iscsi_ip_address = 192.168.1.230
[backend]
[backend_defaults]
[barbican]
[brcd_fabric_example]
[cisco_fabric_example]
[coordination]
[cors]
[database]
connection = mysql+pymysql://cinder:cinder@192.168.1.230/cinder
[fc-zone-manager]
[healthcheck]
[key_manager]
[keystone_authtoken]
auth_uri = http://192.168.1.230:5000
auth_url = http://192.168.1.230:35357
memcached_servers = 192.168.1.230:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = cinder
[matchmaker_redis]
[nova]
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_messaging_zmq]
[oslo_middleware]
[oslo_policy]
[oslo_reports]
[oslo_versionedobjects]
[profiler]
[ssl]
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm

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

ps aux | grep cinder

[root@linux-node1 ~]# openstack volume service list
+------------------+-----------------+------+---------+-------+----------------------------+
| Binary | Host | Zone | Status | State | Updated At |
+------------------+-----------------+------+---------+-------+----------------------------+
| cinder-scheduler | linux-node1 | nova | enabled | up | 2019-07-11T15:23:03.000000 |
| cinder-volume | linux-node1@lvm | nova | enabled | up | 2019-07-11T15:23:03.000000 |
+------------------+-----------------+------+---------+-------+----------------------------+

Install and configure the backup service

  • 6.创建云硬盘并挂载

(1)打开dashboard,进入卷,点击"创建卷"

(2)将卷加入到云主机中,"编辑卷"-->"管理连接"-->"链接云主机"

(3)进入云主机进行查看磁盘挂载情况
fdisk -l,成功挂载1G的云硬盘,对该磁盘进行格式化,并写入数据

tips:当有多个节点需要挂载该云盘,需要将该磁盘进行umount,再到"管理连接"-->"分离卷"。分离卷时,该磁盘数据不会丢失。挂到其他云主机时,不再需要格式化,直接可挂载。

存储节点可选用的存储类型
1.使用本地硬盘
2.系统使用本地硬盘+云硬盘(数据盘) ISCSI NFS GlusterFS Ceph

创建卷 --> 编辑卷 --> 分给虚拟机 --> 虚拟机查看是否加载 --> mkfs.xfs /dev/vdc --> mount /dev/vdc /data2/
注:在使用中这个云硬盘是不可以删的,要是将云硬盘挂载到其他虚拟机则要在原虚拟机先umount --> 然后分离卷,然后在挂载到新的上面,并且新虚拟机可以直接使用云硬盘里的数据

1.使用本地硬盘
2.系统使用本地硬盘 + 云硬盘(数据盘) ISCSI NFS ClusterFS Ceph,生产环境用后面两个

在上面当中,数据文件都保存在服务器本地,以下将介绍如何使用NFS共享作为Openstack后端存储

转载于:https://www.cnblogs.com/xuefy/p/11183574.html

025-Cinder服务--安装并配置一个本地存储节点(ISCSI)相关推荐

  1. NFS服务安装与配置方案

    NFS服务搭建方案 一.NFS简介 NFS它是Network File system 的缩写,即网络文件系统,我们可以通过NFS达到文件的共享,NFS 服务器设置一个共享目录或者文件给NFS 客户机, ...

  2. Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析

    Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析 文章目录 Dnsmasq安装 Dnsmasq配置 Dnsmasq启动 Dnsmasq使用 Dnsmasq小结 默认的情况下, ...

  3. Linux 环境下NFS服务安装及配置

    1.NFS概述 NFS 是 Network FileSystem 的缩写,是让不同的主机.不同的操作系统可以共享存储的服务.通过 NFS,我们本地 NFS 的客户端可以透明地读写位于服务端 NFS 服 ...

  4. 【系统篇 / 文件】01. 文件服务安装与配置 ❀ Windows Server 2008 R2

    [简介]文件服务提供帮助管理存储.启用文件复制.管理共享文件夹.确保快速搜索文件,以及启用对UNXI客户端计算机访问的技术.使用文件服务,组织可以将文件存储到中心位置,然后通过公司网络与用户共享.可以 ...

  5. linux7创建vsftp服务器,Centos 7 FTP(vsftp)服务安装及配置

    作为前端工程师,要想在中国有一席之地,你不得不作出不可能的努力,把自己变成一个全能的人.你不仅仅要会 HTML.CSS.JavaScript.PhotoShop.Node.js.Angular.js. ...

  6. [乐意黎转载]Centos 7 nginx 服务安装及配置

    前言 nginx 跟 Apache 的作用差不多,都是提供 WEB 服务,但 nginx 相对于 Apache 来说,在性能上有更好的体现,而 Apache 有稳定性方面会比 nginx 好一些,所以 ...

  7. 完美图解教程 Linux环境VNC服务安装、配置与使用

    图片直观明了,尝试一步一步分享俺的成果. 1:下面第一步当然是确认自己linux系统是否安装VNC 默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上. 打 ...

  8. linux vnc 安装目录,Linux环境VNC服务安装、配置与使用(图)

    整个VNC运行的工作流程如下: (1)VNC客户端通过浏览器或VNC Viewer连接至VNC Server. (2)VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的VNC S ...

  9. Linux:xinetd服务安装与配置(操作环境:Ubuntu 18.04)

    xinetd服务简介: xinetd是一个守护进程,属于系统中的一个后台进程,周期性的执行某些任务,或者等待某个事件发生.不会随着用户的注销而退出. 支持对tcp.udp.RPC服务(但是当前对RPC ...

最新文章

  1. BZOJ 2561: 最小生成树(最小割)
  2. asp.net网站安全常见问题与防范
  3. Python——你应该知道这些
  4. Oracle 不同故障的恢复方案
  5. 光耦p621引脚图_光耦继电器类型,带有示例和电路图的应用
  6. SSDP:DDoS***的“新宠”
  7. 452.用最少数量的箭引爆气球
  8. 为什么我的devc 调试不了c 语言,devc++为什么调试不了,求大神帮看看!
  9. 浅谈人工智能(AI)
  10. document.documentElement.clientHeight 与 document.body.clientHeight
  11. Android-蓝牙AVRCP 以及 绝对音量(absolute volume)概述-A2dp-hfp
  12. 怎么用计算机打出音乐符号,音乐符号怎么打出来(所有)
  13. 淘宝数据库,主键如何设计以及自增ID的问题
  14. maven集成docker插件进行打包镜像并推送私服
  15. DHCP地址池耗尽攻击
  16. 【四足机器人】学习笔记 欧拉角与旋转矩阵之间的转化关系
  17. 通过子域名查询真实ip地址
  18. Someone(某位大牛)的自述
  19. python微信登录模块_Python清理微信僵尸粉,基于itchat模块
  20. 新PHP云盘网盘系统Cloudreve程序源码一键安装版+可对接多家云存储网盘

热门文章

  1. oracle 110个常用函数,分析函数
  2. HFP A2DP,通话过程中打开蓝牙,A2DP连接失败
  3. 用Java实现自己的数据库OR映射框架
  4. 《逆向管理——先行动后思考》读书笔记
  5. 如何打开eml格式文件
  6. Android 新老两代 Camera API 大起底
  7. 转载颜色模式RGB888-RGB565
  8. nginx 多端口转发 + SSL
  9. react受控组件、非受控组件以及高阶组件
  10. 水位怎么观测?水位观测内容包括河床变化、流势、流向、分洪、冰情、水生植物、波浪、风向、风力、水面起伏度、水温和影响水位变化的其他因素。必要时,还测定水面的比降。