为什么 cephadm 一直说主机已关闭

为什么 cephadm 一直说主机已关闭

我正在尝试在本地机器(Windows 10,在 wsl 环境中运行)上设置 Ceph 的测试实例。

我一直在关注说明然而,当涉及到使用以下内容引导集群时:

sudo cephadm bootstrap --mon-ip 127.0.0.1

我明白了:

Verifying podman|docker is present...
Verifying lvm2 is present...
Verifying time synchronization is in place...
No time sync service is running; checked for ['chrony.service', 'chronyd.service', 'systemd-timesyncd.service', 'ntpd.service', 'ntp.service', 'ntpsec.service']
Installing packages ['chrony']...
Enabling unit chrony.service
Non-zero exit code 1 from systemctl enable --now chrony.service
systemctl: stderr Synchronizing state of chrony.service with SysV service script with /lib/systemd/systemd-sysv-install.
systemctl: stderr Executing: /lib/systemd/systemd-sysv-install enable chrony
systemctl: stderr System has not been booted with systemd as init system (PID 1). Can't operate.
systemctl: stderr Failed to connect to bus: Host is down
Traceback (most recent call last):
  File "/usr/sbin/cephadm", line 6242, in <module>
    r = args.func()
  File "/usr/sbin/cephadm", line 1451, in _default_image
    return func()
  File "/usr/sbin/cephadm", line 2883, in command_bootstrap
    command_prepare_host()
  File "/usr/sbin/cephadm", line 4574, in command_prepare_host
    check_time_sync(enabler=pkg)
  File "/usr/sbin/cephadm", line 4499, in check_time_sync
    if not check_units(units, enabler):
  File "/usr/sbin/cephadm", line 1725, in check_units
    enabler.enable_service(u)
  File "/usr/sbin/cephadm", line 4686, in enable_service
    call_throws(['systemctl', 'enable', '--now', service])
  File "/usr/sbin/cephadm", line 1112, in call_throws
    raise RuntimeError('Failed command: %s' % ' '.join(command))
RuntimeError: Failed command: systemctl enable --now chrony.service

System has not been booted with systemd as init system (PID 1). Can't operate.与问题有什么关系吗?如果有,是什么关系systemd?我该如何从 WSL 启动它?

如果没有的话,有人可以告诉我需要设置什么吗?

谢谢!

答案1

是的,其中之一头孢他啶要求被列为 Systemd。不幸的是,WSL 不支持 Systemd。它使用自己的init进程作为 PID 1,因为它需要根据 Windows 和 WSL 之间的互操作(网络、驱动器安装等)以不同的方式初始化事物。

虽然你可以找到在 WSL 上安装/启用 systemd 的方法,但它们通常相当有缺陷(他们承认——我自己还没有尝试过)。 这是其中之一不过,我一直想尝试一下。(旁注——是的,它在 Stack Overflow 上,并且确实与主题无关,但它太旧了,无法迁移。感谢您将您的内容移到这里。)我现在知道这是否足以满足cephadm的要求。

此外,虽然这cephadm似乎是一个相当新的便利工具(也是现在推荐的安装方式),但你最好考虑一下替代安装方法在 WSL 下。我还遇到了本指南

相关内容