0、引言
好几天没有更新博客了,这几天分配有任务:calamari与inscope管理系统调研。下面就管理系统的环境搭建做一个总结,总结一下搭建流程以及搭建过程中遇到的一些问题。calcamari的搭建相对简单些这里就不说了,主要是inscope管理系统的环境搭建。
搭建成功演示参考:
http://www.zphj1987.com/2015/10/12/inkscope%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0%E8%AF%95%E7%94%A8/
参考文章:
http://cloud.51cto.com/art/201507/486005_all.htm
http://blog.csdn.net/changtao381/article/details/48015623
1、本人环境
1.1、系统环境(版本及内核)
1.2、Host资源
Host | IP | Node |
---|---|---|
admin99 | 10.10.21.99 | osd |
node100 | 10.10.21.100 | osd/mon |
node101 | 10.10.21.101 | osd/rgw |
2、Inscope
2.1、资源获取
调研搭建Inscope最新版本:V1.3.1
源码路径:https://github.com/inkscope/inkscope/tree/V1.3.1
相关包:https://github.com/inkscope/inkscope-packaging/tree/1.3.1-2/RPMS
2.2、Inscope框架
如下Inscope框架
由架构图可知,整个集群管理系统Inscope的构成依赖于其核心组件在各个节点的信息通讯,而Inscope的搭建正是要将各个组件(进程)成功地嵌入(运行)在各个功能节点上。Inscope搭建的主要内容有:
- inkscope-common : 包含inkscope的默认配置文件以及其他进程(cephprobe,sysprobe)启动所需的依赖文件,所有相关节点都需要安装。
- inkscope-admviz : 包含inkscope的web控制台文件,含接口和界面,仅需要安装一个,该节点(管理节点)上同时需要按安装flask和mongodb
- inkscope-cephrestapi: 用于安装启动 ceph rest api 的脚本,仅需要安装在提供api接口的节点上,即mon节点。
- inkscope-cephprobe: 用于安装启动 cephprobe 的脚本(整个集群只需一个),安装在mon节点,脚本主要实现:获取Ceph集群的一些信息,并使用端口(5000)提供服务,将数据存入mongodb数据库中。
- inkscope-sysprobe : 安装用于所有mon和osd的sysprobe 所需要脚本,即所有节点均安装,实现获取节点设备资源信息如:CPU、内存、磁盘等等。
3)、各个节点需安装的Inscope组件内容
Host | 安装包 |
---|---|
admin99 | Inscope-common / Inscope-admViz / Inscope-sysprobe / Inscope-cephprobe / flask / mongodb |
node100 | Inscope-common / Inscope-cephrestapi / Inscope-cephprobe / Inscope-sysprobe |
node101 | Inscope-common / Inscope-sysprobe |
3、搭建流程
3.1、安装web管理控制台
3.1.1、安装软件包和依赖
该节点使用php以及wsgi实现界面,本地接收其他节点传过来的数据存入本地mongodb,同时会调用rados命令,
又使用flask框架构建接口,因此需要使用下面的命令安装软件及依赖(注:均为最新包)
yum install python-pip httpd mod_wsgi mongodb python-ceph python-flask
rpm -ivh inkscope-admviz-1.3.1-2.noarch.rpm inkscope-common-1.3.1-2.noarch.rpm inkscope-sysprobe-1.3.1-2.noarch.rpm
3.1.2、配置httpd服务
安装完Inkscope-admviz后默认虚拟主机配置文件位于/etc/httpd/conf.d/inkScope.conf,将其拷贝到/etc/httpd/sites-available 中。修改36行如下, 注释掉 35行
35 #ProxyPass /ceph-rest-api/ http://<inkscope_host> \<inkscope_port>/ceph_rest_api/api/v0.1/
36 ProxyPass /ceph-rest-api/ http://10.10.21.100:5000/api/v0.1/
同时修改 /etc/httpd/conf/httpd.conf配置文件,增添:
Listen 8080
NameVirtualHost *.8080
完整的Inscope.conf 文件(本人环境)
[root@admin99 site-availabl