ubuntu 16.04安裝ceph集群(雙節點)


Ceph是一個分布式存儲,可以提供對象存儲、塊存儲和文件存儲,其中對象存儲和塊存儲可以很好地和各大雲平台集成。一個Ceph集群中有Monitor節點、MDS節點(可選,用於文件存儲)、至少兩個OSD守護進程。
Ceph OSD:OSD守護進程,用於存儲數據、處理數據拷貝、恢復、回滾、均衡,並通過心跳程序向Monitor提供部分監控信息。一個Ceph集群中至少需要兩個OSD守護進程。
Monitor:維護集群的狀態映射信息,包括monitor、OSD、Placement Group(PG)。還維護了Monitor、OSD和PG的狀態改變歷史信息。
MDS:存儲Ceph文件系統的元數據。

一、准備兩台機器

10.111.131.125 ceph01

10.111.131.126 ceph02

ceph01將作為admin、osd1

ceph02將作為osd2、mon2

二、設置兩台主機ssh免密碼訪問

1、在ceph01電腦上執行

ssh-keygen        //一直按回車即可,產生公鑰私鑰對

2、將ceph01產生的公鑰復制到ceph01和ceph02上,這樣可以使用ceph01無密碼登錄ceph01和ceph02

ssh-copy-id -i /root/.ssh/id_rsa.pub ceph01
ssh-copy-id -i /root/.ssh/id_rsa.pub ceph02

測試:

ssh ceph01

ssh ceph02

發現登錄時不用輸入密碼就算設置成功。

三、在ceph01上安裝ceph-deploy

apt-get install ceph-deploy

 

四、在ceph01上創建集群目錄

mkdir my-cluster
cd my-cluster

 

五、創建集群,會在當前目錄下看到ceph.conf ceph.log ceph.mon.keyring三個文件

在ceph01上執行:

ceph-deploy new ceph01

執行以上命令后,ceph01相當於監控節點。如果要把兩台都作為監控節點則:

ceph-deploy new ceph01 ceph02

vim ceph.conf並將以下配置追加到后面

osd pool default size = 2

 

六、分別在ceph01和ceph02上安裝ceph

在ceph01上執行以下命令:

ceph-deploy install ceph01 ceph02

執行以上命令,相當於在兩台電腦上都運行了:apt-get install -y ceph,如果上面的命令失敗,也可以用apt-get去每台機子上安裝ceph

 

七、初始化集群監控

在ceph01上執行:

ceph-deploy mon create-initial

八、收集秘鑰,目錄下會多出ceph.bootstrap-mds.keyring  ceph.client.admin.keyring  ceph.client.admin.keyring這幾個文件

ceph-deploy gatherkeys ceph01

 

九、准備2塊硬盤並准備osd

分別在ceph01和ceph02上執行:

mkfs.xfs /dev/sdb1

在ceph01上執行:

ceph-deploy osd prepare  ceph01:/dev/sdb1 ceph02:/dev/sdb1  

在ceph01上執行:

ceph-deploy osd activate  ceph01:/dev/sdb1 ceph02:/dev/sdb1

上面兩條命令執行后,/dev/sdb1會mount到/var/lib/ceph/osd/ceph-0和/var/lib/ceph/osd/ceph-1上,當重啟電腦后該掛載會消失,最好開機掛載,解決辦法多樣,

本人的方法是在:/etc/rc.loac里面加入:

節點1:

mount /dev/sdb1 /var/lib/ceph/osd/ceph-0

節點2:

mount /dev/sdb1 /var/lib/ceph/osd/ceph-0

 

十、將配置文件和管理密鑰復制到管理節點和Ceph節點,下次再使用ceph命令界面時就無需指定集群監視器地址,執行命令時也無需每次都指定ceph.client.admin.keyring

在ceph01節點上執行:

ceph-deploy --overwrite-conf admin ceph01 ceph02

執行以上命令之后,ceph02這台機器的/etc/ceph目錄下也會多出ceph.client.admin.keyring這個文件。

 

十一、在ceph01上建一個元數據服務器(可選)

大多數情況下都是使用ceph的塊設備,一般來說都不用建立mds,只有用到ceph的文件存儲的時候才用到

首先執行:

mkdir -p /var/lib/ceph/mds/ceph-ceph01
ceph-deploy mds create ceph01

十二、ceph -s  看到ok表示集群狀態正常。

 十三、重啟集群

service ceph restart -a

如果上面的命令不起作用則對各個節點服務進行重啟

1、重啟mon節點,mon節點在ceph01上

/etc/init.d/ceph restart mon.ceph01或

systemctl start ceph-mon@ceph01

2、重啟osd0節點,osd0在ceph01上

   /etc/init.d/ceph start osd.0或

   systemctl start ceph-osd@0

3、重啟osd1節點,osd1在ceph02上

ssh ceph02

/etc/init.d/ceph start osd.1或

systemctl start ceph-osd@1


免責聲明!

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



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