ceph集群简单安装部署(Ubuntu14环境)
本次測試。為了快速地安裝,所以把目錄而非整個硬盤用于 OSD 守護進程。后面的
后面的測試還將會有使用硬盤來作為OSD數據盤
測試機規劃
| 節點名稱 | IP 地址 | 部署進程 | 系統盤 | 數據盤 |
| ceph1 | eth0 192.168.89.10 外網 ? ?eth1 10.0.0.10 內網 | 1MON+1MDS+2OSD | /dev/vda 20G | /dev/vdb,?/dev/vdc |
| ceph2 | eth0 192.168.89.11 外網 ? ?eth1 10.0.0.11 內網 | 1MON+1MDS+2OSD | /dev/vda 20G | /dev/vdb,?/dev/vdc |
| ceph3 | eth0 192.168.89.12 外網 ? ?eth1 10.0.0.12 內網 | 1MON+1OSD | /dev/vda 20G | /dev/vdb,?/dev/vdc |
一、環境準備(準備好三個節點ceph1-3)
1、修改hostname
2、配置IP地址
3、配置hosts文件,增加其他節點的hostname和ip地址對應條目
4、創建一個普通賬戶(用戶名稱:toby)
5、讓ceph管理節點(ceph1),ssh免密碼登錄其他ceph節點
6、各ceph節點普通用戶擁有無密碼使用 sudo 的權限
echo "{username} ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/{username}
sudo chmod 0440 /etc/sudoers.d/{username}
二、ceph-deploy工具安裝(在ceph1節點上安裝)
在 ceph1 上安裝 ceph-deploy,接下來會使用這個工具來部署 ceph 集群
toby@ceph1:~$ sudo apt-get install ceph-deploy
三、安裝ceph
3.1、ceph-deploy工具進行安裝(在ceph1上運行,因為在ceph1上安裝了ceph-deploy部署工具):
ceph-deploy install ceph1 ceph2 ceph3 (這個命令將在各節點上安裝 ceph 軟件)
經過觀察ceph-deploy部署工具的輸出內容發現,其實就是安裝以下這些包
sudo apt-get install ceph?
sudo apt-get install ceph-mds?
sudo apt-get install ceph-common?
sudo apt-get install ceph-fs-common?
sudo apt-get install gdisk
3.2、經過測試,用ceph-deploy工具去安裝的話,有時候不穩定,造成安裝失敗(多數是因為網絡問題)。當然也可以到每臺ceph節點進行手動安裝這些包:
sudo apt-get -y install ceph ceph-mds ceph-common ceph-fs-common gdisk
查看版本:
toby@ceph1:~$ ceph --version
ceph version 0.80.11 (8424145d49264624a3b0a204aedb127835161070)
四、創建ceph集群
在 ceph1 上執行以下命令創建 MON 集群
4.1、在ceph1管理節點上創建一個目錄,用于保存 ceph-deploy 生成的配置文件和密鑰對。
toby@ceph1:~/my-cluster$ mkdir my-cluster
toby@ceph1:~/my-cluster$ cd my-cluster
4.2、創建一個集群(進入剛才創建的目錄下進行操作)
toby@ceph1:~/my-cluster$ ceph-deploy new ceph1 ceph2 ceph3
在當前目錄下用 ls 和 cat 檢查 ceph-deploy 的輸出,應該有一個 Ceph 配置文件、一個 monitor 密鑰環和一個日志文件。
4.3、遠程主機上部署ceph監控。
toby@ceph1:~/my-cluster$ ceph-deploy mon create ceph1 ceph2 ceph3
toby@ceph1:~/my-cluster$ ceph-deploy mon create-initial
4.4、完成后查看mon集群狀態
toby@ceph1:~/my-cluster$ sudo ceph mon_status
{"name":"ceph1","rank":0,"state":"leader","election_epoch":6,"quorum":[0,1,2],"outside_quorum":[],"extra_probe_peers":["192.168.89.11:6789\/0","192.168.89.12:6789\/0"],"sync_provider":[],"monmap":{"epoch":1,"fsid":"ea8ef245-70bc-4000-b676-4c780e8fce64","modified":"0.000000","created":"0.000000","mons":[{"rank":0,"name":"ceph1","addr":"192.168.89.10:6789\/0"},{"rank":1,"name":"ceph2","addr":"192.168.89.11:6789\/0"},{"rank":2,"name":"ceph3","addr":"192.168.89.12:6789\/0"}]}}
4.5、添加兩個 OSD
登錄到 Ceph 節點、并給 OSD 守護進程創建一個目錄。
ssh ceph1
sudo mkdir /var/local/osd0
exit
ssh ceph2
sudo mkdir /var/local/osd1
exit
ssh ceph3
sudo mkdir /var/local/osd2
exit
4.6、從管理節點執行 ceph-deploy 來準備 OSD?
ceph-deploy osd prepare ceph1:/var/local/osd0 ceph2:/var/local/osd1 ceph3:/var/local/osd2
4.7、激活 OSD?
ceph-deploy osd activate ceph1:/var/local/osd0 ceph2:/var/local/osd1 ceph3:/var/local/osd2
4.8、檢查集群的健康狀況。
toby@ceph1:~/my-cluster$ ceph health
HEALTH_OK
toby@ceph2:~$ ceph health
HEALTH_OK
toby@ceph3:~$ ceph health
HEALTH_OK
4.9、完成后查看 OSD 狀態:
toby@ceph1:~/my-cluster$ ceph osd tree
# id?? ?weight?? ?type name?? ?up/down?? ?reweight
-1?? ?0.05997?? ?root default
-2?? ?0.01999?? ??? ?host ceph1
0?? ?0.01999?? ??? ??? ?osd.0?? ?up?? ?1?? ?
-3?? ?0.01999?? ??? ?host ceph2
1?? ?0.01999?? ??? ??? ?osd.1?? ?up?? ?1?? ?
-4?? ?0.01999?? ??? ?host ceph3
2?? ?0.01999?? ??? ??? ?osd.2?? ?up?? ?1?? ?
4.10、用 ceph-deploy 把配置文件和 admin 密鑰拷貝到管理節點和 Ceph 節點,這樣你每次執行 Ceph 命令行時就無需指定 monitor 地址和 ceph.client.admin.keyring 了
toby@ceph1:~/my-cluster$ ceph-deploy admin ceph1 ceph2 ceph3
4.11、確保你對 ceph.client.admin.keyring 有正確的操作權限。
sudo chmod +r /etc/ceph/ceph.client.admin.keyring
4.12、安裝 MDS 集群(添加元數據服務器)
至少需要一個元數據服務器才能使用 CephFS ,執行下列命令創建元數據服務器:
ceph-deploy mds create ceph1 ceph2 ceph3?
官方說:當前生產環境下的 Ceph 只能運行一個元數據服務器。你可以配置多個,但現在我們還不會為多個元數據服務器的集群提供商業支持。
4.13、完成后可以使用 “ceph mds” 命令來操作 MDS 集群,比如查看狀態:
toby@ceph1:~/my-cluster$ ceph mds stat
e5: 1/1/1 up {0=ceph1=up:active}, 2 up:standby
4.14、至此,Ceph 集群部署完成,可以使用 ceph 命令查看集群狀態:
toby@ceph1:~/my-cluster$ ceph -s
??? cluster ea8ef245-70bc-4000-b676-4c780e8fce64
???? health HEALTH_OK
???? monmap e1: 3 mons at {ceph1=192.168.89.10:6789/0,ceph2=192.168.89.11:6789/0,ceph3=192.168.89.12:6789/0}, election epoch 10, quorum 0,1,2 ceph1,ceph2,ceph3
???? mdsmap e5: 1/1/1 up {0=ceph1=up:active}, 2 up:standby
???? osdmap e7: 3 osds: 3 up, 3 in
????? pgmap v50: 192 pgs, 3 pools, 1884 bytes data, 20 objects
??????????? 19463 MB used, 34635 MB / 57065 MB avail
???????????????? 192 active+clean
toby@ceph1:~/my-cluster$?
溫馨提示:
在這過程中,失敗和反復是難免的,在任何時候,可以使用如下的命令將已有的配置擦除然后從頭安裝:
ceph-deploy purge ceph{1,2,3}
ceph-deploy purgedata ceph{1,2,3}
ceph-deploy forgetkeys
本文轉自 TtrToby 51CTO博客,原文鏈接:http://blog.51cto.com/freshair/1905800
總結
以上是生活随笔為你收集整理的ceph集群简单安装部署(Ubuntu14环境)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lvs之 lvs原理架构介绍
- 下一篇: 记录Docker in Docker 安