AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[ceph](unix)

Martin Hope
dotokija
Asked: 2024-08-02 16:51:35 +0800 CST

Ceph Crush 多房间/机架设置规则说明

  • 6

我最近开始使用 ceph,继承了 1 个大型集群进行维护,现在正在构建恢复集群。通过反复尝试和失败,我设法创建了符合我的目的的 Crush 规则,但未能理解 Crush 规则定义的语法。有人可以解释一下吗(不要引用 ceph 文档,因为他们没有解释这一点)?
这是我的生产集群设置:
20 台主机分布在 2 个房间,每个房间有 2 个机架,每个机架有 5 个服务器,每个主机有 10 个 OSD,总共有 200 个 OSD。
有人想要超级安全的设置,所以复制是 2/4,规则(据说)定义为复制到其他房间,每个机架有 2 个副本,每个对象总共有 4 个副本。规则如下:

rule replicated_nvme {
    id 4
    type replicated
    min_size 1
    max_size 100
    step take default class nvme
    step choose firstn 0 type room
    step choose firstn 2 type rack
    step chooseleaf firstn 1 type host
    step emit
}

在我的新集群中,我的设置较小,因此只有 2 个机架,每个机架有 2 个服务器用于测试。我尝试了以下方法,与上述方法类似,但没有空间:

rule replicated-nvme {
    id 6
    type replicated
    step take default class nvme
    step choose firstn 0 type rack
    step chooseleaf firstn 1 type host
    step emit
}

但是,这并没有产生预期的结果(使用 2/4 副本,应该复制到其他机架,每个副本复制到不同的服务器)。我得到的是不同机架中的服务器中有 2 个副本,并且没有创建 2 个额外的副本。我从 ceph 获得以下信息:

pgs:     4/8 objects degraded (50.000%)
             1 active+undersized+degraded

我发现只使用了 2 个 OSD,而不是 4 个!

所以,我玩了一下,然后改成了这样:

rule replicated-nvme {
    id 6
    type replicated
    step take default class nvme
    step choose firstn 0 type rack
    step chooseleaf firstn 0 type host
    step emit
}

并且它工作正常。池 PG 被复制到 2 个机架上的 4 个 OSD(每个机架 2 个 OSD)。唯一的区别是chooseleaf firstn 0 type host而不是chooseleaf firstn 1 type host。

问题是:

  • choose和有什么区别chooseleaf
  • 后面的数字是什么意思firstn
  • 如何定义步骤的层次结构,之前检查什么,之后检查什么?

简而言之,我想知道 Crush 规则的语法。
仅供澄清,尽管生产集群每个房间/机架的主机数量均等,复制规则也均等,但对象分布并不是非常均匀。即每个 OSD 的 PG 分布可能相差高达 10%。
我怀疑上面定义的第一条规则是错误的,仅凭大量的 OSD 分布就大致相等。

ceph
  • 1 个回答
  • 19 Views
Martin Hope
stu
Asked: 2023-08-04 09:24:03 +0800 CST

是否可以在纠删码 ceph 池上运行 ceph rbd,而无需单独的复制元数据池?

  • 6

我在另一个 stackexchange 上发布了,但显然那是错误的地方......

我是 ceph 新手,如果这是常识,请原谅我,但我找不到它。这似乎是一个简单的问题,但我找不到任何可靠的答案。2017 年,当 ec 池上的 rbd 首次实现时,您必须有一个单独的复制池来存储 rbd 元数据,然后您可以将实际数据存储在 ec 池上。

这仍然是真的吗?还是现在有某种方法可以将元数据存储在同一个 ec_pool 中,这样我就不必管理两个池来创建 rbd?

谢谢。

ceph
  • 1 个回答
  • 12 Views
Martin Hope
jsterr
Asked: 2021-12-10 00:55:52 +0800 CST

5个副本超过3节点ceph集群可能吗?

  • 0

这有意义吗?在 3 节点设置上是否可行,crush 规则应该是什么样子?就是现在的那个。这背后的想法是补偿多个 osd 中断(例如,每个节点 3 个 osd 将失败)

# rules
rule replicated_rule {
id 0
type replicated
min_size 1
max_size 10
step take default
step chooseleaf firstn 0 type host
step emit
}
ceph
  • 1 个回答
  • 317 Views
Martin Hope
rusty shackleford
Asked: 2018-10-12 05:51:12 +0800 CST

Ceph Monitor iptables 规则奇怪的行为

  • 0

我正在尝试设置iptablesCeph 集群。我目前正在为其中一台监控服务器制定规则。

监视器守护程序侦听tcp/6789(IP 地址已删除,因为它是公共地址):

# netstat -tunlp | grep ceph-mon
tcp        0      0 X.X.X.X:6789       0.0.0.0:*               LISTEN      2612/ceph-mon

如果我允许连接到 tcp 端口 6789 并删除其他所有内容,则监视器将被集群的其余部分标记为关闭:

iptables -F INPUT
iptables -A INPUT -p tcp --dport 6789 -j ACCEPT
iptables -A INPUT -j DROP

令人困惑的是,如果我断开与 tcp 端口 6789 的所有连接,集群仍然运行:

iptables -F INPUT
iptbales -A INPUT -p tcp --dport 6789 -j DROP

如果我允许与源tcp 端口 6789 的连接并删除集群运行的所有其他内容:

iptables -F INPUT
iptables -A INPUT -p tcp --sport 6789 -j ACCEPT
iptables -A INPUT -j DROP

这对我来说没有意义,因为守护进程正在监听端口 6789,所以 tcp 段的目标端口应该是 6789。

如果我tcpdump对源端口 6789 执行操作,我可以看到目标端口为 56052 和源端口为 6789 的传入数据包。这对我来说更没有意义,因为在监控服务器上没有监听端口 56052。

我在这里错过了什么吗?我使用的是 SLES12 和 ceph 12.2.7,FORWARD 和 OUTPUT 链没有规则,所有链上的策略都是 ACCEPT

iptables ceph
  • 1 个回答
  • 330 Views
Martin Hope
Morphinz
Asked: 2018-03-25 02:40:07 +0800 CST

使用自动登录运行程序不像在 bash 上运行那样工作

  • 1

我写了一个程序,它会自动安装 ceph。该程序在我手动运行时运行良好但是当我使用 getty(下面的我的 conf)自动登录并在 /etc/profile “like this “./myapp” 中作为最后一行运行程序时,我收到以下授权错误。

** ERROR: error creating empty object store in /var/lib/ceph/tmp/mnt.XSlAG1: (13) Permission denied

程序运行时出现问题ceph-disk activate

我的问题是什么?

/etc/systemd/system/getty\@tty1.service.d/autologin.conf
[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --skip-login --login-options "-f root" %I 38400 linux
linux ceph
  • 2 个回答
  • 249 Views
Martin Hope
slappyjam
Asked: 2017-12-16 11:40:06 +0800 CST

ceph-mon 无法在 rasberry pi (raspbian 8.0) 上启动

  • 0

ceph-mon 无法在 rasberry pi (raspbian 8.0) 上启动

我最近购买了 3 个树莓派节点来创建一个小型存储集群,以便在家中进行测试。我发现了一些设置程序,所以看起来人们已经成功地做到了!

我正在运行 Raspbian GNU/Linux 8.0 (jessie)。我正在使用 ceph-deploy 安装集群,它似乎安装了 ceph ARM 软件包的 10.2.5-7.2+rpi1 版本。

当我尝试启动 ceph-mon 服务时,我从 systemd 收到以下错误:

Dec 14 19:59:46 ceph-master systemd[1]: Starting Ceph cluster monitor daemon...
Dec 14 19:59:46 ceph-master systemd[1]: Started Ceph cluster monitor daemon.
Dec 14 19:59:47 ceph-master ceph-mon[28237]: *** Caught signal (Segmentation fault) **
Dec 14 19:59:47 ceph-master ceph-mon[28237]: in thread 756a5c30 thread_name:admin_socket
Dec 14 19:59:47 ceph-master systemd[1]: [email protected]: main process exited, code=killed, status=11/SEGV
Dec 14 19:59:47 ceph-master systemd[1]: Unit [email protected] entered failed state.
Dec 14 19:59:47 ceph-master systemd[1]: [email protected] holdoff time over, scheduling restart.
Dec 14 19:59:47 ceph-master systemd[1]: Stopping Ceph cluster monitor daemon...
Dec 14 19:59:47 ceph-master systemd[1]: Starting Ceph cluster monitor daemon...
Dec 14 19:59:47 ceph-master systemd[1]: Started Ceph cluster monitor daemon.
Dec 14 19:59:49 ceph-master ceph-mon[28256]: *** Caught signal (Segmentation fault) **
Dec 14 19:59:49 ceph-master ceph-mon[28256]: in thread 75654c30 thread_name:admin_socket
Dec 14 19:59:49 ceph-master ceph-mon[28256]: ceph version 10.2.5 (c461ee19ecbc0c5c330aca20f7392c9a00730367)
Dec 14 19:59:49 ceph-master ceph-mon[28256]: 1: (()+0x4b1348) [0x54fae348]
Dec 14 19:59:49 ceph-master ceph-mon[28256]: 2: (__default_sa_restorer()+0) [0x768bb480]
Dec 14 19:59:49 ceph-master ceph-mon[28256]: 3: (AdminSocket::do_accept()+0x28) [0x550ca154]
Dec 14 19:59:49 ceph-master ceph-mon[28256]: 4: (AdminSocket::entry()+0x22c) [0x550cc458]
Dec 14 19:59:49 ceph-master systemd[1]: [email protected]: main process exited, code=killed, status=11/SEGV
Dec 14 19:59:49 ceph-master systemd[1]: Unit [email protected] entered failed state.
Dec 14 19:59:49 ceph-master systemd[1]: [email protected] holdoff time over, scheduling restart.
Dec 14 19:59:49 ceph-master systemd[1]: Stopping Ceph cluster monitor daemon...
Dec 14 19:59:49 ceph-master systemd[1]: Starting Ceph cluster monitor daemon...
Dec 14 19:59:49 ceph-master systemd[1]: Started Ceph cluster monitor daemon.
Dec 14 19:59:50 ceph-master ceph-mon[28271]: *** Caught signal (Segmentation fault) **
Dec 14 19:59:50 ceph-master ceph-mon[28271]: in thread 755fcc30 thread_name:admin_socket
Dec 14 19:59:50 ceph-master systemd[1]: [email protected]: main process exited, code=killed, status=11/SEGV
Dec 14 19:59:50 ceph-master systemd[1]: Unit [email protected] entered failed state.
Dec 14 19:59:50 ceph-master systemd[1]: [email protected] holdoff time over, scheduling restart.
Dec 14 19:59:50 ceph-master systemd[1]: Stopping Ceph cluster monitor daemon...
Dec 14 19:59:50 ceph-master systemd[1]: Starting Ceph cluster monitor daemon...
Dec 14 19:59:50 ceph-master systemd[1]: [email protected] start request repeated too quickly, refusing to start.
Dec 14 19:59:50 ceph-master systemd[1]: Failed to start Ceph cluster monitor daemon.
Dec 14 19:59:50 ceph-master systemd[1]: Unit [email protected] entered failed state.

我在这里寻找指导,因为我不确定为什么这不起作用。我正在为我的 apt 存储库使用以下 URL:

root@ceph-master:~# cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi

root@ceph-master:~# cat /etc/apt/sources.list.d/ceph.list
deb https://download.ceph.com/debian-jewel/ jessie main

有没有其他人尝试过这个并且遇到过类似的问题?有关如何继续或解决此问题的任何建议?

ceph storage
  • 2 个回答
  • 201 Views
Martin Hope
jihyun kim
Asked: 2017-12-11 21:24:33 +0800 CST

如何检查两个服务器是否在ceph集群上正确复制

  • 0

最近我用两个服务器配置构建了 ceph。

最令人不安的是,我不知道如何检查两台服务器是否在 ceph 集群上正确复制。

是否有人使用 ceph 确认数​​据已复制?

ceph
  • 1 个回答
  • 1429 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve