ceph---luminous版的安装

前言

ceph luminous版本新增加了很多有意思的功能,这个也是一个长期支持版本,所以这些新功能的特性还是很值得期待的,从底层的存储改造,消息方式的改变,以及一些之前未实现的功能的完成,都让ceph变得更强,这里面有很多核心模块来自中国的开发者,在这里准备用一系列的文章对这些新功能进行一个简单的介绍,也是自己的一个学习的过程

相关配置

配置ceph国内源

修改或者新建 /etc/yum.repos.d/ceph.repo文件

[ceph]
name=ceph
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=ceph-noarch
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0  

添加完更新下缓存

yum makecache

默认不配置环境变量,即便是配置好了ceph.repo文件,安装的也是j版的,

配置了环境变量,配置文件其实不要也可以,

jewel版

export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-jewel/el7
export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc

luminous版

export CEPH_DEPLOY_REPO_URL=http://mirrors.163.com/ceph/rpm-luminous/el7
export CEPH_DEPLOY_GPG_URL=http://mirrors.163.com/ceph/keys/release.asc

前一段时间163源上的ceph没有了,可能是误操作的,现在的163源已经恢复,上面添加的是最新的luminous版本源,本篇实践的功能是在这个版本才加入的

安装ceph相关软件包

[root@ceph-ceph-3]#yum install ceph-deploy ceph

检查版本

[root@ceph-3 ceph-ceph-3]# ceph -v
ceph version 12.1.0 (262617c9f16c55e863693258061c5b25dea5b086) luminous (dev)

检查集群健康状态

[root@ceph-3 ceph-ceph-3]# ceph -s
  cluster:
    id:     ea64cc3d-7b7a-4676-b993-df5d71fd7f77
    health: HEALTH_WARN
            no active mgr
 
  services:
    mon: 3 daemons, quorum ceph-1,ceph-2,ceph-3
    mgr: no daemons active
    osd: 3 osds: 3 up, 3 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0 bytes
    usage:   3164 MB used, 296 GB / 299 GB avail
    pgs:    

 可以看到health为警告状态,提示我们mgr没有active

为mgr创建用户

 ceph  auth get-or-create mgr.ceph-1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'

查看是否创建mgr用户成功

ceoh auth list

mgr.ceph-1
 key: AQB//PZZbTAzJRAAEakxeHeehHHwbo/AiWTQFg==
 caps: [mds] allow *
 caps: [mon] allow profile mgr
 caps: [osd] allow *

创建mgr的秘钥目录,看启动服务看log时说需要这个文件夹,那么我创建这个文件夹,这里我提前创建,将秘钥导入到里边

mkdir -p  /var/lib/ceph/mgr/ceph-ceph-1/

导入秘钥:

ceph auth get-or-create mgr.ceph-1 -o /var/lib/ceph/mgr/ceph-ceph-1/keyring

也可以把这两步合成一步:

ceph  auth get-or-create mgr.ceph-1 mon 'allow profile mgr' osd 'allow *' mds 'allow *'  -o /var/lib/ceph/mgr/ceph-ceph-1/keyring

授权:

chown -R ceph:ceph /var/lib/ceph/mgr/ceph-ceph-1/*

启动mgr服务:

systemctl restart ceph-mgr@ceph-1

看ceph状态:

[root@ceph-1 ceph-ceph-1]# ceph -s
  cluster:
    id:     ea64cc3d-7b7a-4676-b993-df5d71fd7f77
    health: HEALTH_OK
 
  services:
    mon: 3 daemons, quorum ceph-1,ceph-2,ceph-3
    mgr: ceph-1(active)
    osd: 3 osds: 3 up, 3 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0 bytes
    usage:   3164 MB used, 296 GB / 299 GB avail
    pgs:    

可以看出转态又原来的warring变为ok了,也可以看到mgr:ceph(active)了

dashboard

开启监控

在所有运行了 ceph-mgr 守护进程的机器上编辑ceph配置文件 /etc/ceph/ceph.conf ,以启用 dashboard。

哪条服务器上有ceph-mgr的进程,哪台服务器需要配置dashboard参数。

ps -ef|grep ceph-mgr
root       2549   2301  0 18:27 pts/1    00:00:00 tail -f /var/log/ceph/ceph-mgr.ceph-1.log
ceph       2786      1  0 18:36 ?        00:00:00 /usr/bin/ceph-mgr -f --cluster ceph --id ceph-1 --setuser ceph --setgroup ceph
root       2840   1199  0 18:39 pts/0    00:00:00 grep --color=auto ceph-mgr

在/etc/ceph/ceph.conf文件下添加:

[mgr]
mgr_modules = dashboard
但是上面这种改配置文件的方式,我的dashboard始终是起不来的,最后看官方文档才发现,12的版本支持挺多的模块,
比如:dashboard,prometheus,restful,status,zabbix"
可以通过ceph mgr dump查看当前集群在使用那几个模块
ceph mgr dump
{
    "epoch": 1624,
    "active_gid": 44688,
    "active_name": "ceph-1",
    "active_addr": "10.10.10.11:6804/8406",
    "available": true,
    "standbys": [],
    "modules": [
        "restful",
        "status"
    ],
    "available_modules": [
        "dashboard",
        "prometheus",
        "restful",
        "status",
        "zabbix"
    ]
}
可以看出当前集群只支持了两个模块,restful和status ,需要把dashboard开启,这也就是为啥总设置好了ip和端口就是访问不了
[root@ceph-2 ~]# ceph mgr module enable dashboard                  /////添加了dashboard模块
[root@ceph-2 ~]# ceph mgr dump
{
    "epoch": 1627,
    "active_gid": 24764,
    "active_name": "ceph-1",
    "active_addr": "10.10.10.11:6804/8406",
    "available": true,
    "standbys": [],
    "modules": [
        "dashboard",
        "restful",
        "status"
    ],
    "available_modules": [
        "dashboard",
        "prometheus",
        "restful",
        "status",
        "zabbix"
    ]
}
 
也可以通过这个查看当前集群是否支持dashboard
[root@ceph-1 ~]# ceph mgr module ls
[
    "dashboard",
    "restful",
    "status"
]
 
设置dashboard访问地址和端口
ceph config-key put mgr/dashboard/server_addr 10.10.10.11        ////// server_addr为有ceph-mgr进程的那台机器的ip地址
ceph config-key put mgr/dashboard/server_port 7000                  /////server_port可以随意设。这里也7000为例
 
 查看配置的状态和参数和怎么删除上面设置

[root@ceph-1 ceph-ceph-1]# ceph config-key dump                  /////查看配置的状态     
{
    "mgr/dashboard/server_addr": "10.10.10.11",
    "mgr/dashboard/server_port": "7000"
}
[root@ceph-1 ceph-ceph-1]# ceph config-key del   mgr/dashboard/server_addr    ////删除配置的参数

查看端口是否设置成功

[root@ceph-1 ~]# netstat -tunlp|grep ceph-mgr|grep LISTEN
tcp        0      0 0.0.0.0:6804            0.0.0.0:*               LISTEN      9128/ceph-mgr      
tcp        0      0 10.10.10.11:7000        0.0.0.0:*               LISTEN      9128/ceph-mgr   

已经成功设置

设置完之后就重启mgr服务

systemctl restart ceph-mgr@ceph-1

访问dashboard

打开浏览器输入:http://10.10.10.11:7000        /////具体访问地址根据自己的设定地址进行访问

原文地址:https://www.cnblogs.com/gzxbkk/p/7755729.html