type
status
date
slug
summary
tags
category
icon
password
210306
笔记本: HCIE-CLOUD-20210123
创建时间: 2021/3/4 15:58 更新时间: 2021/3/6 16:25
作者: 海彬
notion image
openstack
To do List:
notion image
部署openstack
notion image
horizon
notion image
keystone
notion image
nova
notion image
placement
notion image
glance
notion image
cinder
notion image
swift
notion image
manila
notion image
neutron
notion image
heat
notion image
ceilometer
notion image
ironic
notion image
华为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、应用场景。本地磁盘可靠性较差,一般用于业务测试,备份等非重要场景。
(旧)华为云计算笔记(十)(旧)华为云计算笔记(八)
Loading...