原始碼編譯ceph

2021-08-06 01:22:52 字數 1607 閱讀 4921

畢業進入公司後,接觸的第乙個專案是做ceph核心客戶端的優化,為了對ceph以及其客戶端有更加深刻的了解,在通過rpm安裝了一次ceph後,這裡又通過原始碼編譯配置了一次。其中,作業系統為centos7.2,編譯ceph-10.2.3的原始碼。

配置ceph執行環境

使用ceph-deploy配置環境

ceph執行命令

選擇對應版本,跳到原始碼根目錄,用git tag顯示已有的版本,然後git checkout v10.2.3跳到我們要編譯的版本

執行make install命令安裝到本地,這一步也可以通過手動移動二進位制檔案和配置檔案到相應目錄。其中,二進位制檔案放到/usr/bin,庫檔案放到/usr/lib,配置檔案存入/etc/ceph。

接下來可以有兩種方式來配置ceph執行環境,其一是直接手動執行,這種方式繁瑣且容易出錯,下面列出部分步驟,注意,這裡步驟並不全,只是為了說明;後面會詳細介紹ceph-deploy的方式,這種方式一鍵式自動化配置管理文件,並管理ceph的實際執行。

首先,通過手動的方式:

1. 檢視/etc/ceph目錄是否存在,不存在的話就自己建乙個,然後建立/etc/ceph/ceph.conf檔案

2. 執行uuidgen命令建立unique id,並將其賦值給fsid寫入到ceph.conf檔案,同時也將monitor節點的主機名和ip位址寫入,最後的ceph.conf檔案如下

3. 建立monitor keyring

ceph-authtool --create-keyring /tmp/ceph.mon --gen-key -n mon. --cap mon 'allow *'

4. 將client.admin的可以新增到monitor的keyring中

ceph-authtool /tmp/ceph.mon.keyring —import-keying /etc/ceph/ceph.client.admin.keyring

而所有上面這些操作如果通過ceph-deploy來執行,僅需一條ceph-deploy new mon命令,便建立並配置了上述所有文件,下面一節講通過ceph-deploy部署並執行ceph的過程。

建立執行ceph-mon的配置檔案和秘鑰,將在/ect/ceph下生成ceph.conf和ceph.mon.keyring檔案

ceph-deploy new [host...]接下來的過程是為了在節點上實際安裝ceph-mon,如果使用者不指定host,這裡因為我們已經提前安裝了ceph元件,這裡就不用這一步了

ceph-deploy mon create [host...]在其中乙個mon節點上執行ceph-deploy gatherkeys [host...]命令,收集新加入集群的節點的keys

新增osd,準備osd磁碟ceph-deploy osd create localhost:/dev/sdb本文主要包含兩部分,第一介紹了ceph原始碼編譯過程,第二介紹了編譯完成後的使用。

編譯ceph

ceph-deploy使用

Ceph原始碼編譯

研究ceph不編譯一下原始碼好像是說不過去的。再者,通過原始碼編譯安裝ceph,裝搭建的集群也要穩定的多!因而在此,總結一下ceph原始碼編譯過程中遇到的問題以及相應的解決方法,希望多少能提供一些幫助!本人環境 centos7.0 ceph v0.94 編譯 cd ceph autogen.sh c...

原始碼安裝Ceph

虛擬機器安裝ubuntu 50g硬碟空間 8g記憶體 4個cpu處理器。由於ceph原始碼在編譯後多達30g,因此需要分配大量的儲存空間。ubuntu的安裝和環境配置 見 gz解壓ceph原始碼 tar zxf ceph 11.2 0.orig tar gz進入源目錄 cd ceph 11.2.0 ...

ceph原始碼中interval set類

在ceph原始碼中多次使用到,這裡簡單記錄備註一下。interval set中實現了兩個內部迭代器類 const iterator class const iterator public std iterator iterator class iterator public std iterator...