我正在尝试创建一个 ceph 集群。
我在 3 台计算机上安装了 ceph,并将它们的名称添加到 hosts 文件中。
创建了无密码 ssh 登录。
安装并配置了 ntp 服务器,并检查所有计算机是否显示相同的时间/时区。
使用 ceph-deploy 安装 ceph 并在所有属于 ceph 集群的主机上创建 mons。
删除磁盘,在每个计算机上分配给 ceph,并在其上创建 osd。
检查后发现,osd 已在这些磁盘上创建。
ceph status 显示 health_warn,即使在重新启动所有计算机并过了几天之后也是如此。此外,它显示我有几个可用的 osd,但它们都没有启动。pgmap 显示 0 bytes used/available/total。rados
lspools 只显示一个池:rbd。rados
-p rbd ls:冻结输出。光标永远挂在那里。我甚至尝试等待几个小时。没有列出任何东西,也没有退出命令。重新启动没有帮助。
尝试再次 zap 和 osd create。这没有帮助,只有在 ceph status 中,它现在显示的 osd 比以前多两倍。
我做错了什么。我按照书上的步骤一步一步做了:《学习 Ceph - 2015》(Karan Singh),除了他使用虚拟机之外,但我使用的是 metal,并且我已将他书中的所有基于 radhat 的命令/配置更改为 debian(Ubuntu 15.10)。我的 ceph 版本是标准版本,来自 Ubuntu 服务器存储库 v0.94.5
我当前的 ceph 版本基于
答案1
好的,在 ceph 的 IRC 频道的帮助下,我发现 Ubuntu 已将系统启动时的启动方式更改为 upstart。因此,旧的服务启动方式不再有效,因此 OSD 无法启动。ceph 网站上有一个故障排除页面,解释了在 upstart 情况下该怎么做:
http://docs.ceph.com/docs/master/rados/operations/operating/#running-ceph-with-upstart
我已经在该页面的帮助下启动了 OSD。之后,OSD 的状态变为启动,集群显示其大小不再是 0 字节,但我偶然发现了另一个问题。集群没有完全初始化,因此我无法使用它。它显示健康警告和该警告的一些详细信息。启动命令:
头孢菌状态
显示:
health HEALTH_WARN │
10 pgs degraded │
63 pgs stale │
10 pgs stuck degraded │
1 pgs stuck inactive │
63 pgs stuck stale │
18 pgs stuck unclean │
10 pgs stuck undersized │
10 pgs undersized │