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 模式


相关推荐
姬嘉晗-19期-河北工职大5 小时前
在虚拟机的 Linux 系统(CentOS 7)中搭建一个「虚拟机本地网站」
linux·运维·centos
Smile灬凉城6665 小时前
TCP的四种计时器
运维·服务器·网络
R.lin5 小时前
Docker核心原理详解
运维·docker·容器
广东大榕树信息科技有限公司5 小时前
如何通过动环监控系统提升机房安全与管理效率?
运维·网络·物联网·国产动环监控系统·动环监控系统
QT 小鲜肉5 小时前
【Linux命令大全】001.文件管理之chgrp命令(实操篇)
android·linux·运维·笔记
qq13267029405 小时前
grafana 未授权访问漏洞设置iptables指定IP访问,拒绝其他所有IP
linux·服务器·网络·iptables·防火墙策略
春日见5 小时前
ubuntu以前可以联网,突然无法上网了
linux·服务器·ubuntu·debug
曹牧5 小时前
内部服务错误500
服务器·开发语言
gaize12135 小时前
一台服务器能做什么
服务器·云计算