1. 程式人生 > >centos7下基於docker部署ceph叢集及遇到的問題

centos7下基於docker部署ceph叢集及遇到的問題

Ceph是一個統一的分散式儲存系統,提供較好的效能、可靠性和可擴充套件性。

本文使用三臺伺服器進行安裝,vm1,vm2,vm4,及每臺伺服器上所要安裝的內容

vm1 vm2 vm3
monitor monitor monitor
osd osd osd
mds
mgr

開始安裝

1.安裝docker,啟動docker,設為開機自啟動(每臺機子上)

yum install docker -y

systemctl start docker

systemctl enable docker

2.拉取ceph/daemon映象(每臺機子上)

docker pull ceph/daemon

 3.建立兩個資料夾,用於與映象中的ceph形成對映。(每臺機子上)

mkdir -p  /etc/ceph/  /var/lib/ceph/

chcon -Rt svirt_sandbox_file_t /etc/ceph      
chcon -Rt svirt_sandbox_file_t /var/lib/ceph

//由於有時SELinux許可權的問題導致後面monitor無法 成功啟動,做上面兩行操作省去了對SELinux的設定。

4.現在vm1上啟動monitor

docker run -d --net=host  --name=mona \
 -v /etc/ceph:/etc/ceph \
 -v /var/lib/ceph/:/var/lib/ceph \
 -e MON_IP=192.168.120.121 \
 -e CEPH_PUBLIC_NETWORK=192.168.120.0/24 \
 ceph/daemon mon

 IP改為自己伺服器上的IP地址,可以通過docker ps -a檢視monitor是否啟動成功

如果啟動失敗可以通過docker logs mona進行原因檢視。 

5.啟動成功後,之前建立的兩個資料夾中會出現三個檔案

將他們拷貝到vm2,vm4對應的位置中。

scp -r /etc/ceph/   [email protected]:/etc/ceph && scp -r /var/lib/ceph/bootstrap-*  [email protected]:/var/lib/ceph/


scp -r /etc/ceph/   [email protected]
:/etc/ceph && scp -r /var/lib/ceph/bootstrap-* [email protected]:/var/lib/ceph/

拷貝好以後做一下檢查,位置是否相同。

6,在vm2,vm4上啟動monitor,與在VM1上啟動相同,但注意要修改ip地址。

三臺都啟動成功後可以通過下列命令檢視。 

 docker exec -it mona  ceph -s

7.啟動osd,選擇現有的檔案目錄。(每臺機子)

docker run -d --net=host  --name=myosd1 \
 --privileged=true \
 --pid=host \
-v /etc/ceph:/etc/ceph \
 -v /var/lib/ceph/:/var/lib/ceph \
 -v /dev/:/dev/ \
-e OSD_FORCE_ZAP=1 \
 -e OSD_TYPE=directory \
ceph/daemon osd_directory \

8,部署mgr

docker run -d --net=host \
-v /etc/ceph:/etc/ceph \
-v /var/lib/ceph/:/var/lib/ceph/ \
ceph/daemon mgr

9。部署mds,這是使用cephFS客戶端所必需的

docker run -d --net=host -v /var/lib/ceph/:/var/lib/ceph/ -v /etc/ceph:/etc/ceph -e CEPHFS_CREATE=1 ceph/daemon mds

這樣一個ceph叢集就部署好了。