OpenStack---多节点部署Ceph文件系统

文章目录前言:一、Ceph特点二、Ceph架构介绍2.1 Ceph生态系统大致分为四类2.2 Ceph架构2.2.1 三种接口文件2.3 Ceph 核心组件简介三、Ceph三种存储类型3.1 文件存储3.2 块存储3.3 对象存储3.4 分布式文件系统比较四、Ceph搭建4.1 实验环境4.2 ceph环境部署4.3 Ceph集群搭建4.4 Ceph集群管理页面安装五、配置Ceph与OpenSta...
摘要由CSDN通过智能技术生成

前言:
  • Ceph ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和扩展性
  • ceph项目最早其源于Sage就读博士期间的工作(最早的成果于2004年发表),并随后贡献给开源社区。在经过了数年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。
一、Ceph特点
  • 高性能

    ① Ceph摒弃了传统的集中式元数据寻址方案,采用crush算法, 数据分布均匀,并行度高

    ② 考虑了容灾域的隔离,能够实现哥类负载的副本放置规则,例如跨机房、机架感知等

    ③ 能够支持上千个存储节点的规模,支持TB到PB级的数据

  • 高可用性

① 副本数可以灵活控制

② 支持故障域分隔,数据强一致性

③ 多种故障常见自动进行修复自愈

④ 没有单点故障,自动管理

  • 高可扩展性

① 去中心化

② 扩展灵活

③ 随着节点增加而线性增长

  • 特性丰富

① 支持三种存储接口:块存储、文件存储、对象存储

② 支持自定义接口,支持多种语言驱动

二、Ceph架构介绍

在这里插入图片描述

2.1 Ceph生态系统大致分为四类
  • 客户端 clients

    数据用户

  • 元数据服务器 mds metadata server cluster

    缓存和同步分布式元数据

  • 对象存储集群 osd object storage cluster

    将数据和元数据作为对象存储,执行其他关键职能

  • 集群监视器 Cluster monitors

    执行监视功能

2.2 Ceph架构

在这里插入图片描述

2.2.1 三种接口文件
  • ① Object

    由原生的API,而且兼容Swift的S3和API

  • ② Block

    支持精简配置、快照、克隆

  • ③ file

    posix接口,支持快照

2.3 Ceph 核心组件简介
  • Monitor(监控):monitor在集群中扮演管理者角色,负责响应客户端请求返回具体数据的进程。一个Ceph集群一般都有很多个OSD

    当Ceph集群为2个副本,至少需要2个OSD才能达到健康状态

  • MGR:由于Monitor负载过大,采用MGR来辅助Monitor管理

  • OSD(存储):负责响应客户端请求返回具体数据的进程,一个ceph集群有很多OSD

    OSD还能够存储数据、处理数据的复制、恢复、回填再均衡、并且通过检查其他的OSD的守护进程的心跳,向monitor提供给一些监控信息

  • MDS(元数据):CephFS服务依赖的元数据服务,元数据的内存缓存,为了加快元数据的访问

  • Object:Ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据

  • PG(Placement Groups),PG就是管理Object(对象)的容器

  • RADOS(Reliable Autonomic Distributed Object Store):RADOS在动态变化和异质结构的存储设备机群之上提供一种稳定、可扩展、高性能的单一逻辑对象(Object)存储接口和能够实现节点的自适应和自管理的存储系统

  • Libradio

    Librados是Rados提供库,因为RADOS是协议很难直接访问,因此上层的RBD、RGW和CephFS都是通过librados访问的,目前提供PHP、Ruby、Java、Python、C和C++支持

  • Crush

    CRUSH是Ceph使用的数据分布算法,类似一致性哈希,让数据分配到预期的地方。

  • RGW

    RGW全称RADOS gateway,是Ceph对外提供的对象存储服务,接口与S3和Swift兼容。

  • CephFS

    CephFS全称Ceph File System,是Ceph对外提供的文件系统服务

三、Ceph三种存储类型
3.1 文件存储
  • 典型设备

    FTP NFS服务器

  • 主要功能

    为了克服块存储文件无法共享的问题,所以有了文件存储,在服务器上架设FTP和NFS服务,就是文件存储

  • 优缺点

    • 优点

      造价低、随便一台机器就可以

      方便文件共享

    • 缺点

      读写速率低

      传输速率慢

  • 使用场景

    日志存储、有目录结构的文件存储等等

3.2 块存储
  • 典型设备

    磁盘阵列、硬盘

  • 主要功能

    主要功能是将裸磁盘空间映射给主机使用

  • 优缺点

    • 优点

      通过RAID与LVM等手段,对数据提供了保护

      多块廉价的硬盘组合起来,提高容量

      多块磁盘组合出来的逻辑盘,提升读写效率

    • 缺点

      采用SAN架构组网时,光纤交换机造价成本高

      主机之间无法共享数据

  • 使用场景

    docker容器、虚拟机磁盘存储分配

    日志存储、文件存储等等

3.3 对象存储
  • 典型设备

    内置大容量硬盘的分布式服务器(Swift,s3)

  • 功能

    多台服务器内置大容量硬盘,安装上对象存储管理软件,对外提供读写访问功能

  • 优点

    具备块存储的读写高速

    具备文件存储的共享等特性

  • 使用场景(适合更新变动较少的数据)

    图片存储

    视频存储

3.4 分布式文件系统比较

在这里插入图片描述

四、Ceph搭建
4.1 实验环境
  • 此项实验基于之前的OpenStack多节点部署的环境,OpenStack多节点部署可查看我之前的博客:

OpenStack多节点部署

  • 注意,在部署Ceph之前,必须把和存储有关的数据清理干净(可在控制台删除),包括:

    安装的实例

    上传的镜像

    cinder块

4.2 ceph环境部署
  • 关闭所有节点的防火墙
[root@ct ~]# systemctl stop iptables
  • 在三个节点上部署本地源

    上传openstack_rock2.tar.gz 到/opt目录中

  • 解压上传的包

[root@ct ~]# tar zxvf openstack_rocky2.tar.gz -C /opt
  • 因为此处上传的文件和之前部署openstack的yum源的文件一致,所以直接清除缓存并重新创建缓存即可
[root@ct yum.repos.d]# yum clean all
[root@ct yum.repos.d]# yum makecache
4.3 Ceph集群搭建
  • ① 在所有节点服务器上安装Python-setuptools工具和ceph软件
[root@ct ~]# yum install python-setuptools -y
[root@ct ~]# yum -y install ceph
  • ② 在控制节创建ceph配置文件目录并安装ceph-deploy
[root@ct ~]# mkdir -p /etc/ceph
[root@ct ~]# yum -y install ceph-deploy
  • ③ 在控制节点创建三个mon
[root@ct ~]# cd /etc/ceph/
[root@ct ceph]# ceph-deploy new ct c1 c2
......省略部分内容
[root@ct ceph]# more /etc/ceph/ceph.conf 
[global]
fsid = b65b3c32-7d1e-4e5f-b2f6-24072373c333
mon_in
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值