问题标签 [librbd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
149 浏览

linux - Fio 结果稳步提升 IOPS,出乎我的意料

我试图用随机读取、随机写入、混合 randrw 以某种方式测试我的 rbd 存储,但输出不正确,它是一个连续增长的数字。

我的步骤有什么问题?

这是我运行的 fio 文件:

; fiotest 的 fio-rand-write.job

结果是这样的:

我正在使用 fio 3.18。

为什么我没有得到真正的 iops?

0 投票
2 回答
125 浏览

c++ - c ++未定义对类成员函数的引用

我在尝试使用 librbd 时遇到了以下链接问题。

以下是我的代码片段。

  • 主文件

使用以下命令编译时出现错误

但我使用 nm 来查看 get_id 存在:

它是全球可见的:

为什么编译时会报错:undefined reference to librbd::Image::get_id. 它显然存在,这让我感到奇怪。

0 投票
2 回答
1078 浏览

ceph - 如何在 RBD 映像上设置 IO 限制(ceph qos 设置)

来自 ceph文档

librbd 支持限制每个图像 IO,由以下设置控制。

从 doc prints 运行命令unknown options qos ...

到目前为止,我还没有在网上找到任何东西。任何人都可以帮助我吗?

0 投票
1 回答
234 浏览

copy - qemu-img 在不同 ceph 集群之间转换 rbd 卷加速

有没有一种优雅的方法可以将 RBD 卷复制到另一个 Ceph 集群?

我使用 qemu-img 2.5 版本或 qemu-img 6.0 版本计算转换时间,方法是将卷(容量为 2.5T,仅使用 18G)复制到另一个 Ceph 集群。

测试qemu-img convert结果:

qemu-img 2.5 在没有选项参数的情况下花费2 小时 40 分钟:

在此处输入图像描述

qemu-img 6.0使用选项参数(-m 16 -W -S 4k )花费​​3 小时 3 分钟

在此处输入图像描述

问题:

1、为什么2.5版本写只用磁盘容量(18G),而6.0版本写洞盘2.5T?

2、如何使用qemu-img(2.5或6.0版本)加速将RBD卷转换到另一个Ceph集群或者有什么其他的办法?

0 投票
0 回答
67 浏览

snapshot - 为什么 RBD snap id 从 4 开始?

我是新手 Ceph 开发人员,最近正在阅读快照代码。从 pg_pool_t::add_unmanaged_snap,很明显第一个 RBD 快照 id 应该从 2 开始,但实际上,它从 4 开始,我想知道 RBD snap 中是否有一些生物,它增加了 snap_seq,有人可以帮助我吗?

提前致谢!

下面是pg_pool_t::add_unmanaged_snap的代码。

以下屏幕截图是在全新的 rbd 池上创建 rbd 快照的过程。很明显,这里的快照id是从4开始的

在全新的 rbd 池上创建 rbd 快照

在此处输入图像描述

0 投票
0 回答
26 浏览

ceph - ceph rbd 导入挂起

我的 ceph 集群距离 ceph 客户端 48 毫秒。客户端上 8GB 映像的 Rbd 导入在复制过程中的某个时间点挂起并且永远不会进行。Ctl-C out of rbd import 将图像锁定在集群中。当我将图像 scp 到集群然后 rbd 在本地导入时,问题就消失了。我怀疑发生了超时,但无法确定要修改哪个配置参数。有什么建议么?这是 ceph 15.2.13 章鱼版本

0 投票
1 回答
71 浏览

kubernetes - 带有 ioengine=rbd 的 rook-ceph fio 基准测试

我已经部署了在 rook/cluster/examples/kubernetes/ceph/csi/rbd/ 目录下找到的 storageclass.yaml 并创建了一个 PVC 声明。我需要使用 ioengine=rbd 进行基准测试。在我的 fio 配置文件中,我需要设置以下内容:

我在 storageclass.yaml 中查看了合适的值。我最好的猜测如下。

这看起来正确吗?

0 投票
1 回答
45 浏览

snapshot - 了解 Ceph 中的快照

我们团队目前正在决定是否在 cephfs 目录上实现快照,从而试图了解快照对集群造成的影响和性能问题。

我们主要关心的是“当数据写入快照下的文件时,集群会受到怎样的影响?”。我们能够发现 Ceph 使用 Copy-on-write 机制来克隆快照,所以我的问题是,例如,如果我在快照下有一个 1GB 的文件,并且我将另外 10MB 的数据附加到文件中,那么由于新的写入,将复制多少数据?

我的理解是,由于 Ceph 将文件条带化为多个对象,因此只会复制包含最后一个 stripe_unit 的对象(假设它没有完全填充)并将新数据添加到其中,然后 Ceph 以某种方式设法包含新对象当我请求当前版本文件时,当我从快照请求文件时将包含旧对象。复制的数据 = O(10MB),我的意思是它按照数据写入的顺序,以及一些元数据更改。

或者由于 Ceph 现在使用 Bluestore 作为存储层,它是否有更好的优化(与上述情况相比),比如在编辑与最后一个 stripe_unit 对应的对象时,ceph 只会将新数据写入磁盘中的某个位置,然后编辑对象的元数据以包含新数据的位置,并维护基于快照的元数据版本,以便为我们提供以前时间点的文件内容。复制/写入的数据 = 10MB 和一些更多的元数据更改(与上述情况相比)。

或者是 Ceph 将复制整个文件并编辑文件的新副本的情况,即复制的数据为 1GB + 10MB。我假设情况并非如此,因为它显然不是大文件的最佳选择。

PS:任何关于测量快照对集群的影响的资源以及任何解释 Ceph 快照内部的资源都将非常感激。我在互联网上进行了广泛的搜索,但找不到任何相关数据。尝试阅读代码,但你们可能会猜到它是怎么回事。