Openstack+ceph集群 学习记录 了解Openstack和ceph集群

最近在学习Openstack+ceph集群,这里记录一些随笔,有不同观点欢迎指出
详细部署见https://blog.csdn.net/lx7820336/article/details/124289669

Openstack

什么是Openstack

是一个基础设施资源管理平台

Openstack做什么

可以按需求提供资源(类似操作系统可以管理硬件部分)

Openstack运用在哪里

Keystone 认证服务

Glance 镜像服务

Nova 计算服务

Neutron 网络服务

Cinder 块存储服务

Swift 对象存储服务

Horizon dashboard服务

Heat 编排服务

Ceilometer 监控服
务

Sahara 大数据部署服务
...

Openstack架构

在这里插入图片描述

应用通过API接入openStack

openStack Dashboard

openstack中提供的一个web前端控制台,以此来展示openstack的功能
dashboard这个服务可以运行在控制节点,也可以运行在其他一个单独的节点上

Compute

计算节点

Networking

网络节点

Storage

存储节点

关系图

在这里插入图片描述

组件间关系

在这里插入图片描述

在这里插入图片描述

Keystone:认证服务
Glance:镜像服务
Nova:计算服务
Neutron:网络服务
Cinder:存储服务
Horizon:web 界面
Cellometer:监控计费
Swit:对象存储
Heat:编排服务(通过剧本,批量部署虚拟机)

Openstack新建云主机流程图

1.keystone 身份认证

2.填写创建云主机的相关配置–> nova-api --> 将相关信息保存到 MySQL

3.nova-scheduler --> 读取 MySQL 云主机配置信息 --> 读取计算节点资源

4.nova-compute 通过 nova-conductor 获取云主机配置信息 --> 调取相关模块(neutron、glance、cinder)进行云主机的创建

Ceph

什么是Ceph

是一个分布式存储系统

Ceph做什么

可以提供对象存储块存储文件存储

Ceph运用在哪里

对象存储和块存储可以很好地和各大云平台集成

Ceph集群的组成

Monitor节点
MDS节点(可选,用于文件存储)至少两个OSD守护进程

Ceph中有三个核心组件

OSD守护进程

1.用于存储数据、处理数据拷贝、恢复、回滚、均衡,并通过心跳程序向Monitor提供部分监控信息

2.一个Ceph集群中至少需要两个OSD守护进程

为什么需要两个OSD守护进程:

两个OSD节点,集群才能到达active+clean状态

Monitor

用于维护集群的状态映射信息(个人理解是监控集群运行状态)
包括monitor、OSD、Placement Group(PG)
还维护了Monitor、OSD和PG的状态改变历史信息

Managers

1.负责跟踪运行时间指标和Ceph群集的当前状态
2.包括存储利用率当前性能指标系统负载
3.同时还托管基于python的插件管理和公开Ceph集群信息,包括基于Web的仪表板REST API。 通常,至少有两名Manager需要高可用性

Ceph架构图

在这里插入图片描述

APP :应用程序
HOST:主机
VM:虚拟机
Client:接入

LibRados:Ceph的客户端通过一套名为librados的接口进行集群的访问

RadosGW:RadosGW 是对象存储(OSS,Object Storage Service)的一种实现方式,RADOS 网关也称为 Ceph对象
对象存储概念:
对象是对象存储系统中数据存储的基本单位,每个 Object 是数据和数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等每个对象自我维护其属性,从而简化了存储系统的管理任务,对象的大小可以不同,对象存储(Object Storage)是无层次结构的数据存储方法,通常用于云计算环境中,不同于其他数据存储方法,基于对象的存储不使用目录树,数据作为单独的对象进行存储,数据并不放置在目录层次结构中,而是存在于平面地址空间内的同一级别,应用通过唯一地址来识别每个单独的数据对象,每个对象可包含有助于检索的元数据,专为使用 API 在应用级别(而非用户级别)进行访问而设计

S3:S3 由 Amazon 于 2006 年推出,全称为 Simple Storage Service,S3 定义了对象存储,是对象存储事实上的标准,从某种意义上说,S3 就是对象存储,对象存储就是 S3,它对象存储市场的霸主,后续的对象存储都是对 S3 的模仿

Swift:OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性、冗余和持久性。对象存储,用于永久类型的静态数据的长期存储

RBD:RBD即RADOS Block Device的简称,RBD块存储是最稳定且最常用的存储类型

CepthFS:cephfs是ceph提供的兼容POSIX协议的文件系统,对比rbd和rgw功能,这个是ceph里最晚满足production ready的一个功能,它底层还是使用rados存储数据

Rados:RADOS的全称为Reliable Autonomic Distributed Object Store,也就是可靠的,自修复分布式对象存储。其关键特性体现在两方面,一方面是数据是高可靠的;另外一方面是对于故障的自修复能力,比如出现宕机或者磁盘故障问题等情况下实现自动的故障处理,实现集群状态的修复。是Ceph分布式存储系统的核心和基座

MDS:MDS全称Ceph Metadata Server,是CephFS服务依赖的元数据服务

MON:一个Ceph集群需要多个Monitor组成的小集群,它们通过Paxos同步数据,用来保存OSD的元数据

Pool:池

CRUSH map:ceph从L版本开始新增了个功能叫crush class,又被称之为磁盘智能分组。因为这个功能就是根据磁盘类型自动进行属性关联,然后进行分类减少了很多的人为操作

PG:pg ( placement group ) 是数据存储的重要单位

OSD:一块硬盘 通常对应一个 OSD,由 OSD对硬盘存储进行管理,但有时一 个分区也可以成为一个 OSD

Cluster Node:cluster 用于监听 process(child) 子进程触发的各种事件

整体架构

在这里插入图片描述

libvirt:Libvirt是用于管理虚拟化平台的开源的API,后台程序和管理工具。它可以用于管理KVM、Xen、VMware ESX,QEMU和其他虚拟化技术。这些API在云计算的解决方案中广泛使用。

QEMU:模拟器

librbd:块存储的接口

librados:一个Ceph客户端,通过librados直接与OSD交互,来存储和取出数据

网络架构

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 1
    评论
<p> <span style="color:#24292E;"><span style="color:#333333;">Ceph是一个<span style="color:#0070C0;">可靠的、数据自动重均衡、自动恢复的SDS</span>(软件定义存储)分布式存储系统,功能主要有三大块:<span style="color:#0070C0;">块存储</span>、<span style="color:#0070C0;">对象存储</span>、<span style="color:#0070C0;">文件系统</span>。</span></span> </p> <p> <br /></p> <p> <span style="color:#333333;">Ceph不但是提供了统一存储,并且同时还充分利用了客户端的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡,同时由于Ceph的设计,采用了CRUSH算法、HASH环等方法,使得它不存在传统的单点故障的问题,且<span style="color:#0070C0;">随着规模的扩大性能并不会受到影响</span>。</span> </p> <p> <span style="color:#24292E;"><br /></span> </p> <p> <span style="color:#24292E;">不管是私有云还是公有云,随着云架构的发展,</span><span>Ceph </span><span style="color:#24292E;">成为了</span><span>OpenStack</span><span style="color:#24292E;">、</span><span>Proxmox</span><span style="color:#24292E;">标配的后端存储,不光如此,就连目前最火的容器编排</span><span> </span><span style="color:#0070C0;"><span>Kubernetes </span><span>持久存储</span></span><span style="color:#24292E;">也都支持</span><span> Ceph </span><span style="color:#24292E;">,让</span><span> Ceph </span><span style="color:#24292E;">成为当前主流的存储系统,而对</span><span> Ceph </span><span style="color:#24292E;">存储的学习也就变的刻不容缓。</span> </p> <p>   </p> <p> 该课程属于比较基础的 Ceph 存储课程,旨在让大家能快速上手对 Ceph 集群的部署以及操作,主要讲解以下几个方面: </p> <p>   </p> <p> <strong>1.<span style="font-size:9px;">     </span>架构的介绍</strong> </p> <p> <strong>2.<span style="font-size:9px;">     </span>集群的多种部署方式</strong> </p> <p> <strong>3.<span style="font-size:9px;">     </span>块存储部署,客户端使用及快照、克隆和镜像</strong> </p> <p> <strong>4.<span style="font-size:9px;">     </span>对象存储的部署及简单使用</strong> </p> <p> <strong>5.<span style="font-size:9px;">     </span>Ceph FS 文件系统的部署、客户端使用及导出为NFS</strong> </p> <p> <strong>6.<span style="font-size:9px;">     </span>集群的操作和管理,包括服务,集群扩展,缩减和集群维护</strong> </p> <p> <strong>7.<span style="font-size:9px;">     </span>Ceph 基础知识的介绍,包括集群map,PG和身份验证</strong> </p> <p> <strong>8.<span style="font-size:9px;">     </span>Ceph 集群的监控</strong> </p> <p> <strong><br /></strong> </p> <p> <strong><img src="https://img-bss.csdn.net/201905100226073434.png" alt="" /><br /></strong> </p> <p> <strong><br /></strong> </p> <p> <strong><img src="https://img-bss.csdn.net/201905100226266034.png" alt="" /><br /></strong> </p> <p> <strong><br /></strong> </p> <p> <strong><br /></strong> </p> <p> <strong><br /></strong> </p> <p> <strong><br /></strong> </p>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论 1

打赏作者

三千院喵

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值