RBD 格式 1 和格式 2 之间的对象差异
转载
让我们看看 rbd 对象如何在 rados 上存储,以及格式 1 和格式 2 之间的区别。
格式 1
$ rbd create myrbd --size=10
$ rados ls -p rbd
myrbd.rbd
rbd_directory
$ rbd map myrbd
$ dd if=/dev/zero of=/dev/rbd/rbd/myrbd
$ rados ls -p rbd
myrbd.rbd
rb.0.1286.74b0dc51.000000000000
rb.0.1286.74b0dc51.000000000001
rb.0.1286.74b0dc51.000000000002
rbd_directory
- $image_name.rbd:包含图像的 ID(rb.0.1286.74b0dc51)
- $rbd_id.$fragment:原始数据图像
- rbd_directory:当前池的 Rbd 图像列表
格式 2
$ rbd create myrbd --size=10 --image-format=2
$ rados ls -p rbd
rbd_directory
rbd_header.134a74b0dc51
rbd_id.myrbd
$ rbd map myrbd
$ dd if=/dev/zero of=/dev/rbd/rbd/myrbd
$ rados ls -p rbd
rbd_data.134a74b0dc51.0000000000000000
rbd_data.134a74b0dc51.0000000000000001
rbd_data.134a74b0dc51.0000000000000002
rbd_directory
rbd_header.134a74b0dc51
rbd_id.myrbd
- rbd_data.$rbd_id.$fragment:原始数据图像
- rbd_directory:当前池的 Rbd 图像列表
- rbd_header.$rbd_id:关于图像的元数据
- rbd_id.$image_name:包含图像的 ID(134a74b0dc51)