适用于 SUSE Enterprise Storage 5

3 操作 Ceph 服务

您可以使用 systemd 或通过 DeepSea 来操作 Ceph 服务。

3.1 使用 systemd 操作 Ceph 服务

使用 systemctl 命令操作所有与 Ceph 相关的服务。操作在您当前登录的节点上进行。您需要具备 root 特权才能操作 Ceph 服务。

3.1.1 使用目标启动、停止和重启动服务

为了简化启动、停止和重启动节点上特定类型的所有服务(例如所有 Ceph 服务、所有 MON 或所有 OSD)的操作,Ceph 提供了以下 systemd 单元文件:

root #  ls /usr/lib/systemd/system/ceph*.target
ceph.target
ceph-osd.target
ceph-mon.target
ceph-mgr.target
ceph-mds.target
ceph-radosgw.target
ceph-rbd-mirror.target

要启动/停止/重启动节点上的所有 Ceph 服务,请运行以下命令:

root # systemctl stop ceph.target
root # systemctl start ceph.target
root # systemctl restart ceph.target

要启动/停止/重启动节点上的所有 OSD,请运行以下命令:

root # systemctl stop ceph-osd.target
root # systemctl start ceph-osd.target
root # systemctl restart ceph-osd.target

针对其他目标的命令与此类似。

3.1.2 启动、停止和重启动个别服务

可以使用以下参数化 systemd 单元文件操作个别服务:

ceph-osd@.service
ceph-mon@.service
ceph-mds@.service
ceph-radosgw@.service
ceph-rbd-mirror@.service

要使用这些命令,首先需要确定要操作的服务的名称。请参见第 3.1.3 节 “识别个别服务”了解有关如何识别服务的更多信息。

要启动/停止/重启动 osd.1 服务,请运行以下命令:

root # systemctl stop ceph-osd@1.service
root # systemctl start ceph-osd@1.service
root # systemctl restart ceph-osd@1.service

针对其他服务类型的命令与此类似。

3.1.3 识别个别服务

通过运行 systemctl 并使用 grep 命令过滤结果,可以确定特定类型服务的名称/编号。例如:

root # systemctl | grep -i 'ceph-osd.*service'
root # systemctl | grep -i 'ceph-mon.*service'
[...]

3.1.4 服务状态

可以查询 systemd 来了解服务的状态。例如:

root # systemctl status ceph-osd@1.service
root # systemctl status ceph-mon@HOSTNAME.service

请将 HOSTNAME 替换为运行守护进程的主机名。

如果您不知道服务的确切名称/编号,请参见第 3.1.3 节 “识别个别服务”

3.2 使用 DeepSea 重启动 Ceph 服务

将更新应用到集群节点之后,需要重启动所指定的服务,以使用最近安装的版本。

注意
注意:检查重启动

重启动集群的过程可能需要一段时间。可通过运行以下命令来使用 Salt 事件总线检查事件:

root@master # salt-run state.event pretty=True

3.2.1 重启动所有服务

要重启动集群上的所有服务,请运行以下命令:

root@master # salt-run state.orch ceph.restart

各角色重启动的顺序不同,具体视 DeepSea 版本 (rpm -q deepsea) 而定:

  • 如果 DeepSea 版本低于 0.8.4,则元数据服务器、iSCSI 网关、对象网关和 NFS Ganesha 服务将并行重启动。

  • 如果 DeepSea 为 0.8.4 或更高版本,您已配置的所有角色将按以下顺序重启动:Ceph Monitor、Ceph Manager、Ceph OSD、元数据服务器、对象网关、iSCSI 网关、NFS Ganesha。为了保持较短的停机时间并尽早发现潜在问题,请按顺序重启动各节点。例如,一次只重启动一个监视节点。

如果集群处于降级、不良的状态,该命令会等待集群恢复。

3.2.2 重启动特定服务

要重启动集群上的特定服务,请运行以下命令:

root@master # salt-run state.orch ceph.restart.service_name

例如,要重启动所有对象网关,请运行以下命令:

root@master # salt-run state.orch ceph.restart.rgw

您可以使用以下目标:

root@master # salt-run state.orch ceph.restart.mon
root@master # salt-run state.orch ceph.restart.mgr
root@master # salt-run state.orch ceph.restart.osd
root@master # salt-run state.orch ceph.restart.mds
root@master # salt-run state.orch ceph.restart.rgw
root@master # salt-run state.orch ceph.restart.igw
root@master # salt-run state.orch ceph.restart.ganesha
打印此页