问题标签 [cephfs]

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 投票
3 回答
3071 浏览

ceph - cephadm:无法将节点添加到 ceph 集群(错误 EINVAL:无法连接到主机)

我按照https://docs.ceph.com/en/latest/cephadm/install/中的以下步骤在 Centos 8.1 上设置 ceph 集群

执行上述命令后,我发现 ceph 需要 docker 或 podman 才能运行。所以我从https://docs.docker.com/engine/install/centos/安装了 docker 的社区版,并继续下面的步骤。

上述命令失败并出现错误

我可以使用上述步骤登录到 host2。有人可以告诉我是否做错了什么。我该如何解决这个问题。

0 投票
1 回答
364 浏览

storage - 这个计算正确吗?(车复制)

如果 1 个 OSD 崩溃,rook-ceph 最终会尝试将丢失的数据复制到仍在工作的 OSD 上,还是等待所有 OSD 恢复健康?假设是这样,我可以解释我是如何计算的:

我开始为 kubernetes PVC 和 3 个 745 GB 的节点(总共 2.23 TB)预置 1.71 TB。Rook 的复制因子为 2 (RF=2)。

为了使复制工作,我需要 2 倍 1,71 TB(3,42 TB),所以我添加了 2 个节点,每个节点 745 GB(总共 3,72 TB)假设我使用了所有 1,71 TB 的预置。

如果我丢失了一个 OSD,我的 K8S 集群仍然运行,因为数据被复制了,但是当丢失的数据在仍然工作的 OSD 上被复制时,其他 OSD 可能会崩溃,因为假设 OSD 总是均匀分布(我知道这在很长一段时间内是不正确的)跑) :

  • 我的集群上有 290 GB 未使用空间(总共 3,72 - 3,42 PVC 配置)
  • 每个 OSD 58 GB (290 / 5)
  • 崩溃的 OSD 有 687 GB(总共 745 个磁盘 - 58 GB 未使用)
  • Ceph 尝试在剩余的每个 OSD 上复制 172 GB 缺失数据 (687/4)
  • 这太多了,因为我们只剩下 58 GB,这应该会导致 OSD 故障级联

如果我有 6 个节点而不是 5 个,我可以无限期地释放 1 个 OSD:

  • 新池为 4.5 TB (6x745)
  • 我在集群上有 1+ TB 可用空间(总共 4,5 - 3,42 PVC 配置)
  • 每个 OSD 166+ GB (~1 TB / 6)
  • 崩溃的 OSD 最大有 579+ GB 数据。(745 - 166)
  • Ceph 尝试在剩余的每个 OSD 上复制少于 100 GB 的缺失数据 (579 / 6)
  • 这小于每个 OSD 上的可用空间(166+ GB)所以复制再次工作只剩下 5 个节点但如果另一个 OSD 崩溃我注定要失败。

最初的假设是否正确?如果是这样,数学听起来对你吗?

0 投票
1 回答
2077 浏览

kubernetes - CephFS 无法附加或挂载卷:unmounted volumes=[image-store]

我无法在 cephfs 上启动和运行我的 Kube 注册表。我正在使用 rook 来设置这个集群。如您所见,我无法附加该卷。知道什么会导致这个问题吗?任何帮助表示赞赏。

kube-registry.yaml

Storagelas.yaml

kubectl 描述 pod --namespace=kube-system kube-registry-58659ff99b-j2b4d

ceph 配置程序日志,我重新启动了我的集群,所以名称会不同但输出是相同的

0 投票
1 回答
94 浏览

ceph - 为什么 Ceph 通过对象哈希而不是 CRUSH 算法计算 PG ID?

Ceph 使用 CRUSH 算法进行 PG->OSD 映射,它适用于增加/减少 OSD 节点。

但是对于 obj->PG 映射,Ceph 仍然使用传统的哈希,即pgid = hash(obj_name) % pg_num. 如果我们改变 PG 的数量,这种方法可能会导致大量的数据迁移,甚至会降低系统的可用性。

为什么 Ceph 不使用 CRUSH algirhtm(比如稻草 2)进行 obj->PG 映射,当 PG 的数量发生变化时,它可能具有最佳的数据迁移量?

0 投票
1 回答
116 浏览

windows - Minikube 服务未显示

您好,我目前正在使用在 Windows 10 上运行的 minikube 设置 rook-cephfs 测试环境。到目前为止,我已经运行了 crds.yaml、common.yaml、operator.yaml 和 cluster-test.yaml。我按照https://github.com/kubernetes/kubernetes/tree/release-1.9/cluster/addons/registry上的指南设置存储。在本指南中,我创建了 ReplicationController 和服务。我遇到的问题是,当我运行 kubectl get svc 时,我看不到该服务。知道为什么它没有出现吗?谢谢

服务.yaml

Docker 注册表

0 投票
1 回答
108 浏览

ceph - 纠删码池建议的 PG 计数

我正在使用 pg 计算器来找出我的集群的最佳 pg 数。我有一个纠删码 FS 池,它很可能在可预见的将来使用集群的一半空间。但是 pg 计算器只有复制池的选项。我应该只根据副本# 的纠删码比率键入还是有其他方法可以解决这个问题?

0 投票
1 回答
89 浏览

amazon-s3 - 如何将 CEPH 与 Amazon-S3 集成?

我正在尝试在 Amazon SageMaker 上调整开源项目mmfashion ,该项目需要CEPH模块作为后端。不幸的是pip install ceph不起作用。唯一的解决方法是通过在我的容器中运行手动构建ceph 源代码:

这确实允许我成功导入ceph。但是在从 Amazon S3 感染数据时会引发以下错误:

是否有人将CEPH与 Amazon S3 Bucket 集成或在同一行中就如何解决这个问题提出了建议?

0 投票
1 回答
47 浏览

ceph - 如何通过 cephadm 在 continers 中执行 cmds

我通过 cephadm 创建了集群,并希望执行命令 blow enter image description here

似乎需要停止OSD进程才能正常工作,但是当我停止它时,容器被删除了。我该怎么办?谢谢!

0 投票
1 回答
358 浏览

linux - 了解ceph中crush规则的机制

我想知道这两条规则之间的区别:

据我了解,第一条规则 rack_rule 将 rack 作为故障域,因此在每个 PG 中,我们都会有来自不同机架的 osd。例如,如果我有 2 个机架并且复制大小 = 2,我将有一个 PG [osd.1,osd.2],这 2 个 osd 应该来自不同的机架。

在第二条规则中,我认为它应该选择 2 个不同的机架,并且对于每个机架,它将选择 2 个不同的主机。所以,如果我有 2 个机架并且复制大小 = 2,我将有一个 PG [osd.1,osd.2],这 2 个 osd 应该来自不同的机架。

这在理论上是我所理解的,但我在实践中看不到这些预期的结果。使用这两个规则,我在同一个机架中为 PG 在复制大小为 2 的池中设置了 osd

0 投票
1 回答
127 浏览

ceph - cephfs 似乎与 linux 5.11 内核有问题

最近升级了 fedora33,发现我的 cephfs 挂载不再工作了。经过几个小时的调试和环顾四周,我意识到安装了一个新的内核 5.11.X。在我拥有 5.10.X 之前。用5.10重新启动,一切都很好。为了验证内核版本是我安装了一个最近的带有内核 5.11.0 的 ubuntu 21.04 的问题:显示了同样的问题。现在我已经修复了我的内核以启动到 5.10,我可以忍受它,但是 > 5.10 内核似乎有一个严重的问题。我用章鱼。有任何想法吗?

添加 ms_mode=legacy 没有帮助。

当我尝试挂载时,我会得到很多内核日志,开头是:

马格努斯