跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Enterprise Storage 7.1 文档 / 管理和操作指南 / 集群操作 / Ceph 服务的操作
适用范围 SUSE Enterprise Storage 7.1

14 Ceph 服务的操作

您可以在守护进程、节点或集群级别操作 Ceph 服务。根据您需要的方法,使用 cephadm 或 systemctl 命令。

14.1 操作单个服务

如果您需要操作单个服务,请先标识该服务:

cephuser@adm > ceph orch ps
NAME                                HOST        STATUS         REFRESHED  [...]
mds.my_cephfs.ses-min1.oterul       ses-min1    running (5d)   8m ago
mgr.ses-min1.gpijpm                 ses-min1    running (5d)   8m ago
mgr.ses-min2.oopvyh                 ses-min2    running (5d)   8m ago
mon.ses-min1                        ses-min1    running (5d)   8m ago
mon.ses-min2                        ses-min2    running (5d)   8m ago
mon.ses-min4                        ses-min4    running (5d)   7m ago
osd.0                               ses-min2    running (61m)  8m ago
osd.1                               ses-min3    running (61m)  7m ago
osd.2                               ses-min4    running (61m)  7m ago
rgw.myrealm.myzone.ses-min1.kwwazo  ses-min1    running (5d)   8m ago
rgw.myrealm.myzone.ses-min2.jngabw  ses-min2    error          8m ago

要标识特定节点上的服务,请运行:

ceph orch ps NODE_HOST_NAME

例如:

cephuser@adm > ceph orch ps ses-min2
NAME                                HOST      STATUS         REFRESHED
mgr.ses-min2.oopvyh                 ses-min2  running (5d)   3m ago
mon.ses-min2                        ses-min2  running (5d)   3m ago
osd.0                               ses-min2  running (67m)  3m ago
提示
提示

ceph orch ps 命令支持多种输出格式。要更改格式,请追加 --format FORMAT 选项,其中 FORMATjsonjson-prettyyaml 其中之一。例如:

cephuser@adm > ceph orch ps --format yaml

知道服务名称后,您就可以启动、重启动或停止该服务:

ceph orch daemon COMMAND SERVICE_NAME

例如,要重启动 ID 为 0 的 OSD 服务,请运行:

cephuser@adm > ceph orch daemon restart osd.0

14.2 操作服务类型

如果您需要操作整个 Ceph 集群中特定类型的服务,请使用以下命令:

ceph orch COMMAND SERVICE_TYPE

COMMAND 替换为 startstoprestart

例如,以下命令会重启动集群中的所有 MON,无论它们实际是在哪个节点上运行:

cephuser@adm > ceph orch restart mon

14.3 操作单个节点上的服务

通过使用 systemctl 命令,您可以操作单个节点上与 Ceph 有关的 systemd 服务和目标。

14.3.1 标识服务和目标

在操作与 Ceph 有关的 systemd 服务和目标之前,您需要标识其单元文件的文件名。服务的文件名具有以下格式:

ceph-FSID@SERVICE_TYPE.ID.service

例如:

ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@mon.doc-ses-min1.service
ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@rgw.myrealm.myzone.doc-ses-min1.kwwazo.service
FSID

Ceph 集群的唯一 ID。您可以在 ceph fsid 命令的输出中找到该 ID。

SERVICE_TYPE

服务的类型,例如 osdmonrgw

ID

服务的标识字符串。对于 OSD,它是服务的 ID 号。对于其他服务,它可以是节点的主机名,也可以是与服务类型相关的其他字符串。

提示
提示

SERVICE_TYPE.ID 部分与 ceph orch ps 命令输出中的 NAME 列的内容相同。

14.3.2 操作一个节点上所有服务

通过使用 Ceph 的 systemd 目标,您可以同时操作某个节点上的所有服务,或者同时操作属于由其 FSID 标识的集群的所有服务。

例如,要停止某个节点上的所有 Ceph 服务,而不考虑服务所属的集群,请运行:

root@minion > systemctl stop ceph.target

要重启动属于 ID 为 b4b30c6e-9681-11ea-ac39-525400d7702d 的 Ceph 集群的所有服务,请运行:

root@minion > systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d.target

14.3.3 操作一个节点上的单个服务

标识特定服务的名称后,请如下所示操作该服务:

systemctl COMMAND SERVICE_NAME

例如,要重启动 ID 为 b4b30c6e-9681-11ea-ac39-525400d7702d 的集群上 ID 为 1 的单个 OSD 服务,请运行:

# systemctl restart ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.1.service

14.3.4 查询服务状态

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

# systemctl status ceph-b4b30c6e-9681-11ea-ac39-525400d7702d@osd.0.service

14.4 关闭并重启动整个 Ceph 集群

如果发生计划停电,可能需要关闭并重启动集群。要停止与 Ceph 有关的所有服务然后再重启动而不会出现问题,请按照以下步骤进行操作。

过程 14.1︰ 关闭整个 Ceph 集群
  1. 关闭或断开访问集群的任何客户端。

  2. 要阻止 CRUSH 自动重新平衡集群,请将集群设置为 noout

    cephuser@adm > ceph osd set noout
  3. 停止所有集群节点上的所有 Ceph 服务:

    root@master # ceph-salt stop
  4. 关闭所有集群节点的电源:

    root@master # salt -G 'ceph-salt:member' cmd.run "shutdown -h"
过程 14.2︰ 启动整个 Ceph 集群
  1. 打开管理节点的电源。

  2. 打开 Ceph Monitor 节点的电源。

  3. 打开 Ceph OSD 节点的电源。

  4. 取消设置之前设置的 noout 标志:

    root@master # ceph osd unset noout
  5. 打开所有已配置网关的电源。

  6. 打开集群客户端的电源或连接集群客户端。