1. 程式人生 > 其它 >Ceph教程-Ceph儲存(四)叢集管理

Ceph教程-Ceph儲存(四)叢集管理

目錄 [隱藏]

狀態獲取

關於叢集其它的一些操作參考《Ceph儲存》系列其它相關文章。

整體執行狀態

執行ceph -s命令可以檢視ceph叢集整體執行狀態,如。

[cephadmin@ceph-monitor-1 ~]$ ceph -s
  cluster:
    id:     7e1c1695-1b01-4151-beea-70c008cffd8c
    health: HEALTH_WARN
            2 pools have pg_num > pgp_num
 
  services:
    mon: 3 daemons, quorum ceph-monitor-1,ceph-monitor-2,ceph-monitor-3
    mgr: ceph-monitor-2(active), standbys: ceph-monitor-1
    mds: cephfs-1/1/1 up  {0=ceph-monitor-1=up:active}
    osd: 7 osds: 7 up, 7 in
    rgw: 1 daemon active
 
  data:
    pools:   8 pools, 224 pgs
    objects: 246  objects, 4.1 KiB
    usage:   16 GiB used, 304 GiB / 320 GiB avail
    pgs:     224 active+clean
  1. id:叢集ID
  2. health:叢集執行狀態,這裡有一個警告,說明是有問題,意思是pg數大於pgp數,通常此數值相等。
  3. mon:Monitors執行狀態。
  4. osd:OSDs執行狀態。
  5. mgr:Managers執行狀態。
  6. mds:Metadatas執行狀態。
  7. pools:儲存池與PGs的數量。
  8. objects:儲存物件的數量。
  9. usage:儲存的理論用量。
  10. pgs:PGs的執行狀態

PG狀態

檢視pg狀態檢視通常使用下面兩個命令即可,dump可以檢視更詳細資訊,如。

~]$ ceph pg dump
~]$ ceph pg stat

Pool狀態

檢視整個pool狀態。

~]$ ceph osd pool stats

檢視指定pool狀態。

~]$ ceph osd pool stats <pool name>

OSD狀態

以下3條命令檢視,dump顯示出更詳細資訊,tree可以讓資訊顯示得更漂亮。

~]$ ceph osd stat
~]$ ceph osd dump
~]$ ceph osd tree

Monitor狀態

基本狀態檢視,使用dump可以檢視更詳細資訊。

~]$ ceph mon stat
~]$ ceph mon dump

檢視仲裁狀態。

~]$ ceph quorum_status

叢集空間用量

主要用到df子命令,後面跟detail可以顯示更詳細資訊。

~]$ ceph df
~]$ ceph df detail

ceph.conf配置檔案

該配置檔案採用init檔案語法,#和;為註釋,ceph叢集在啟動的時候會按照順序載入所有的conf配置檔案。

配置檔案分為以下幾大塊配置。

  • global:全域性配置。
  • osd:osd專用配置,可以使用osd.N,來表示某一個OSD專用配置,N為osd的編號,如0、2、1等。
  • mon:mon專用配置,也可以使用mon.A來為某一個monitor節點做專用配置,其中A為該節點的名稱,ceph-monitor-2、ceph-monitor-1等。使用命令 ceph mon dump可以獲取節點的名稱。
  • client:客戶端專用配置。

配置檔案可以從多個地方進行順序載入,如果衝突將使用最新載入的配置,其載入順序為。

  1. $CEPH_CONF環境變數
  2. -c 指定的位置
  3. /etc/ceph/ceph.conf
  4. ~/.ceph/ceph.conf
  5. ./ceph.conf

配置檔案還可以使用一些元變數應用到配置檔案,如。

  • $cluster:當前叢集名。
  • $type:當前服務型別。
  • $id:程序的識別符號。
  • $host:守護程序所在的主機名。
  • $name:值為$type.$id。

套接字檔案

所謂套接字相當於守護程序的socket檔案,預設儲存於/var/run/ceph/目錄下面,字尾名為.asok。可以使用此套接字完成對此守護程序所對應用的配置。但只能在本地執行,無法遠端執行,套接字通常用於查詢類。

命令使用格式如。

~]$ sudo ceph --admin-daemon /path/to/file <COMMAND>

獲取指定套接字可使用的命令幫助。

~]$ sudo ceph --admin-daemon /var/run/ceph/ceph-mgr.ceph-monitor-1.asok help

使用可使用的命令,如status查詢狀態。

~]$ sudo ceph --admin-daemon /var/run/ceph/ceph-mgr.ceph-monitor-1.asok status

服務平滑重啟

有時候需要更改服務的配置,但不想重啟服務,或者是臨時修改。這時候就可以使用tell和daemon子命令來完成此需求。

tell子命令

命令使用格式如下。

~]$ ceph tell {daemon-type}.{daemon id or *} injectargs --{name}={value} [--{name}={value}]
  • daemon-type:為要操作的物件型別如osd、mon等。
  • daemon id:該物件的名稱,osd通常為0、1等,mon為ceph -s顯示的名稱,這裡可以輸入*表示全部。
  • injectargs:表示引數注入,後面必須跟一個引數,也可以跟多個。

例。

~]$ ceph tell mon.ceph-monitor-1 injectargs --mon_allow_pool_delete=true

mon_allow_pool_delete此選項的值預設為false,表示不允許刪除pool,只有此選項開啟後方可刪除,記得改回去!!!

這裡使用mon.ceph-monitor-1表示只對ceph-monitor-1設定,可以使用*

daemon子命令

命令格式如下。

~]$ ceph daemon {daemon-type}.{id} config set {name}={value}

例。

~]$ sudo ceph daemon mon.ceph-monitor-1 config set mon_allow_pool_delete false
原文地址:https://www.linux-note.cn/?p=214