type
status
date
slug
summary
tags
category
icon
password
210306
笔记本: HCIE-CLOUD-20210123
创建时间: 2021/3/4 15:58 更新时间: 2021/3/6 16:25
作者: 海彬

openstack
To do List:

部署openstack

horizon

keystone

nova

placement

glance

cinder

swift

manila

neutron

heat

ceilometer

ironic

华为FusionSphere Openstack
Openstack支持的存储类型
依据:终止一个虚拟机时,磁盘是否同时删除
临时存储
nova所管理计算节点的本地磁盘(块存储)
持久性存储
cinder所管理的块存储
swift所管理的对象存储
manila所管理的文件存储
块存储
一块磁盘、一个raid、一个lvm、一个san
没有文件系统。但实际使用中,需要我们添加文件系统,比如windows添加ntfs\fat32、linux添加ext3\ext4\xfs
文件存储
cifs、nfs
文件系统把磁盘分为两部分
1、inode:存储元数据(描述数据的数据,比如文件的名字、大小、占用空间、位置、时间、权限等)
2、block:真正用于存数据
对象存储
fs中vbs到osd、swift、ceph、oceanstor9000、s3
key-value
Cinder
cinder最早从nova独立出来。前身nova-volume。本身没有存储空间,需要通过dirver对接不同类型的存储。
cinder架构
cinder-api:1、接收client的rest请求 2、找keystone进行认证鉴权 3、找DB进行配额的校验、预留 4、调用后端其他组件,完成动作。部署在控制节点,多活
动作:
卷create/delete/list/show
快照create/delete/list/show
卷attach/detach (Nova调用)
cinder-scheduler:选择合适的后端。1、filter 2、权重(内存、CPU)。部署在控制节
点,多活
cinder-volume:类似于nova-compute。通过dirver对接后端。1、定期收集后端存储的能力 2、卷和快照的生命周期管理。部署在控制+计算节点,多活
cinder-backup:数据备份。部署在控制+计算节点,多活
外部访问cinder-api,前端会有haproxy
项目内部子组件之间,会有rabbitmq
cinder不同dirver使用
1、计算节点是KVM,存储是本地磁盘
计算节点的本地磁盘归nova所管理
控制节点的本地磁盘
cinder-volume->lvm-dirver->lvm(vg)->pv->控制节点disk
nova-compute请求cinder-api创建卷,cinder-api->scheduler->volume->lvm dirver->lvm(vg),创建卷(lv),lv对应VM的盘
2、计算节点是KVM,存储是IPSAN,但是没有dirver
IPSAN创建lun,挂载给控制节点,类似第1种方式,把lun添加到lvm
cinder-volume->lvm-dirver->lvm(vg)->pv->控制节点lun
nova-compute请求cinder-api创建卷,cinder-api->scheduler->volume->lvm dirver->lvm(vg),创建卷(lv),lv对应VM的盘
3、计算节点是KVM,存储是IPSAN,有dirver
业务流量:VM对存储空间IO
管理流量:创建、删除、修改、挂载、卸载卷和快照
IPSAN的管理口连接到控制节点,业务口连接计算节点
管理:nova-compute请求cinder-api创建卷,cinder-api->scheduler->volume->ipsan dirver->ipsan管理口,创建卷(lun),lun对应VM的盘
业务:计算节点的VM->ipsan的业务口
4、存储是nfs,需要使用nfs dirver,不可以多个节点同时操作
5、华为场景下,旧版6.1,使用vrm-dirver
6、华为场景下,6.3以后(FusionCloud)
控制节点需要运行管理VM,会有管理存储
计算节点需要运行业务VM,会有业务存储
如果按照第3种方式,需要在控制节点部署管理存储的一套cinder-volume,再加一套业务存储cinder-volume
问题:
如果管理、业务存储同时是Fusionstorage,需要将cinder-volume与vbs合一部署。但是此时单个节点VBS只能有一个。
如果业务存储是FCSAN,计算节点、控制节点同时需要有HBA卡。成本较高
为了解决以上两个问题,需要实现业务存储的cinder-volume下沉(将原本部署在控制节点的业务存储c-v下沉至计算节点)
cinder创建卷流程
cinder-api->cinder-scheduler->cinder-volume->dirver->存储
cinder挂载卷流程
manila
文件存储:操作对象是文件和文件夹,在存储系统上增加了文件系统,再通过NFS或CIFS协议进行访问。
架构
类比cinder
manila-api
manila-scheduler
manila-share:跟cinder-volume功能类似,通过dirver对接不同后端存储。唯一区别,需要附加cifs\nfs协议
Swift
最早的两个项目之一
特殊:与其他openstack项目不一样,本身就是一个产品。
比如:cinder需要通过不同的dirver对接不同的存储,通过nfs的dirver对接NAS,通过san的dirver对接ipsan\fcsan
swift本身就是一个产品。与S3、Fusionstorage object、ceph object一样,都是可以独立存在。
适合存放非结构化数据
结构化、非结构化、半结构化
镜像存储后端
在OpenStack中与镜像服务Glance结合,为其存储镜像文件。
静态数据存储
由于Swift的扩展能力,适合存储日志文件和数据备份仓库。
swift架构
proxy server
acount server
container server
object server
swift数据模型
acount:账户、租户
container:容器
object:对象,真正的数据
/acount/container/object
实际上就是三个存储池
swift原理
一致性哈希
首先对key值哈希,得到2^32值
右移m位,m默认29
2^32-29=2^3=8个虚拟节点(分区),每个虚拟节点分得2^29的key不一定是8个节点,可以根据自己的需求,合理设置值。比如均分为4份,16份
副本
swift默认是3副本
数据一致性:
1、强一致性:读+写被确认>副本数,一定可以保证读到的数据,一定包含最新的数据。2、弱一致性:读+写被确认<=副本数,有可能读到数据,是脏数据。
swift默认配置是3副本,写被确认2份,读1或2份。当2份时是强一致性(如果此时读两份数据不一致,还要再比较时间戳),1份时是弱一致性。
设备映射:需要将副本映射至设备。需要保证数据的不同副本,不在同一区域
整个过程:
重复三次(查找acount中的container,查找container中的object,查找object具体的数据)
对key值hash,得到2^32
对hash值,右移m位,均分为2^(32-m)个分区或虚拟节点,m默认是29
对分区做三副本
副本至设备的映射,注意同一分区的不同副本,需要落在不同区域中
swift 空间
1、分区
2、磁盘
3、lvm
华为是在三个控制节点上,分别创建一个swift的lv,作为swift的存储空间
三个存储组件的区别?
考试一般问的是glance\cinder\swift
定位:glance定位镜像管理。cinder定位接入存储提供块存储服务。swift直接提供对象存储服务
空间:glance\cinder两者本身没有存储空间,glance后端存储有swift\本地磁盘\OBS,cinder后端存储有nfs\lvs\san等
swift本身维持存储空间
组件交互:glance\cinder内部通过MQ通信,swift则不会
有可能问的是cinder\swift\manila
定位:
空间:cinder\manila两者本身没有存储空间,都是通过dirver接入后端存储实现。swift本身维持存储空间
nova\cinder都能够提供块存储,区别是?
考试会以下面这种方式提问?
FusionCloud6.3中云硬盘和本地磁盘的区别?
云硬盘:使用共享存储。数据可靠性高、存储性能高,支持热迁移、磁盘升降配置。适用于对稳定性、可靠性要求较高的长期运行的系统。
本地磁盘:使用主机的本地硬盘。相对于云磁盘,I/O性能稳定、吞吐量高。但不支持热迁移、磁盘升降配置。不受VDC配额限制,也无法统计使用量。性能与主机的负载情况有关,且存在单点故障风险,适用于对稳定性、可靠性要求不高的短期运行的系统。建议将重要数据同步到其他实例或备份到云磁盘。
1、可靠性。
2、本地磁盘不面向租户,只可以在service om上使用。
3、生命周期,云硬盘可以独立于云主机存在,而本地磁盘不行。
4、本地磁盘不支持热迁移、HA等
5、云硬盘会受限于租户配额。本地磁盘没有面向租户,不会受限于配额6、高级特性。本地磁盘不支持快照、磁盘升降配置
7、应用场景。本地磁盘可靠性较差,一般用于业务测试,备份等非重要场景。
- Author:always1ov
- URL:https://always1ov.com/article/%EF%BC%88%E6%97%A7%EF%BC%89%E5%8D%8E%E4%B8%BA%E4%BA%91%E8%AE%A1%E7%AE%97%E7%AC%94%E8%AE%B0%EF%BC%88%E4%B9%9D%EF%BC%89
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts
