Ceph分布式存储底层实现原理(上)

简介: Ceph分布式存储底层实现原理(上)

Server SAN (分布式存储) 概念


由多个独立的服务器自带的存储组成一个存储资源池 同时融合的存储和计算资源


image.png


SDS(软件定义存储)


将硬盘资源整合起来 并通过软件编程来定义这些资源

微信图片_20220501130039.png


软件定义的存储

  • 可编程、策略驱动
  • 存储虚拟化,资源池化
  • 异构存储资源管理
  • API呈现系统能力

存储资源层

  • 传统软硬件一体的存储资源
  • 基于软件的/标准硬件的存储


SDS与传统存储对比


传统的存储系统设计


自低向上

image.png


首先把很多磁盘组Disk Group配RAID
在RAID上配存储池
再存储池上配LUN
把LUN映射为上层业务主机来用
即先创建500G的LUN 映射给主机使用

SDS存储系统设计


自顶向下

image.png

首先会做一个大的存储池 比如500T
在虚拟化层面或云平台对接这个存储池
创建一个虚拟机 比如占用500G空间磁盘
默认会在存储池中创建一个vDisks
而不需要在之前先创建一个vDisks给应用来用
而是把整个存储池给应用来用
通过云平台创建一个500G的硬盘 
会自动在存储池中创建一个500G的虚拟硬盘
存储池底下有很多硬盘组合在一起
所有服务器通常不配置RAID
不配置RAID那如何硬盘故障了怎么办?
所有的分布式存储有2种解决方案
1、副本机制(比如3复制 一份数据在3台服务器的硬盘中)
2、EC算法
2种机制保证数据的可靠性

数据副本

image.png


数据以及副本是不在一台服务器中的
也有可能不在同一个机柜里面
也有可能不在同一个机房里面


新业务催生新资源供给模式


传统烟囱式

image.png


SAN:提供一个裸设备 从存储上划一个空间映射到主机上
主机上看到的是一个硬盘 
需要在主机上对这个硬盘进行分区格式化
NSA:相当于在Windows中把一个文件夹共享出去
在另外一个Windows上可以访问到这个共享
以文件的形式共享
烟囱式:每一个存储提供给自己的业务
比如SAN存储提供给数据库使用
没有办法做到弹性扩展


劣势

  • 资源利用不均衡
烟囱式存储比如一个LUN 500G硬盘 这个LUN特别忙 这个LUN所在的硬盘就会出现瓶颈
另一个LUN 500G硬盘 这个LUN很空闲
而分布式存储所有的数据存储都均衡的存储在后端的各个硬盘中
是所有服务器 所有硬盘一起参与 所以不可能出现烟囱式的这种瓶颈
  • 扩展性差
  • 多系统平台管理

新架构-云

image.png



相关文章
|
NoSQL 算法 安全
分布式锁—1.原理算法和使用建议
本文主要探讨了Redis分布式锁的八大问题,包括非原子操作、忘记释放锁、释放其他线程的锁、加锁失败处理、锁重入问题、锁竞争问题、锁超时失效及主从复制问题,并提供了相应的优化措施。接着分析了Redis的RedLock算法,讨论其优缺点以及分布式专家Martin对其的质疑。此外,文章对比了基于Redis和Zookeeper(zk)的分布式锁实现原理,包括获取与释放锁的具体流程。最后总结了两种分布式锁的适用场景及使用建议,指出Redis分布式锁虽有性能优势但模型不够健壮,而zk分布式锁更稳定但部署成本较高。实际应用中需根据业务需求权衡选择。
|
监控 NoSQL Java
分布式锁实现原理问题之ZooKeeper的观察器(Watcher)特点问题如何解决
分布式锁实现原理问题之ZooKeeper的观察器(Watcher)特点问题如何解决
252 0
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
502 0
|
运维 NoSQL 算法
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
本文深入探讨了基于Redis实现分布式锁时遇到的细节问题及解决方案。首先,针对锁续期问题,提出了通过独立服务、获取锁进程自己续期和异步线程三种方式,并详细介绍了如何利用Lua脚本和守护线程实现自动续期。接着,解决了锁阻塞问题,引入了带超时时间的`tryLock`机制,确保在高并发场景下不会无限等待锁。最后,作为知识扩展,讲解了RedLock算法原理及其在实际业务中的局限性。文章强调,在并发量不高的场景中手写分布式锁可行,但推荐使用更成熟的Redisson框架来实现分布式锁,以保证系统的稳定性和可靠性。
1320 0
【📕分布式锁通关指南 04】redis分布式锁的细节问题以及RedLock算法原理
|
存储 Dubbo Java
分布式 RPC 底层原理详解,看这篇就够了!
本文详解分布式RPC的底层原理与系统设计,大厂面试高频,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
分布式 RPC 底层原理详解,看这篇就够了!
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
1018 4
|
存储 块存储
ceph分布式存储系统常见术语篇
关于Ceph分布式存储系统的常见术语解释和概述。
1752 1
ceph分布式存储系统常见术语篇
|
NoSQL Java API
分布式锁的实现原理与应用场景,5 分钟彻底搞懂!
本文详细解析了分布式锁的实现原理与应用场景,包括线程锁、进程锁和分布式锁的区别,以及分布式锁的四种要求和三种实现方式(数据库乐观锁、ZooKeeper、Redis)。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
分布式锁的实现原理与应用场景,5 分钟彻底搞懂!
|
分布式计算 Hadoop 网络安全
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
354 1
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
533 1

热门文章

最新文章