RBD镜像格式2的镜像可以支持几个可选的特性
其中layering特性是RBD镜像的核心特性
12rbd feature enable <pool-name>/<rbd-name> layeringrbd feature disable <pool-name>/<rbd-name> layering
镜像快照snap先说如果没有快照的情况下,数据对RBD的读写会直接写入磁盘
首先快照是什么
与虚拟机不同,RBD的快照在初始状态下是一个和原镜像同样结构的空镜像
COW写时复制/COR读时复制写入数据首先snap是只读的,写入是对R...
服务类型
是否依赖存储池
存储池用途
创建方式
RBD
✅ 必须绑定存储池
直接存储块设备镜像
rbd create -p <pool> ...
RGW
✅ 自动创建关联存储池
存储对象数据/元数据/索引
由 RGW 自动管理
CephFS
⚠️ 需要专用存储池
存储文件系统数据/元数据
ceph fs new <fs> <metadata> <data>
自定义应用
✅ 可直接使用任意存储池
通过 librados 直接读写对象
rados -p <pool> put .....
Ceph通过CRUSH放置算法,来计算哪些OSD应该保存哪些对象,对象是放到PG中,而CRUSH决定这些PG应该放在哪些OSD中,
CRUSH算法与对象放置策略CRUSH算法CRUSH算法使Ceph客户端可以直接与OSD通信:Ceph客户端与osd使用CRUSH算法来有效计算关于对象位置的信息,而不是依赖于中央查找表,避免了单点故障和性能瓶颈
作用:在对象存储中均匀分布数据、管理复制、响应系统增长和硬件故障
当新增OSD或已有OSD或OSD主机故障时,Ceph使用CRUSH来重新平衡集群中活动OSDs之间的对象。
CRUSH映射组件一个CRUSH映射包含两个组件,整个集群只有一份CRUS...
ceph使用cephx协议授权客户端、应用程序和守护进程之间的通信,并基于共享密钥
Ceph使用用户帐户有以下几个目的:1.用于Ceph守护进程之间的内部通信2.对于通过librados库访问集群的客户机应用程序3.用于集群管理
安装的时候会创建超级用户账号client.admin,这个账号允许访问任何组件并修改集群配置
如果外部访问,只需要完成rgw的认证即可,rgw会使用client.rgw.demo的账号访问ceph集群
如果是个性化的应用程序,则需要创建该程序的账号来访问ceph集群
Key-ring文件ceph在创建每个账户时,都会为其生成key-ring文件,如果要使用它...
pool是ceph存储对象的逻辑分区
Pool 是逻辑容器:将物理存储资源划分为多个隔离的逻辑存储单元
数据隔离层:不同应用/租户使用不同 Pool(如:虚拟机磁盘、文件系统、备份数据)
策略定义层:每个 Pool 可独立配置存储策略
Ceph客户端访问pool的流程**1.**从ceph配置文件中读取cluster name与ceph mon地址,来连接到集群
**2.**使用cluster map来获取被检索到的pool列表与属性,决定在哪里存放对象
3.创建一个特定pool的输入/输出上下文,Ceph集群使用CRUSH算法将这些pool映射到PG,然后将其映...
这块知识了解即可,并不是很重要,BlueStore现在替换了FileStore成为了ceph默认的存储后端
存储后端指的是OSD用于在本地磁盘上实际存储和管理数据的底层引擎。它决定了数据如何被写入磁盘、如何管理元数据、如何保证一致性等核心功能。
BlueStore直接将对象存储在原始块设备上,并消除了文件系统层,从而提高了读写操作速度。
BlueStore将对象元数据存储在块数据库block-database中,块数据库将元数据以k/v的形式存储在rocketsDB数据库中
块数据库被放在一个想叫的BlueFS分区上,专门用来保存RocksDB文件
组件
存储内容
推荐设...
MON配置Ceph监视器(MONs)存储并维护client用来查找MON和OSD节点的集群映射。Ceph客户端必须连接到一个MON来检索集群映射,然后才能向osd读写任何数据。
一般要求奇数个
mon角色有这几种:Leader:第一个获得最新版本集群映射的MON。provider:拥有集群映射最新版本的MON,但不是领导者。Requester:没有集群映射最新版本的MON,必须与provider同步才能重新加入quorum
1234567ceph mon state5: 3 mons at {cephadm-1=[v2:192.168.10.141:3300/0,v1:192....
集群配置方式ceph通过以下来源来获得它的配置 :
编译默认值
集中式数据库(推荐)
本地主机上的配置文件(不推荐)
环境变量
命令行参数(推荐)
运行时参数
集群配置文件ceph.conf每个ceph节点都会存储一个本地集群配置文件,默认位置在/etc/ceph/ceph.conf
这是cephadm创建的初始ceph配置文件
示例文件/usr/share/doc/ceph/sample.ceph.conf
全局配置 → 组件级配置 → 实例级配置
下层配置覆盖上层同名配置
123456789101112131415161718192021222324252627282930...
ubuntu20.04nfs-subdir-external-provisioner:v4.0.0
NFS123456789sudo mkdir /data/nfssudo chmod 777 /data/nfssudo apt install -y nfs-kernel-serversudo vim /etc/exports/data/nfs 172.16.100.0/24(rw,sync,no_subtree_check) # 关闭子树检查sudo exportfs -arvsudo systemctl enable nfs-server
供应商123456789101112131...
方法1:使用官方软件源1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253# 首先确保驱动已经被卸载干净了sudo /usr/bin/nvidia-uninstallsudo apt-get purge nvidia-*sudo apt-get autoremove *# 添加官方推荐源sudo add-apt-repository ppa:graphics-drivers/ppasudo apt update# 查看可用版本sudo ubuntu...