TH小破站

  • 首页
  • 容器
    • 认识Docker
    • DockerFile详解
  • k8s
    • 认识Kubernetes
    • Kubernetes部署--(kubeadm方式)
    • kubeasz部署k8s集群
    • Ansible-binary部署k8s集群-1.31.2
  • Ceph
    • 认识分布式存储
    • CPEH部署
  • CI/CD
    • DevOps认识
    • 部署--Gitlab
  • ELK
    • ELK简介
    • Elasticsearch
    • Kibana部署
    • Logstash
    • ELK--收集 tomcat 日志(实战)
  • HD
    • 认识--大数据
    • Hadoop-单机部署
    • Hadoop-伪分布部署
    • Hadoop-完全分布部署
    • Hadoop-(HA)完全分布部署
    • Ambari自动部署--Hadoop
  • Nginx
    • Nginx功能介绍
    • Nginx安全选项
    • Nginx配置文件简单介绍
    • 网站服务器部署
  • 监控
    • ZABBIX-部署(yum)
    • ZABBIX-编译安装
  • 云计算
    • KVM 概述
    • OpenStack企业级部署(T版)
    • OpenStack之dashboard部署
    • OpenStack-controller的高可用
    • openstack(Caracal版_ubuntu版本)部署
  • 数据库
    • mariadb与mysql
    • mysql主从
    • MySQL--冷备(实战)
    • MySQL--热备(dump表)
    • MySQL--热备(dump库)
    • 数据恢复实战案例
    • Xtrabackup实现MySql8.x全量备份
    • MyCat实现数据库读写分离
    • MHA实现数据库高可用
    • Percona XtraDB(PXC)实现数据库集群高可用
    • 数据库压力测试
    • PostgreSQL 基操
    • PostgreSQL备份恢复
    • PostgreSQL高可用
    • MongDB安装配置基础使用
    • MongoDB实现复制集
    • MongoDB备份还原
  • 自动化
    • ssh远程服务原理及配置
    • Ansible剧本文件应用
    • Ansible管理服务介绍
    • Ansible自动化部署node_exporter(包含升级,回滚)
    • Saltstack-部署安装
  • 脚本
    • 一键查看服务器资源利用率
    • 一键生成SSL证书
    • 保存指定数量的文件/目录
    • 初始化服务器
    • 扫描可用IP
    • 批量分发SSH密钥
    • 监控多主机磁盘脚本
    • 一键安装MySQL8.x脚本
    • Python脚本监控ES集群
    • 资源巡检脚本
    • 查看各用户使用的cpu占比
热衷于分享
架构师成长之路 !!!
  1. 首页
  2. 分布式存储
  3. 正文

认识分布式存储Ceph

2023年11月20日 1007点热度 1人点赞 0条评论

1)分布式存储概述:

  • 需要了解的东西

1.对ceph存储池的操作
  创建
  删除设置配额
  空间限制
2.cephX认证机制
3.ceph rbd、cephfs、ceph rgw的使用
  都是以普通用户的身份访问ceph数据
  如果使用cephfs需要注意的是MDS的高可用和高性能
4.dashboard和监控

1.1)存储分类

  • 单机存储:

    SCSI/SAS/USB/PCI-EI sSD/NVME(提升性能)
  • 网络存储(带文件系统)∶

    NFS/Samba/NAS
    SAN:SAN (Storage Area Network,存储区域网络
  • 块设备-块级别存储

    ISCSI-Internet Small Computer System Interface(小型计算机系统接口,又称为IP-SAN,是一种基于网络的的存储技术)FC-SAN
  • 单机磁盘的空间问题、IO问题、高可用问题

    商业解决方案-EMC、NetAPP、戴尔、华为、浪潮
    分布式存储:Ceph,TFS,FastDFS,MogileFS,MooseFS,GlusterFS

    常见的分布式存储对比: https://www.cnblogs.com/yswenli/p/7234579.html

    服务分为读数据和写数据,读可以在任何一个节点读,但是写只能写在特定的节点,如Redis的master、zookeeper的 leader、MySQL的master等场景

1.2)数据分类及存储分类

  • 数据分为元数据和数据:

    • 分布式存储的实现:

          元数据即是文件的属性信息(文件名、权限(属主、属组)、大小、更新时间等),元数据就是有一种路由机制,即当客户端或者应用程序产生的客户端数据被写入到分布式存储系统的时候,会有一个服务(NameNode)提供文件元数据的路由功能,即告诉应用程序去哪个服务器去请求文件内容,然后再有(DataNode)提供数据的读写请求及数据的高可用功能。
      https://zhuanlan.zhihu.com/p/27666295

      传统的分布式存储

  • 块存储:需要格式化,将文件直接保存到磁盘上。

  • 文件存储:提供数据存储的接口,是由操作系统针对块存储的应用,即由操作系统提供存储接口,应用程序通过调用操作系统将文件保存到块存储进行持久化。

  • 对象存储:也称为基于对象的存储,其中的文件被拆分成多个部分并散布在多个存储服务器,在对象存储中,数据会被分解为称为“对象”的离散单元,并保存在单个存储库中,而不是作为文件夹中的文件或服务器上的块来保存,对象存储需要一个简单的 HTTP应用编程接(API),以供大多数客户端(各种语言)使用。

  • Ceph是一个开源的分布式存储系统,包括对象存储、块设备、文件系统

  • Ceph是一个对象(object)式存储系统,它把每一个待管理的数据流(文件等数据)切分为一到多个固定大小(默认4兆)的对象数据,并以其为原子单元(原子是构成元素的最小单元)完成数据的读写

  • 对象数据的底层存储服务是由多个存储主机(host)组成的存储集群,该集群也被称之为RADOS(reliable automatic distributed object store)存储集群,即可靠的、自动化的、分布式的对象存储系统。

  • librados是 RADOS存储集群的API,支持C/C++/JAVA/python/ruby/php 等编程语言客户端。

1.3)ceph架构:

  • Pool∶存储池、分区,存储池的大小取决于底层的存储空间。

  • PG(placement group):一个pool内部可以有多个PG存在,pool和PG 都是抽象的逻辑概念,一个pool中有多少个PG可以通过公式计算。

  • OSD(Object Storage Daemon):每一块磁盘叫做osd,多个osd组成一个主机

  • 存储池要先创建才能往ceph 保存数据,文件在向ceph保存之前要先进行一致性hash计算,计算后会把文件保存在某个对应的PG的,某个文件一定属于某个pool的PG,在通过PG保存在OSD 上。

  • 数据对象在写到主OSD之后再同步对从OSD 以实现数据的高可用。

  • 架构图

  • 注:存储文件过程:

    1. 第一步:把文件对象映射给PG

    2. 第二步:把文件对象映射被OSD,

    3. 第三步:通过OSD 写入到硬盘

监视器mon维护 OSD 和PG的集群状态,

标签: 暂无
最后更新:2023年11月20日

tanghao946

这个人很懒,什么都没留下

点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • 1)分布式存储概述:
    • 1.1)存储分类
    • 1.2)数据分类及存储分类
    • 1.3)ceph架构:

COPYRIGHT © 2025 TH小破站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

渝ICP备2023013789号

渝公网安备50011702500926号