共计 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”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。