跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Enterprise Storage 7 文件 / 操作和管理指南 / 叢集操作 / Ceph 服務的操作
適用範圍 SUSE Enterprise Storage 7

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

startstoprestart 取代 COMMAND

例如,以下指令會重新啟動叢集中的所有 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 服務,請執行:

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

14.3.4 查詢服務狀態

您可以查詢 systemd 來瞭解服務的狀態。例如:

root # 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 監控程式節點的電源。

  3. 開啟 Ceph OSD 節點的電源。

  4. 取消設定先前設定的 noout 旗標:

    root@master # ceph osd unset noout
  5. 開啟所有已設定閘道的電源。

  6. 開啟叢集用戶端的電源或連接叢集用戶端。