您可以使用 systemd
或通过 DeepSea 来操作 Ceph 服务。
systemd
操作 Ceph 服务 #
使用 systemctl
命令操作所有与 Ceph 相关的服务。操作在您当前登录的节点上进行。您需要具备 root
特权才能操作 Ceph 服务。
为了简化启动、停止和重启动节点上特定类型的所有服务(例如所有 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.targetroot #
systemctl start ceph.targetroot #
systemctl restart ceph.target
要启动/停止/重启动节点上的所有 OSD,请运行以下命令:
root #
systemctl stop ceph-osd.targetroot #
systemctl start ceph-osd.targetroot #
systemctl restart ceph-osd.target
针对其他目标的命令与此类似。
可以使用以下参数化 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.serviceroot #
systemctl start ceph-osd@1.serviceroot #
systemctl restart ceph-osd@1.service
针对其他服务类型的命令与此类似。
通过运行 systemctl
并使用 grep
命令过滤结果,可以确定特定类型服务的名称/编号。例如:
root #
systemctl | grep -i 'ceph-osd.*service'root #
systemctl | grep -i 'ceph-mon.*service' [...]
可以查询 systemd
来了解服务的状态。例如:
root #
systemctl status ceph-osd@1.serviceroot #
systemctl status ceph-mon@HOSTNAME.service
请将 HOSTNAME 替换为运行守护进程的主机名。
如果您不知道服务的确切名称/编号,请参见第 3.1.3 节 “识别个别服务”。
将更新应用到集群节点之后,需要重启动所指定的服务,以使用最近安装的版本。
重启动集群的过程可能需要一段时间。可通过运行以下命令来使用 Salt 事件总线检查事件:
root@master #
salt-run state.event pretty=True
要重启动集群上的所有服务,请运行以下命令:
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。为了保持较短的停机时间并尽早发现潜在问题,请按顺序重启动各节点。例如,一次只重启动一个监视节点。
如果集群处于降级、不良的状态,该命令会等待集群恢复。
要重启动集群上的特定服务,请运行以下命令:
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