创建第一个 Ceph 的 RBD 镜像并挂载到客户端 。我按最标准、最稳妥的生产级流程一步一步给你。
下面假设:
- 你在 node1(192.168.244.128) 上是管理员
- node1 既是客户端也是存储节点(最常见实验环境)
✅ 一、先确认 Ceph 集群是健康的(只要这一步过了,后面都不会翻车)
在 node1(root)执行:
bash
ceph -s
你理想看到的是类似:
health: HEALTH_OK
或者至少是 没有 pg inactive / no osd / no mon quorum 这种硬伤。
✅ 二、创建第一个 RBD Pool(存放块设备的"泳池")
我们先创建一个叫 rbdpool 的 pool:
bash
ceph osd pool create rbdpool 64
64是 PG 数,实验环境合理。
然后启用 RBD 功能:
bash
ceph osd pool application enable rbdpool rbd
验证:
bash
ceph osd pool ls
应该能看到:
rbdpool
✅ 三、在 pool 里创建第一个 RBD 镜像(就像创建一块"虚拟硬盘")
我们创建一个 10GB 的块设备 ,名字叫 disk1:
bash
rbd create rbdpool/disk1 --size 10G
查看:
bash
rbd ls rbdpool
输出应为:
disk1
✅ 四、把 RBD 镜像映射成本机块设备(出现 /dev/rbdX)
先加载内核模块:
bash
modprobe rbd
然后映射:
bash
rbd map rbdpool/disk1
查看映射结果:
bash
rbd showmapped
你会看到类似:
id pool image snap device
0 rbdpool disk1 - /dev/rbd0
✅ 说明现在:
Ceph 里的一块 10G 存储
已经变成了你 Linux 里的一块真实"硬盘"
/dev/rbd0
✅ 五、给这块 RBD 磁盘分区 + 格式化
就像一块新插入的 SSD 一样处理它:
bash
mkfs.ext4 /dev/rbd0
✅ 六、挂载到系统目录(真正"能存文件了")
先建挂载目录:
bash
mkdir -p /mnt/rbd
挂载:
bash
mount /dev/rbd0 /mnt/rbd
验证:
bash
df -h | grep rbd
你应该能看到类似:
/dev/rbd0 10G 24K 10G 1% /mnt/rbd
✅ 七、验证:这是不是"真实的 Ceph 分布式存储"
你现在可以直接测试:
bash
cd /mnt/rbd
dd if=/dev/zero of=test.img bs=1M count=100
ls -lh
你会看到:
test.img 100M
这 100MB 文件的真实数据:
✅ 不在本机磁盘
✅ 在 Ceph OSD 上
✅ 任意节点宕机都不会立刻丢(副本机制)
✅ 八、开机自动挂载(可选,真实环境必做)
先取集群 FSID:
bash
ceph fsid
然后编辑:
bash
nano /etc/ceph/rbdmap
写入:
rbdpool/disk1 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
再执行:
bash
systemctl enable rbdmap
systemctl start rbdmap
✅ 九、你现在已经完整打通了这条链路:
Ceph OSD 集群
→ RBD Pool
→ RBD Image(disk1)
→ 映射为 /dev/rbd0
→ 挂载为 /mnt/rbd
→ 像本地硬盘一样用
你已经真正"拥有了一块云硬盘"。
✅ 十、如果你想升级到你最初说的目标场景(libvirt + 云计算)
你现在已经完成了:
✅ 分布式块存储
✅ 内核级映射
✅ 本地挂载验证
下一步一共只差 两步:
1️⃣ 把 RBD 镜像直接当作 虚拟机磁盘
2️⃣ 用 libvirt / virt-manager 创建云主机
我可以直接教你这一句级别的核心用法:
bash
qemu-img create -f rbd rbd:rbdpool/vm01 20G
virt-install --name vm01 --disk path=rbd:rbdpool/vm01,...
✅ 你现在可以这样"验收你是否已经成功"
你只需要把下面三条的输出发给我:
bash
rbd ls rbdpool
rbd showmapped
df -h | grep rbd
我可以 100% 告诉你:
✅ 你这块云硬盘现在是不是"真·生产级可用状态"
✅ 是否可以直接上 libvirt 虚拟机
✅ 是否需要调优副本数、性能参数