共計 2662 個字符,預計需要花費 7 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關單機 Ceph 如何從 Firefly 升級到 Hammer,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
單機上部署了 Firefly 版的 Ceph 集群,其中包括:mon(一個)、osd(三個)和 mds(一個)。單機上使用的操作系統是 ubuntu-14.04-server-amd64 版。此次升級的要求是數據不能丟失且不能停機升級。
由于當前 Firefly 版本使用的是 mkcephfs 部署的,而新版本的 ceph 已經用 ceph-deploy 代替了 mkcephfs,因此在 Hammer 版本中已經沒有了 mkcephfs。升級部署可以使用 ceph-deploy 工具進行升級,也可以通過包管理的方法進行升級。這里我才用 ceph-deploy 工具進行升級。
具體升級操作流程如下:
1、安裝 ceph-deploy 工具。
1)更新新版本的軟件源。
#wget -q -O- https://git.ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc | sudo apt-key add –
#apt-add-repository deb http://download.ceph.com/debian-hammer/ trusty main
#echo deb https://download.ceph.com/debian-hammer/ $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/ceph.list
2)更新 ceph-deploy。
#pip install -U ceph-deploy
2、更新 monitor 節點。
1)更新 ceph 集群中的所有 monitor 節點的 ceph 版本。
由于我的集群都部署在一臺設備上了,所以此處的更新就是整個 Ceph 集群的更新
#ceph-deploy install –release hammer ceph0
2)重新啟動每一個 monitor 節點。
#/etc/init.d/ceph restart mon
3)查看 monitor 節點的啟動情況。
#ceph mon stat
e1: 1 mons at {a=192.168.250.58:6789/0}, election epoch 1, quorum 0 a
3、更新 OSD 節點。
1)更新 ceph 集群中的所有 osd 節點的 ceph 版本。
#ceph-deploy install –release hammer ceph0
2)重新啟動每一個 osd 節點。
#/etc/init.d/ceph restart osd
3)查看 osd 節點的啟動情況。
#ceph osd stat
osdmap e191: 3 osds: 3 up, 3 in
4、更新 MDS 節點。
1)更新 ceph 集群中的所有 mds 節點的 ceph 版本。
#ceph-deploy install –release hammer ceph0
2)重新啟動每一個 mds 節點。
#/etc/init.d/ceph restart mds
3)查看 mds 節點的啟動情況。
#ceph mds stat
e27: 1/1/1 up {0=0=up:active}
5、查看當前 ceph 集群的版本號。
#ceph –verison
ceph version 0.94.5 (9764da52395923e0b32908d83a9f7304401fee43)
此處可以看到 ceph 已經成功升級到了 Hammer 版本。
6、查看當前 ceph 集群的運行情況。
#ceph -s
cluster e4251f73-2fe9-4dfc-947f-962843dc6ad9
health HEALTH_WARN
too many PGs per OSD (2760 max 300)
monmap e1: 1 mons at {a=192.168.250.58:6789/0}
election epoch 1, quorum 0 a
mdsmap e27: 1/1/1 up {0=0=up:active}
osdmap e190: 3 osds: 3 up, 3 in
pgmap v450486: 2760 pgs, 21 pools, 27263 MB data, 18280 objects
85251 MB used, 1589 GB / 1672 GB avail
2760 active+clean
此時可以看到 Ceph 當前的狀態是 HEALTH_WARN 狀態。問題出在 ceph 集群默認每個 OSD 上最多只能有 300 個 PGs,而當前的系統上有多達 2760 個 PGs(在 Firefly 版本上并沒有給出上述的 HEALTH_WARN 狀態,而是升級到 Hammer 版后才給出的提示)。
針對這個問題,我的解決方案是修改 ceph 配置文件中關于關于沒有 OSD 最多可以配置的 PGs 數量來解決這個問題。在 ceph.conf 的 [mon] 節點下添加 mon pg warn max per osd = 4096。保存 ceph.conf 后重新啟動 ceph monitor 節點,之后再使用 ceph - s 查看當前 ceph 集群的狀態時,一切就都正常了。
#ceph -s
cluster e4251f73-2fe9-4dfc-947f-962843dc6ad9
health HEALTH_OK
monmap e1: 1 mons at {a=192.168.250.58:6789/0}
election epoch 1, quorum 0 a
mdsmap e27: 1/1/1 up {0=0=up:active}
osdmap e191: 3 osds: 3 up, 3 in
pgmap v450550: 2760 pgs, 21 pools, 27263 MB data, 18280 objects
85245 MB used, 1589 GB / 1672 GB avail
2760 active+clean
ceph 集群從 Firefly 版升級到 Hammer 版需要注意的問題有:
1、monitor 訪問權限中一定要添加 caps mon allow * 到 /var/lib/ceph/mon/ceph-a/keyring 中;
2、集群一定要使用默認的路徑,即:/var/lib/ceph
關于“單機 Ceph 如何從 Firefly 升級到 Hammer”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。