Ceph教程-Ceph儲存(四)叢集管理
阿新 • • 發佈:2022-06-05
目錄 [隱藏]
狀態獲取
關於叢集其它的一些操作參考《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
- id:叢集ID
- health:叢集執行狀態,這裡有一個警告,說明是有問題,意思是pg數大於pgp數,通常此數值相等。
- mon:Monitors執行狀態。
- osd:OSDs執行狀態。
- mgr:Managers執行狀態。
- mds:Metadatas執行狀態。
- pools:儲存池與PGs的數量。
- objects:儲存物件的數量。
- usage:儲存的理論用量。
- 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:客戶端專用配置。
配置檔案可以從多個地方進行順序載入,如果衝突將使用最新載入的配置,其載入順序為。
- $CEPH_CONF環境變數
- -c 指定的位置
- /etc/ceph/ceph.conf
- ~/.ceph/ceph.conf
- ./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