1.ceph-deploy:
ceph的部署軟件,通過該軟件可以簡便部署,這個軟件并非整個ceph集群系統(tǒng)中必須的
2.ceph:
ceph整個服務集群中的每個節(jié)點必須的軟件。提供分布式的存儲與文件系統(tǒng)服務 (osd,mon守護進程)
3.ceph-mds:
元數據服務端 (mds 守護進程)
4.libcephfs:
客戶端的編程接口(c語言)
5.python-cephfs:
客戶端的編程接口(python)
6.ceph-common,ceph-fs-common 客戶端:
使用ceph服務的客戶端必須
這三種進程分布于集群中的服務器上,服務器中可以只運行一種,也可以多個同時運行,推薦為一個服務器運行一種,使得負載均衡
osd 守護進程:即為存儲守護進程
mon 守護進程:監(jiān)視器守護進程
mds 守護進程:元數據守護進程
啟動本機上所有進程:啟動ceph在本機上配置的所有守護進程
$service ceph start$service ceph stop
查看本機上運行那些ceph進程
$ps aux |grep ceph
可以在配置文件中修改位置
配置文件:默認 /etc/ceph/ceph.conf
日志文件:默認 /var/log/ceph
運行時文件:默認 /var/run/ceph
每個進程的管理套接字位置:/var/run/ceph/$cluster-$name.asok
使用管理套接字查看osd.0的運行時配置信息:
$ceph --admin-daemon /var/run/ceph/ceph-osd.0.asok config show | less
集群啟動后,每個守護進程從配置文件 /etc/ceph/ceph.conf中查看配置信息。(/etc/ceph/ceph.conf 或者 ~/.ceph/config 或者 ./ceph.conf)
ceph.conf的格式
[ global ]#該配置下設置應用于所有ceph守護進程[ osd ]#該配置下設置應用于所有osd守護進程#或者重寫global配置[ osd.0 ]#該配置設置應用于osd 0進程,或者重寫前面配置[ mon ]#該配置應用于所有監(jiān)視器進程[ mds ]#該配置應用于所有元數據服務進程
整個集群機器一般在一個局域網的內網里,ceph-deploy一般只安裝在一臺機器上,但可以對集群內任意機器進行安裝配置等操作,且該操作是需要具有root權限的。因此可以如下配置無密碼操作網內其他機器。
1.在每臺機器上建立root權限用戶,名稱例如 ceph;
2.為每臺機器設置ssh服務;
在cesh-deploy上安裝ssh服務器
$apt-get install openssh-server
使用ssh-keygen生成私鑰,公鑰
$ssh-keygen
然后將生成的公鑰復制到每臺機器,使得ceph-deploy能夠訪問每臺機器
$ssh-copy-id xxx.xxx.xxx.xxx
修改~/.ssh/config文件,配置訪問ip,以及用戶ceph
對集群中某個節(jié)點ceph-node卸載其上的服務
$stop ceph-all # 停止所有ceph進程$ceph-deploy uninstall [{ceph-node}] # 卸載所有ceph程序$ceph-deploy purge [[ceph-node} [{ceph-node}] #刪除ceph相關的包$ceph-deploy purgedata {ceph-node} [{ceph-node}] # 刪除ceph相關的包$ceph-deploy forgetkeys #刪除key
安裝好之后,查看一下pool,默認只有rbd
$ ceph osd pool ls
這時查看狀態(tài)
$ceph -s
有時候會出現HEALTH_WARN,先查看一下rbd的大小,如果osd數目小于這個數字,就會出錯,所以需要手動將數量設置為與目前osd個數相同。
$ceph osd pool get rbd size$ceph osd pool set rbd size 1$ceph osd pool set rbd min_size 1
問題1:ceph-deploy部署的方式。就算我3個osd裝在兩臺機器上,osd pool default size還是要設置為2,才行,不然還是會提示 degraded; pgs stuck unclean
答案1:因為ceph deploy 默認吧osd 設置在同一個bucket下面,而ceph算法規(guī)則默認將不同的備份數分發(fā)到不同的不同的bucket下,所以ceph認為你的bucket少于你的備份 數從而報這個錯。要避免這個問題可以手動部署ceph不用cephdeploy,或者手動去修改
由于做試驗的時候,使用的機器臺數不同,以及osd數量不同,會出現,HEALTH_WARN pgs degraded,undersized 等警告,這個時候需要調整池子的大小,size,min_size.
特別是單機安裝的時候,容易出現這種錯誤。
安裝的時候某個osd總是down狀態(tài),后來重啟機器就好了。
PG和PGP數量一定要根據OSD的數量進行調整,計算公式如下,但是最后算出的結果一定要接近或者等于一個2的指數。
Total PGs = (Total_number_of_OSD * 100) / max_replication_count
例如15個OSD,副本數為3的情況下,根據公式計算的結果應該為500,最接近512,所以需要設定該pool(volumes)的pg_num和pgp_num都為512.
ceph osd pool set volumes pg_num 512ceph osd pool set volumes pgp_num 512
聯(lián)系客服