【ceph運維】修改ceph集群配置


修改集群配置

啟動 ceph 存儲集群時,各守護進程都從同一個配置文件(默認的 ceph.conf )里查找它自己的配置。ceph.conf 中可配置參數很多,有時我們需要根據實際環境對某些參數進行修改。

修改的方式分為兩種:直接修改 ceph.conf 配置文件中的參數值,修改完后需要重啟 Ceph 進程才能生效。或在運行中動態地進行參數調整,無需重啟進程。

 

1. 查看運行時配置

如果你的 Ceph 存儲集群在運行,而你想看一個在運行進程的配置,用下面的命令:

ceph daemon {daemon-type}.{id} config show | less

如果你現在位於 osd.0 所在的主機,命令將是:

ceph daemon osd.0 config show | less

 

2. 修改配置文件

Ceph 配置文件可用於配置存儲集群內的所有守護進程、或者某一類型的所有守護進程。要配置一系列守護進程,這些配置必須位於能收到配置的段落之下,比如:

[global]

描述: [global] 下的配置影響 Ceph 集群里的所有守護進程。
實例:  auth supported = cephx 

[osd]

描述: [osd] 下的配置影響存儲集群里的所有 ceph-osd 進程,並且會覆蓋 [global] 下的同一選項。
實例:  osd journal size = 1000 

 

[mon]

描述: [mon] 下的配置影響集群里的所有 ceph-mon 進程,並且會覆蓋 [global] 下的同一選項。
實例:  mon addr = 10.0.0.101:6789 

[mds]

描述: [mds] 下的配置影響集群里的所有 ceph-mds 進程,並且會覆蓋 [global] 下的同一選項。
實例:  host = myserver01 

[client]

描述: [client] 下的配置影響所有客戶端(如掛載的 Ceph 文件系統、掛載的塊設備等等)。
實例:  log file = /var/log/ceph/radosgw.log 

全局設置影響集群內所有守護進程的例程,所以 [global] 可用於設置適用所有守護進程的選項。但可以用這些覆蓋 [global] 設置:

  1. 在 [osd] 、 [mon] 、 [mds] 下更改某一類進程的配置。
  2. 更改特定進程的設置,如 [osd.1] 。

覆蓋全局設置會影響所有子進程,明確剔除的例外。

 

運行時動態調整

Ceph 可以在運行時更改 ceph-osd 、 ceph-mon 、 ceph-mds 守護進程的配置,此功能在增加/降低日志輸出、啟用/禁用調試設置、甚至是運行時優化的時候非常有用。Ceph 集群提供兩種方式的調整,使用 tell 的方式和 daemon 設置的方式。

 

1. tell 方式設置

下面是使用 tell 命令的修改方法:

ceph tell {daemon-type}.{id or *} injectargs --{name} {value} [--{name} {value}]

用 osd 、 mon 、 mds 中的一個替代 {daemon-type} ,你可以用星號( * )更改一類進程的所有實例配置、或者更改某一具體進程 ID (即數字或字母)的配置。

1. 例如提高名為 osd.0 的 ceph-osd 進程之調試級別的命令如下:

ceph tell osd.0 injectargs --debug-osd 20 --debug-ms 1

2. 例如打開刪除pool權限:

ceph tell mon.* injectargs --mon_allow_pool_delete=true

3. 獲取 client id。

ceph tell mds.node01 session ls

在 ceph.conf 文件里配置時用空格分隔關鍵詞;但在命令行使用的時候要用下划線或連字符( _ 或 - )分隔,例如 debug osd 變成 debug-osd 。

2. daemon 方式設置

除了上面的 tell 的方式調整,還可以使用 daemon 的方式進行設置。

1、獲取當前的參數

[root@node01 sa1]# ceph daemon mds.node01 config get log_file
{
    "log_file": "/var/log/ceph/ceph-mds.node01.log"
}

2、修改配置

ceph daemon osd.1 config set mon_osd_full_ratio 0.97
{
    "success": "mon_osd_full_ratio = '0.97' "
}

3、檢查配置

ceph daemon osd.1 config get mon_osd_full_ratio
{
    "mon_osd_full_ratio": "0.97"
}

注意: 重啟進程后配置會恢復到默認參數,在進行在線調整后,如果這個參數是后續是需要使用的,那么就需要將相關的參數寫入到配置文件 ceph.conf 當中。

 

1. 4 兩種設置方式的使用場景

使用 tell 的方式適合對整個集群進行設置,使用 * 號進行匹配,就可以對整個集群的角色進行設置。而出現節點異常無法設置時候,只會在命令行當中進行報錯,不太便於查找。

使用 daemon 進行設置的方式就是一個個的去設置,這樣可以比較好的反饋,此方法是需要在設置的角色所在的主機上進行設置。

參考資料

 1. 修改集群配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM