更新时间:20170803 (之前网盘链接被吞了)
前言
各种搜索无果,官方文档是基于Ubuntu,没有找到一篇清晰明朗的适合新手安装的centos7文档,之前测试环境倒腾过2次均不了了之,当集群正式跑出起来时,某天晚上发疯坚持搞了出来,大神忽略~
环境
已有: CentOS 7.3(基础设施服务器) Ceph 10.2.7(jewel)
后部署:Calamari 1.3.3
介绍
注:介绍和rpm包借鉴磨大神博客http://www.zphj1987.com
Calamari包含的组件主要有calamari-server;romana;salt-minion;salt-master;diamond。
这些模块各自的作用:
calamari-server 这个是提供一个与集群进行交互,并且自己封装了一个自己的API,做集中管理的地方,这个只需要在集群当中的某一台机器上安装,也可以独立安装
romana 就是原来的calamari-client,这个叫client,其实是一个web的界面,这个叫calamari-web更好,现在已经更名为romana,这个也是只需要在集群当中的某一台机器上安装,也可以独立安装,这个需要跟calamari-server安装在一台机器上
salt-master 是一个管理的工具,可以批量的管理其他的机器,可以对安装了salt-minion的机器进行管理,在集群当中,这个也是跟calamari-server安装在一起的
salt-minion 是安装在集群的所有节点上的,这个是接收salt-master的指令对集群的机器进行操作,并且反馈一些信息到salt-master上
diamond 这个是系统的监控信息的收集控件,提供集群的硬件信息的监控和集群的信息的监控,数据是发送到romana的机器上的,是由romana上的carbon来收取数据并存储到机器当中的数据库当中的
安装
说明(必看!!!)
节点情况 | 需要安装软件 |
Calamari服务端 | calamri-server romana salt-master |
集群节点 | salt-minion diamond |
如果在某集群节点安装calamari,则以上都需要安装
以下涉及的admin均为calamari 和salt-master服务端的hostname
本文不采用ceph-deploy calamari connect node 方式安装。
这一步通过自己观察发现是安装salt-minion和diamond软件并创建对应目录文件。
【因为采用的手工安装固定版本,因此可以舍弃。目录文件手动创建即可,见下文】
==============================calamari端=================================
1、软件包解压
下载并上传 链接:http://pan.baidu.com/s/1kVGCE5h 密码:3tjb
# mkdir calamari && cd calamari
# unzip centosjewel.zip
# cd centosjewel/
2、添加saltstack 的repo文件
# mv saltstack-rhel7.repo /etc/yum.repos.d/
# yum clean all; yum repolist
3、本地安装calamari romana
# yum localinstall calamari-server-1.3.3-jewel.el7.centos.x86_64.rpm romana-1.2.2-36_gc62bb5b.el7.centos.x86_64.rpm
4、调整目录权限
# chmod 777 -R /var/log/calamari/
# chmod 777 -R /opt/calamari/
5、salt的卸载与安装(已更新 2015.8.1版本的repo文件,故不用麻烦了)
卸载存在bug的salt版本并安装契合的salt版本(calamari依赖)
# rpm -e --nodeps salt-minion salt-master salt
# yum localinstall salt-2015.8.1-1.el7.noarch.rpm
# yum localinstall salt-master-2015.8.1-1.el7.noarch.rpm
# yum localinstall salt-minion-2015.8.1-1.el7.noarch.rpm
需要先配置被监控端再继续calamari的相关操作!
===========================被监控端(集群节点)==============================
1、安装salt-minion diamond
1.1、添加saltstack 的repo文件
# mv saltstack-rhel7.repo /etc/yum.repos.d/
# yum clean all; yum repolist
1.2、安装
# yum localinstall salt salt-minion
2、配置salt-minion
2.1、修改minion文件(admin均为calamari的hostname)
# sed -i 's/#master: salt/master: admin/' /etc/salt/minion
2.2、添加minion.d附加目录及calamari.conf文件
# mkdir /etc/salt/minion.d/
# echo 'master: admin'> /etc/salt/minion.d/calamari.conf
# systemctl restart salt-minion
# systemctl enable salt-minion
3、配置diamond
将host指向calamari服务端hostname
# cd /etc/diamond/ && cp diamond.conf.example diamond.conf
# sed -i '/^host/s/graphite/admin/' /etc/diamond/diamond.conf
# systemctl restart diamond
# systemctl enable diamond
注:某些机子上面出现了systemctl无法识别diamond服务,在确保已经安装后添加即可
chkconfig --add diamond
============================calamari端(续)===============================
6、salt-master相关
!!!被监控端(集群节点)部署完成后再执行以下命令!!!
6.1重启
# systemctl restart salt-master
6.2 管理salt-minion节点
# salt-key -L 列出已发现的节点
# salt-key -A 允许所有节点加入
成功后由Unaccepted Keys 转为 Accepted keys下
6.3 检测节点
# salt '*' test.ping 检测链接性
如果出现如下报错,检查client端/etc/salt/minion.d/calamari.conf里的master项是否为calamari端的hostname
# salt '*' ceph.get_heartbeats 输出ceph集群信息(过多不贴了)
7、初始化calamari配置
# calamari-ctl initialize
管理界面的用户名和密码
# chmod 777 -R /var/log/calamari/
# chmod 777 -R /opt/calamari/
8、web访问及问题
以上步骤均成功后在浏览器地址栏输入calamari server端IP登录(默认80端口)即可
错误1(500)
解决办法:清理配置再初始化一次
# calamari-ctl clear --yes-i-am-sure
# calamari-ctl initialize (无交互)
错误2:
解决办法:
重启 被监控端的salt-minion和 diamond
以及 server 端的salt-master
注:salt-minion 必须有一个mon节点,否则也会报这个错。
效果图
主页
PG和Osd状态
集群graph
节点监控
OSD管理
只有坚持才能享受成功后的喜悦!