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
相关推荐
xy123062 天前
OpenStack Train 部署实战(一):双节点基础环境搭建
openstack
别多香了3 天前
OpenStack 核心服务与实操
openstack
哈里谢顿7 天前
devstack重启恢复方案
openstack
哈里谢顿7 天前
openstack 中的二层网络跟三层网络范围对比
openstack
哈里谢顿7 天前
devstack中的systemd管理介绍
openstack
哈里谢顿7 天前
在远程服务器上部署 DevStack 后如何访问 Horizon Dashboard?
openstack
哈里谢顿8 天前
使用devstack部署openstack
openstack
忧思幽释8 天前
Mariadb Galera集群在Openstack中的应用
wpf·openstack·mariadb
阿干tkl8 天前
本地源方式安装开源 OpenStack (V版本)
开源·openstack
孪生质数-9 天前
Ansible基础入门
服务器·自动化·ansible·openstack