手動編譯配置ceph

1、手工編譯ceph源代碼。node

     一、下載ceph源代碼。python

          從阿里雲開源鏡像網站下載當前最新版本的ceph源代碼,具體下載地址以下:http://mirrors.aliyun.com/ceph/tarballs/ceph_10.2.1.orig.tar.gzios

     二、編譯ceph源代碼。ubuntu

          1)編譯運行環境說明。vim

               使用的編譯和運行環境是ubuntu16.04-server-amd64,安裝完ubuntu鏡像後更新運行環境到最新。服務器

               #apt-get updateapp

               #apt-get upgradedom

          2)解壓縮源代碼。curl

               #mkdir -p /root/src網站

               #tar -xf ceph_10.2.1.orig.tar.gz -C/root/src

          3)安裝編譯依賴包。

               A)執行ceph源代碼目錄下的install_deps.sh腳原本安裝必要的依賴(該腳本並不能徹底安裝編譯ceph源代碼全部的依賴)

                    #cd ceph-10.2.1

                    #./install-deps.sh

               B)安裝額外的依賴包。

                    #apt-get install libtool automake pkg-config cython libsnappy-dev libleveldb-dev libblkid-dev libudev-dev libkeyutils-dev libcryto++-dev libfuse-dev libatomic-ops-dev libaio-dev xfslibs-dev libboost-dev libboost-iostreams-dev libboost-random-dev libboost-program-options-dev libldap2-dev virtualenv python-pip zlib1g-dev libcurl4-nss-dev libfcgi-dev libssl-dev

          4)配置ceph源代碼。

               #cd ceph-10.2.1

               #./autogen.sh

               #./configure --prefix=/usr  --libexecdir=/usr/lib  --sysconfdir=/etc  --with-radosgw  --with-rados  --with-rbd  --with-cephfs  --with-debug --with-nss --without-libcryptopp

          5)編譯ceph源代碼。

               #make -j32

     三、安裝ceph源代碼。

          編譯成功後,執行make install安裝ceph到本地運行。

          #make install

 

2、配置ceph運行環境。

     一、ceph運行環境硬件說明。

          ceph使用的硬件運行環境是華爲服務器,其中CPU是Xeon E5-2650 v2,內存128GB,一共有4塊600GB的SAS盤,其中一塊做爲系統盤,其他三塊做爲ceph存儲節點。

     二、配置monitor節點。

          1)檢查/etc/ceph目錄是否存在,若不存在則手動建立一個。通常來講,在執行make install後回自動生成/etc/ceph目錄;

          2)建立/etc/ceph/ceph.conf配置文件;

               #vim /etc/ceph/ceph.conf

          3)建立unique ID;

               #uuidgen

          4)將建立的unique ID值寫入到ceph.conf配置文件中;

               fsid = xxxx-yyyy-zzzz

          5)在ceph.conf中填寫monitor節點成員名稱和ip地址;

               mon initial members = B-79-5

               mon host = 192.168.250.93                    

          6)建立monitor keyring;

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

          7)建立client.admin keyring;

               #ceph-authtool —create-keyring /etc/ceph/ceph.client.admin.keyring —gen-key -n client.admin —set-uid=0 —cap mon ‘allow *’ osd ‘allow *’ mds ‘allow'

          8)將client.admin的key添加到monitor的keyring中;

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

          9)初始化monmap;

               #monmaptool —create —add B-79-5 192.168.250.93 —fsid xxxx-yyyy-zzzz /tmp/monmap

          10)建立monitor工做目錄;

               #mkdir -p /var/lib/ceph/mon/ceph-B-79-5

          11)使用monmap和monitor keyring初始化monitor進程;

               #su - ceph ceph-mon —mkfs -i B-79-5 —monmap /tmp/monmap —keyring /tmp/ceph.mon.keyring

          12)設置monitor工做目錄全部者爲ceph用戶;

               #chown -R ceph:ceph /var/lib/ceph/mon/ceph-B-79-5

          13)標識monitor節點初始化完成且能夠啓動;

               #touch /var/lib/ceph/mon/ceph-B-79-5/done

          14)建立ceph asok使用的目錄;

               #mkdir -p /var/run/ceph

               #chown -R ceph:ceph /var/run/ceph

          14)啓動monitor進程;

               #systemctl start ceph-mon@B-79-5

          15)查看當前ceph的狀態;

               #ceph -s

     三、配置osd節點。

          1)爲OSD節點生成unique ID;

               #uuidgen                                   #該命令返回unqiue ID字符串aaaa-bbbb-cccc

          2)建立OSD節點;

               #ceph osd create aaaa-bbbb-cccc                   #該命令會返回建立的OSD節點編號{id}

          3)建立OSD節點工做目錄;

               #mkdir -p /var/lib/ceph/osd/ceph-{id}

          4)建立OSD磁盤且掛載該磁盤到OSD節點工做目錄;

               #mkfs.xfs /dev/sdb1

               #mount /dev/sdb1 /var/lib/ceph/osd/ceph-{id}

          5)初始化OSD節點工做目錄;

               #ceph-osd -i {id} —mkfs —mkkey —osd-uuid aaaa-bbbb-cccc

          6)註冊OSD節點認證key;

               #ceph auth add osd.{id} osd ‘allow *’ mon ‘allow profile osd’ -i /var/lib/ceph/osd/ceph-{id}/keyring

          7)OSD節點添加到CrushMap;

               #ceph osd crush add-bucket virtual-node{id} host

               #ceph osd crush move virtual-node{id} root=default

               #ceph osd crush add osd.{id} 1.0 host=virtual-node{id}

          8)設置OSD節點工做目錄全部者爲ceph;

               #chown -R ceph:ceph /var/lib/ceph/osd/ceph-{id}

          9)啓動OSD進程;

               #systemctl start ceph-osd@{id}

          10)查看ceph狀態;

               #ceph -s

     以相同的方式添加剩餘兩個OSDs節點。

    

3、注意事項。

     一、注意/tmp/ceph.mon.keyring和/tmp/monmap的訪問權限,最好設置成0644;

     二、注意monitor和OSD節點工做目錄的全部者和訪問權限,即:全部者是ceph,訪問權限最好設置成0644;

     三、基本的ceph.conf文件內容以下:

/etc/ceph/ceph.conf

[global]

fsid = a7f64266-0894-4f1e-a635-d0aeaca0e993

mon initial members = B-79-5

mon host = 192.168.250.93

public network = 192.168.250.0/24

auth cluster required = cephx auth service required = cephx auth client required = cephx

相關文章
相關標籤/搜索