• inkscope完整安装配置


    准备centos7基础系统

    首先安装基础系统centos7 在安装选项那里选择base web server ,选择其他的也可以,选择mini安装会缺很多常用的软件包,后续需要一个个安装比较麻烦

    关闭防火墙相关

    [root@inkscope ~]# setenforce 0
    [root@inkscope ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    [root@inkscope ~]# systemctl stop firewalld
    [root@inkscope ~]# systemctl disable firewalld
    

    更新源相关的

    [root@inkscope ~]# rm -rf /etc/yum.repos.d/*.repo
    [root@inkscope ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    [root@inkscope ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    

    修改里面的系统版本为7.2.1511,当前用的centos的版本的的yum源可能已经清空了

    [root@inkscope ~]# sed -i 's/$releasever/7.2.1511/g' /etc/yum.repos.d/CentOS-Base.repo
    

    添加ceph源

    [root@inkscope ~]# vim /etc/yum.repos.d/ceph.repo
    

    添加

    [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的相关安装包

    下载相关软件包的脚本:

    #! /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的某个节点上,这个自己随意

    [root@inkscope ~]# yum install ceph ceph-radosgw
    [root@inkscope ~]# yum install python-ceph
    

    我的环境是想单独一台机器做管理平台控制节点

    那么把ceph集群中的这两个文件拷贝到这个管理节点的/etc/ceph/下面

    • ceph.client.admin.keyring
    • ceph.conf

    如果你管理节点本身就在ceph集群当中就不需要做了
    检查ceph -s是否有输出,有集群输出就是正常的

    安装依赖包

    安装apache2和其它几个包(用于配置web服务器)

    [root@inkscope ~]# yum install httpd -y
    [root@inkscope ~]# yum install python-setuptools
    [root@inkscope ~]# yum install lshw
    [root@inkscope ~]# yum install mod_wsgi
    

    安装MongoDb(用于存储收集到的数据的)

    [root@inkscope ~]# yum install mongodb -y
    [root@inkscope ~]# yum install mongodb-server -y
    

    修改配置文件,让mongdb可以远程访问

    [root@inkscope ~]# vim /etc/mongod.conf
    

    bind_ip = 127.0.0.1修改为 bind_ip = 0.0.0.0

    启动mongodb服务

    [root@inkscope ~]# systemctl start mongod.service
    

    检查服务

    [root@inkscope bao]# netstat -tunlp|grep mongod
    tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      11836/mongod   
    

    安装inkscope相关的包

    安装(有些安装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 
    ##rpm -ivh --nodeps inkscope-admviz-1.3.1-2.noarch.rpm
    

    这个里面因为python-ceph在10.x已经更名了,所以在确保其他已经安装好的情况下使用忽略依赖进行安装,ceph0.94没有这个问题

    配置权限

    需要创建一个client.restapi的用户 拥有权限 [mds] allow, [mon] allow * , [osd] allow *

    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配置文件里面添加

    [client.restapi]
        log_file = /dev/null
        keyring = /etc/ceph/ceph.client.restapi.keyring
    

    配置httpd

    /etc/httpd/conf/httpd.conf 中间添加一条

    Listen 8080

    因为inkscope的web 默认采用虚拟主机的方式使用了8080端口

    给目录访问权限(存储日志使用)

    [root@inkscope ~]# chmod 777 -R /var/log/ceph/
    

    修改ceph-rest-api的地址

    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服务

    [root@inkscope ~]# systemctl restart httpd
    

    检查ceph-rest-api是否能访问,地址是 http://192.168.222.100:8080/ceph_rest_api/api/v0.1/

    rest-api.png-22.5kB

    修改/opt/inkscope/etc/inkscope.conf配置文件,

    "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 服务

    [root@inkscope ~]# /etc/init.d/cephprobe restart
    

    现在就可以访问
    http://192.168.222.100:8080/inkscopeViz/index.html

    这个是没有用户名密码的,我们为了安全采用以下用户名密码的方式,需要安装flask-login

    [root@inkscope ~]# rpm -ivh python-flask-login-0.2.11-1.el7.centos.noarch.rpm
    

    重启httpd服务

    [root@inkscope ~]# systemctl restart httpd
    

    denglu.png-35.5kB

    再次访问就需要用户名密码了

    • 默认用户名:admin
    • 默认密码:admin

    到这里最基本的管理平台配置就完成了

    配置sysprobe

    sysprobe是获取集群节点的主机的信息的

    安装

    [root@inkscope ~]# rpm -ivh inkscope-common-1.3.1-2.noarch.rpm
    [root@inkscope ~]# rpm -ivh inkscope-sysprobe-1.3.1-2.noarch.rpm  
    

    将主监控节点的inkscope配置文件拷贝到节点上

    [root@inkscope ~]# scp /opt/inkscope/etc/inkscope.conf 192.168.8.106:/opt/inkscope/etc/
    

    在osd节点启动sysprobe服务

    [root@lab8106 ~]# /etc/init.d/sysprobe restart
    

    probe.png-49.6kB
    正常情况就用上面这个页面检查配置的状况

    cephprobe是用来或者集群的相关信息和操作的
    sysprobe是获取节点的磁盘分区等相关信息的

    基本节点的软件包配置完毕了,一些扩展功能也配置一下

    创建rgw相关的

    配置rgw网关

    在/etc/ceph/ceph.conf
    添加

    [client.radosgw.gateway]
    host = inkscope
    

    启动radosgw服务

    [root@inkscope ~]# /etc/init.d/ceph-radosgw restart
    

    检查端口是否启动,默认是7480

    [root@inkscope ~]# netstat -tunlp|grep radosgw
    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

    执行完后检查存储池情况,自动会创建了一些存储池

    [root@inkscope ~]# ceph df
    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的用户

    这个用户是管理员用户,需要给很多权限

    [root@inkscope ~]# radosgw-admin user create --uid=inkscope --display-name="inkscope" --access-key=inkscope --secret=inkscope --access=full --caps="metadata=*;users=*;buckets=*"
    

    修改配置文件

    [root@inkscope ~]# vim /opt/inkscope/etc/inkscope.conf
    

    修改下面的几项

    "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
    sankey.png-500.1kB

  • 相关阅读:
    注册DLL的两种方法
    DVDRAM 格式化失败及视频文件分割软件
    提高ASP.NET效率的几个方面
    vs2003错误求救
    存储过程1
    制作VCD/DVD方法
    不能上网修复网络协议
    C语言运算符优先级
    黑马程序员 ObjectC 类 (一)
    进制转换的方法和技巧
  • 原文地址:https://www.cnblogs.com/zphj1987/p/13575342.html
Copyright © 2020-2023  润新知