ceph内核模式 和 librbd 模式

好,这次我们完全不用"内核、librbd、块设备"这些术语,只用生活化的比喻,把它讲清楚。你只需要记住一个核心问题:

Ceph 的磁盘是"谁在帮你和 Ceph 打交道"?


一句话先给结论

  • 内核模式

    👉 操作系统自己 直接去找 Ceph 拿数据

  • librbd 模式

    👉 一个普通程序 先去找 Ceph,再转交给操作系统

这就是本质区别。


用一个"仓库取货"的比喻

你现在要从一个**远程仓库(Ceph)**拿货,用在你本地。


一、内核模式:操作系统亲自去仓库搬货

发生了什么

  • 操作系统里 自带一个"Ceph 驾驶员"

  • 每次你读写磁盘:

    • 操作系统直接开车
    • 去 Ceph 仓库拉货
    • 放到你程序手里

中间没有别人插手

你看到的效果

  • 系统里多了一块"硬盘"

  • 名字像这样:

    复制代码
    /dev/rbd0
  • 对系统来说:

    "这就是一块真·磁盘"

用一句话形容

内核模式 = Ceph 磁盘已经长进了操作系统身体里


二、librbd 模式:找了个"中介"帮你跑腿

发生了什么

  • 操作系统 自己不会直接找 Ceph

  • 先启动一个普通程序rbd-nbd

  • 流程变成:

    复制代码
    你的程序
        ↓
    操作系统
        ↓
    中介程序 rbd-nbd
        ↓
    Ceph 仓库

也就是说:

  • 操作系统 不直接懂 Ceph
  • 通过"翻译官 / 跑腿的"去拿数据

你看到的效果

  • 系统里也多了一块磁盘:

    复制代码
    /dev/nbd0
  • 但这块磁盘背后有人一直在跑

用一句话形容

librbd 模式 = 一个程序假装成磁盘,替你和 Ceph 聊天


一个非常关键、决定性的差别(一定要懂)

1️⃣ 谁更"靠谱"

  • 内核模式

    • 操作系统自己管
    • 不怕某个进程挂掉
    • 稳定
  • librbd 模式

    • 靠一个程序撑着
    • 程序一挂,磁盘就"失联"
    • 所以必须守护进程

👉 就像:

  • 内核模式:电梯是楼自带的
  • librbd:电梯是外包公司派人手动拉的

2️⃣ 谁更"绕"

  • 内核模式:

    复制代码
    程序 → 操作系统 → Ceph
  • librbd 模式:

    复制代码
    程序 → 操作系统 → 中介程序 → Ceph

👉 多了一层,就更慢一点,也更复杂一点。


3️⃣ 谁更"新潮"

  • 内核模式:

    • 但更新慢
    • 新功能要等操作系统升级
  • librbd 模式:

    • 灵活
    • 新功能先支持
    • 不用动内核

👉 就像:

  • 内核模式:国企老司机
  • librbd 模式:外包快递小哥

用最直观的一张"人话表"

你关心的点 内核模式 librbd 模式
谁和 Ceph 说话 操作系统 一个普通程序
系统认不认为是真硬盘 表面是
稳定性 非常高 依赖程序
性能 更好 稍差
出问题好不好修 偏底层 好查
要不要守护进程 不用 必须

如果你只记一条结论

能用内核模式,就用内核模式
只有内核不行、版本太老、功能不够,才用 librbd


最后一个"判断题",帮你自测理解

如果我现在说:

"这台机器一重启,磁盘还在,不用管任何后台进程"

👉 一定是内核模式

如果我说:

"这个磁盘必须有一个 rbd-nbd 进程一直活着"

👉 一定是 librbd 模式


相关推荐
getapi5 分钟前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
消失的旧时光-194322 分钟前
Linux 入门核心命令清单(工程版)
linux·运维·服务器
艾莉丝努力练剑30 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
小天源33 分钟前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
Trouvaille ~1 小时前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
芷栀夏1 小时前
深度解析 CANN 异构计算架构:基于 ACL API 的算子调用实战
运维·人工智能·开源·cann
全栈工程师修炼指南1 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
威迪斯特2 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
一方热衷.2 小时前
在线安装对应版本NVIDIA驱动
linux·运维·服务器
独自归家的兔2 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu