1. 程式人生 > 其它 >Ceph 儲存叢集配置之配置 Ceph

Ceph 儲存叢集配置之配置 Ceph

命令

以下 CLI 命令用於配置叢集:

  • ceph config dump: 將轉儲叢集的整個配置資料庫。

  • ceph config get <who>: 將轉儲特定守護程式或客戶端的配置(例如,mds.a),儲存在監視器的配置資料庫中。

  • ceph config set <who> <option> <value>: 將在監視器的配置資料庫中設定一個配置選項。

  • ceph config show <who>: 將顯示正在執行的守護程式的報告執行配置。如果還有正在使用的本地配置檔案或選項已在命令列或執行時被覆蓋,則這些設定可能與監視器儲存的設定不同。

    選項值的來源作為輸出的一部分報告。

  • ceph config assimilate-conf -i <input file> -o <output file>: 將從輸入檔案中提取配置檔案並將任何有效選項移動到監視器的配置資料庫中。任何無法識別、無效或無法由監視器控制的設定都將在儲存在輸出檔案中的簡短配置檔案中返回。此命令對於從舊配置檔案轉換到基於監視器的集中配置很有用。

幫助

您可以通過以下方式獲得特定選項的幫助:

ceph config help <option>

請注意,這將使用編譯到正在執行的監視器中的配置模式。如果您有一個混合版本的叢集(例如,在升級期間),您可能還想從特定執行的守護程序中查詢選項模式:

ceph daemon <name> config help [option]

例如:

$ ceph config help log_file
log_file - path to log file
  (std::string, basic)
  Default (non-daemon):
  Default (daemon): /var/log/ceph/$cluster-$name.log
  Can update at runtime: false
  See also: [log_to_stderr,err_to_stderr,log_to_syslog,err_to_syslog]

要麼:

$ ceph config help log_file -f json-pretty
{
    "name": "log_file",
    "type": "std::string",
    "level": "basic",
    "desc": "path to log file",
    "long_desc": "",
    "default": "",
    "daemon_default": "/var/log/ceph/$cluster-$name.log",
    "tags": [],
    "services": [],
    "see_also": [
        "log_to_stderr",
        "err_to_stderr",
        "log_to_syslog",
        "err_to_syslog"
    ],
    "enum_values": [],
    "min": "",
    "max": "",
    "can_update_at_runtime": false
}

該level屬性可以是basic、advanced或dev中的任何一個。dev選項供開發人員使用,通常用於測試目的,不建議運維人員使用。

執行時更改

在大多數情況下,Ceph 允許您在執行時更改守護程式的配置。此功能對於增加/減少日誌輸出、啟用/禁用除錯設定甚至執行時優化非常有用。

一般來說,可以通過ceph config set命令以通常的方式更新配置選項。例如,在特定 OSD 上啟用除錯日誌級別:

ceph config set osd.123 debug_ms 20

請注意,如果在本地配置檔案中也自定義了相同的選項,則監視器設定將被忽略(它的優先順序低於本地配置檔案)。

覆蓋值

您還可以使用 Ceph CLI 上的tell或daemon介面臨時設定選項。這些覆蓋值是短暫的,因為它們僅影響正在執行的程序,並且在守護程式或程序重新啟動時被丟棄/丟失。

可以通過兩種方式設定覆蓋值:

  1. 從任何主機,我們都可以通過網路向守護程序傳送訊息:
ceph tell <name> config set <option> <value>

例如:

ceph tell osd.123 config set debug_osd 20

tell命令還可以接受守護程式識別符號的萬用字元。例如,要調整所有 OSD 守護程式的除錯級別,請執行:

ceph tell osd.* config set debug_osd 20
  1. 從程序執行的主機,我們可以通過/var/run/ceph中的套接字直接連線到程序:
ceph daemon <name> config set <option> <value>

例如:

ceph daemon osd.4 config set debug_osd 20

請注意,在命令ceph config show輸出中,這些臨時值將顯示為override.

檢視執行時設定

您可以使用該ceph config show命令檢視為正在執行的守護程式設定的當前選項。例如:

ceph config show osd.0

將向您顯示該守護程式的(非預設)選項。您還可以通過以下方式檢視特定選項:

ceph config show osd.0 debug_osd

或檢視所有選項(即使是具有預設值的選項):

ceph config show-with-defaults osd.0

您還可以通過管理套接字從本地主機連線到正在執行的守護程式來觀察它的設定。例如:

ceph daemon osd.0 config show

將轉儲所有當前設定:

ceph daemon osd.0 config diff

將僅顯示非預設設定(以及值的來源:配置檔案、監視器、覆蓋等),並且:

ceph daemon osd.0 config get debug_osd

將報告單個選項的數值。

作者:Varden 出處:http://www.cnblogs.com/varden/ 本文內容如有雷同,請聯絡作者! 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。