openstack之cinder介绍

概念

cinder 为虚拟机提供管理块存储服务。支持的文件系统:lvm、iscsi、nfs、san、RBD

组件构成及功能介绍

cinder api:在控制节点运行,管理服务的接口,被命令行、其他组件调用;

cinder scheduler:类似nova-schedule( 默认用空闲内存计算权重 ),运行在控制节点,默认用空闲容量计算权重。如果对接的后端存储有调度功能,就不太需要;

cinder volume:类比 nova-compute,在存储节点运行,收到来自scheduler的调用后,在存储设备上进行卷的新建、删除、更改;

cinder backup:通过驱动在正确的位置存储备份数据;

关于volume的操作

powershell 复制代码
# 创建空白卷
openstack volume create --size 2 卷名称
# 创建启动卷
openstack volume create --size 2 --image 镜像 卷名称
# 挂载卷,文件系统人工配置
openstack server add volume [instance1] 卷名称
# 卸载
openstack server remove volume [instance1] 卷名称
# 备份卷
openstack volume backup create --name 备份名称 卷名称
# 卷快照
openstack volume snapshot create --volume 卷名称 快照名称
# 由快照创建新卷
openstack volume create --snapshot 快照名称 --size 2 新卷名称

软件定义存储-ceph

cinder-provider:后端存储的抽象,比如nfs-provider、ceph-provider,在cinder.conf文件定义,通过相应发driver通信,同时,cinder-provider与cinder-volume一一对应。

ceph介绍

crushmap

1、crush算法通过计算数据存储位置来确定如何存储和检索,授权客户端直接连接osd

2、对象通过算法被切分成数据片,分布在不同的osd上

3、提供很多种的bucket,最小的节点是osd

powershell 复制代码
# 结构
osd (or device)
host #主机
chassis #机架
rack #机柜
row
pdu
pod
room #机房
datacenter #数据中心
zone #区域
region #地区
root #最高:根

# 查看crushmap
ceph osd crush tree
ceph osd tree
# 查看详细
ceph osd crush dump

# 查看规则
ceph osd crush rule ls
# 某个规则关联起来的pool
ceph osd pool get xxxxx crush_rule

举例

环境: 一个pool包含3个host,多个osd,通过不同crushmap rule分隔,数据按照不同pool rule落盘。

1、先做crushmap文件备份

2、修改引起大量pg变更,后期不要动

3、调整配置osd crush update on start = false,

powershell 复制代码
#创建root类型bucket
ceph osd crush add-bucket ssd-bucket root

# 添加host类型bucket
ceph osd crush add-bucket node-1-ssd-bucket host
ceph osd crush add-bucket node-2-ssd-bucket host

# root类型bucket添加host类型bucket
ceph osd crush move node-1-ssd-bucket root=ssd-bucket
ceph osd crush move node-2-ssd-bucket root=ssd-bucket

# host类型bucket添加osd
ceph osd crush move osd.3 host=node-1-ssd-bucket root=ssd-bucket
ceph osd crush move osd.4 host=node-2-ssd-bucket root=ssd-bucket

#规则名称、rootbucket名称、容灾机制(默认default)、host类型、磁盘类型
ceph osd tree

#创建一条名为ssd-rule的规则,将基于ssd的OSD作为复制池的目标
ceph osd crush rule create-replicated ssd-rule ssd-bucket host ssd
#关联pool和rule
ceph osd pool set ceph-ssd crush_rule ssd-rule
相关推荐
感哥3 天前
OpenStack Cinder 创建卷
openstack
感哥3 天前
OpenStack Cinder 架构
openstack
感哥3 天前
OpenStack Nova Scheduler 计算节点选择机制
openstack
感哥6 天前
OpenStack Nova 创建虚拟机
openstack
感哥6 天前
OpenStack Glance(镜像)
openstack
感哥6 天前
OpenStack Keystone详解
openstack
安全菜鸟15 天前
传统方式部署OpenStack具体教程
openstack
哈里谢顿2 个月前
Ironic 中 Clean/deploy Step 延迟执行的原因分析
openstack
哈里谢顿2 个月前
ironic中为什么 IPMI Hardware Type 必须支持 IPMIManagement
openstack
哈里谢顿2 个月前
Ironic 中各个接口的作用详解
openstack