准备centos7基础系统
首先安装基础系统centos7 在安装选项那里选择base web server ,选择其他的也可以,选择mini安装会缺很多常用的软件包,后续需要一个个安装比较麻烦
关闭防火墙相关
1 2 3 4
| [root@inkscope ~] [root@inkscope ~] [root@inkscope ~] [root@inkscope ~]
|
更新源相关的
1 2 3
| [root@inkscope ~] [root@inkscope ~] [root@inkscope ~]
|
修改里面的系统版本为7.2.1511,当前用的centos的版本的的yum源可能已经清空了
添加ceph源
添加
1 2 3 4 5 6 7 8
| [ceph] name=ceph baseurl=http://mirrors.aliyun.com/ceph/rpm-hammer/el7/x86_64/ gpgcheck=0 [ceph-noarch] name=cephnoarch baseurl=http://mirrors.aliyun.com/ceph/rpm-hammer/el7/noarch/ gpgcheck=0
|
准备inkscope的相关安装包
下载相关软件包的脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #! /bin/sh wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/flake8-2.3.0-1.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-admviz-1.3.1-2.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-cephprobe-1.3.1-2.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-cephrestapi-1.3.1-2.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-common-1.3.1-2.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-monitoring-1.3.1-2.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/inkscope-sysprobe-1.3.1-2.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/pep8-1.5.7-1.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/pyflakes-0.8.1-1.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-babel-0.9.6-8.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-boto-2.34.0-4.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-bson-2.5.2-2.el7.x86_64.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-flask-0.10.1-4.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-flask-doc-0.10.1-4.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-itsdangerous-0.23-2.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-jinja2-2.7.2-2.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-markupsafe-0.11-10.el7.x86_64.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-pip-1.3.1-4.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-psutil-2.2.0-1.x86_64.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-pymongo-2.5.2-2.el7.x86_64.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-rsa-3.1.1-5.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-simplejson-3.3.3-1.el7.x86_64.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-werkzeug-0.9.1-2.el7.noarch.rpm wget https://bash.githubusercontent.com/inkscope/inkscope-packaging/master/RPMS/python-werkzeug-doc-0.9.1-2.el7.noarch.rpm wget http://copr-be.cloud.fedoraproject.org/results/merlinthp/el7-mypa/epel-7-x86_64/python-flask-login-0.2.11-1.el7.centos/python-flask-login-0.2.11-1.el7.centos.noarch.rpm
|
已经离线下载好了,可以直接用下面的百度云里面的安装包
链接:http://pan.baidu.com/s/1czANCi 密码:qw3k
软件包安装的位置
- 集群的mon节点 cephprobe ceph-rest-api
- 集群的osd节点 sysprobe inkscope-common
- inkscope管理控制台 inkscope-admviz inkscope-monitor mongodb
开始安装inkscope管理节点
安装下ceph(非必选建议安装下)
这个地方可以选择安装也可以选择不安装,这个方便查看,也有可能管理节点就在ceph的某个节点上,这个自己随意
1 2
| [root@inkscope ~] [root@inkscope ~]
|
我的环境是想单独一台机器做管理平台控制节点
那么把ceph集群中的这两个文件拷贝到这个管理节点的/etc/ceph/下面
- ceph.client.admin.keyring
- ceph.conf
如果你管理节点本身就在ceph集群当中就不需要做了
检查ceph -s是否有输出,有集群输出就是正常的
安装依赖包
安装apache2和其它几个包(用于配置web服务器)
1 2 3 4
| [root@inkscope ~] [root@inkscope ~] [root@inkscope ~] [root@inkscope ~]
|
安装MongoDb(用于存储收集到的数据的)
1 2
| [root@inkscope ~] [root@inkscope ~]
|
修改配置文件,让mongdb可以远程访问
bind_ip = 127.0.0.1修改为 bind_ip = 0.0.0.0
启动mongodb服务
检查服务
1 2
| [root@inkscope bao] tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 11836/mongod
|
安装inkscope相关的包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| 安装(有些安装ceph的时候已经安装了) rpm -ivh flake8-2.3.0-1.noarch.rpm rpm -ivh pep8-1.5.7-1.noarch.rpm rpm -ivh pyflakes-0.8.1-1.noarch.rpm rpm -ivh python-rsa-3.1.1-5.el7.noarch.rpm rpm -ivh python-boto-2.34.0-4.el7.noarch.rpm rpm -ivh python-bson-2.5.2-2.el7.x86_64.rpm rpm -ivh python-flask-doc-0.10.1-4.el7.noarch.rpm rpm -ivh python-pip-1.3.1-4.el7.noarch.rpm rpm -ivh python-psutil-2.2.0-1.x86_64.rpm rpm -ivh python-pymongo-2.5.2-2.el7.x86_64.rpm rpm -ivh python-simplejson-3.3.3-1.el7.x86_64.rpm rpm -ivh python-werkzeug-doc-0.9.1-2.el7.noarch.rpm rpm -ivh inkscope-common-1.3.1-2.noarch.rpm rpm -ivh inkscope-sysprobe-1.3.1-2.noarch.rpm rpm -ivh inkscope-monitoring-1.3.1-2.noarch.rpm rpm -ivh inkscope-cephrestapi-1.3.1-2.noarch.rpm rpm -ivh inkscope-cephprobe-1.3.1-2.noarch.rpm rpm -ivh inkscope-admviz-1.3.1-2.noarch.rpm
|
这个里面因为python-ceph在10.x已经更名了,所以在确保其他已经安装好的情况下使用忽略依赖进行安装,ceph0.94没有这个问题
配置权限
需要创建一个client.restapi的用户 拥有权限 [mds] allow, [mon] allow * , [osd] allow *
1 2 3
| ceph auth get-or-create client.restapi mds 'allow' osd 'allow *' mon 'allow *' > /etc/ceph/ceph.client.restapi.keyring chmod 644 /etc/ceph/ceph.client.admin.keyring chmod 644 /etc/ceph/ceph.client.restapi.keyring
|
在/etc/ceph/ceph.conf配置文件里面添加
1 2 3
| [client.restapi] log_file = /dev/null keyring = /etc/ceph/ceph.client.restapi.keyring
|
配置httpd
/etc/httpd/conf/httpd.conf 中间添加一条
Listen 8080
因为inkscope的web 默认采用虚拟主机的方式使用了8080端口
给目录访问权限(存储日志使用)
修改ceph-rest-api的地址
1
| vim /etc/httpd/conf.d/inkScope.conf
|
修改为:
ProxyPass /ceph-rest-api/ http://192.168.222.100:8080/ceph_rest_api/api/v0.1/
这个地方是写的这台管理节点的地址和端口,因为本机实现了wsgi的方式的rest-api的接口,不是用的集群的5000的端口,而是直接使用web配置的8080的端口
启动httpd服务
检查ceph-rest-api是否能访问,地址是 http://192.168.222.100:8080/ceph_rest_api/api/v0.1/

修改/opt/inkscope/etc/inkscope.conf配置文件,
1 2 3
| "ceph_rest_api": "192.168.222.100:8080", "ceph_rest_api_subfolder": "ceph_rest_api", "mongodb_host" : "192.168.222.100",
|
注意上面的地址不要在ip和地址前面加http://否则获取不到信息的,注意使用的是inkscope的web端口8080,也就是上面配置好的rest-api的端口
启动cephprobe 服务
现在就可以访问
http://192.168.222.100:8080/inkscopeViz/index.html
这个是没有用户名密码的,我们为了安全采用以下用户名密码的方式,需要安装flask-login
重启httpd服务

再次访问就需要用户名密码了
到这里最基本的管理平台配置就完成了
配置sysprobe
sysprobe是获取集群节点的主机的信息的
安装
1 2
| [root@inkscope ~] [root@inkscope ~]
|
将主监控节点的inkscope配置文件拷贝到节点上
在osd节点启动sysprobe服务

正常情况就用上面这个页面检查配置的状况
cephprobe是用来或者集群的相关信息和操作的
sysprobe是获取节点的磁盘分区等相关信息的
基本节点的软件包配置完毕了,一些扩展功能也配置一下
创建rgw相关的
配置rgw网关
在/etc/ceph/ceph.conf
添加
1 2
| [client.radosgw.gateway] host = inkscope
|
启动radosgw服务
检查端口是否启动,默认是7480
1 2
| [root@inkscope ~] tcp 0 0 0.0.0.0:7480 0.0.0.0:* LISTEN 113493/radosgw
|
创建rgw使用的存储池并且添加到rgw
rados mkpool .rgw.buckets 1024 1024
radosgw-admin pool add –pool .rgw.buckets
执行完后检查存储池情况,自动会创建了一些存储池
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [root@inkscope ~] GLOBAL: SIZE AVAIL bash USED %bash USED 548G 548G 70080k 0.01 POOLS: NAME ID USED %USED MAX AVAIL OBJECTS rbd 0 0 0 274G 0 zp 1 0 0 274G 0 .rgw.root 2 848 0 274G 3 .rgw.control 3 0 0 274G 8 .rgw 4 24 0 274G 1 .rgw.gc 5 0 0 274G 32 .users.uid 6 0 0 274G 0 .rgw.buckets 7 0 0 274G 0
|
创建rgw的用户
这个用户是管理员用户,需要给很多权限
修改配置文件
修改下面的几项
"radosgw_url": "http://192.168.222.100:7480",
"radosgw_admin": "admin",
"radosgw_key": "inkscope",
"radosgw_secret": "inkscope"
radosgw_url为rgw的访问地址
radosgw_admin字段不更改就是admin
radosgw_key,radosgw_secret就是上面创建的那个密钥
配置结束
基本按照上面的做法就可以配置完毕了,并且可以正常使用,之前搞错了一个地方就是那个restapi,这个地方可能是最开始的时候,这个地方是需要调用的原始的那个5000端口的api,然后基本操作都是可以做的,一些新开发的功能需要用到新的接口,就按照新的配置即可,inkscope从我开始关注到现在已经改进了很多,添加了sanky chart来显示pg的分布,里面的api接口也更加的丰富。并且提供了友好的安装方式,应该是目前最成熟的一种管理平台了
展示
sanky chart显示pg
