您的位置:首页 > 运维架构 > Linux

centos7 ceph安装

2017-02-06 16:04 411 查看
1.      前期准备

本次安装环境为:

ceph-master(集群命令分发管控)                CentOs7.2                    192.168.1.70

ceph-osd1(提供磁盘服务集群)                  CentOs7.2                    192.168.1.71

ceph-osd2(提供磁盘服务集群)                  CentOs7.2                    192.168.1.72

kvm165(监控)                                                 CentOs7.2                    192.168.1.165        ##后面测试监控也可以安装在任意osd节点上

 

ceph是通ssh下发指令。首先配置管理节点可以无密码访问存储节点

配置HostName,使得通过名称可以互访

[root@ceph-master ~]# echo"192.168.1.71 ceph-osd1">> /etc/hosts

[root@ceph-master ~]#echo "192.168.1.72 ceph-osd2">> /etc/hosts

生成公钥

ssh-keygen -t rsa

[root@ceph-master .ssh]# scp~/.ssh/id_rsa.pub root@ceph-osd2:/root/.ssh/authorized_keys

[root@ceph-master .ssh]# scp~/.ssh/id_rsa.pub root@ceph-osd1:/root/.ssh/authorized_keys 

SSH登录测试是否已经免密码登录。

关闭防火墙及安全选项

sudo systemctl stop firewall.service

sudo setenforce 0                                                                                                                                    

2.      软件安装

#本次安装参考http://docs.ceph.org.cn/start/quick-start-preflight/#ceph  ceph官方安装文档

 

sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*

 

国内的URL链接无效,必须使用欧洲源安装

编辑安装源:

sudo vim /etc/yum.repos.d/ceph.repo

[ceph-noarch]

name=Ceph noarch packages

#baseurl=http://eu.ceph.com/rpm-firefly/e17/noarch#firefly表示软件版本,e17表示CentOs7,noarch表示任何CPU都可运行

baseurl=http://eu.ceph.com/rpm-firefly/el7/noarch

enabled=1

gpgcheck=1

type=rpm-md

gpgkey=http://eu.ceph.com/keys/release.asc

安装ceph部署工具:用于下发ceph配置文件,执行ceph命令。

sudo yum update && sudo yum install ceph-deploy

 

所有节点安装时间同步服务避免时钟漂移故障。

sudo yum install ntp ntpdate ntp-doc

 

3.      配置节点

[root@ceph-master /]# mkdir /cephconf                                   //ceph-deploy部署工具会在该目录下生成配置文件用于发放至子节点

[root@ceph-master /]# cd /cephconf

[root@ceph-master cephconf]# ceph-deploynew ceph-osd1 存储节点1为监控节点            //使用new命令表示该节点为监控节点,根据ceph的算法。监控节点必须为奇数

echo "osd pool default size = 2">>ceph.conf            

c

ceph-deploy installceph-master ceph-osd1 ceph-osd2 //为各个节点安装CEPH

安装代理过程中可能会报错:yum-y install epel-release 不能执行,该错误是因为网络不通。对不能安装成功的节点执行命令重试几次就可以了。

ceph-deploy mon create-initial                   //初始化监控节点。初始化执行后会生成加入监控节点的密钥。该密钥将会分发至osd节点中。

###############本次使用文件方式创建的提供点,表示/var/local/osd*.这个文件为ceph集群提供存储资源服务#################

格式化并分区sdb=>将sdb1挂载至/var/local/osd*

其实也可以直接对磁盘挂载,磁盘挂载的原理也是将磁盘分区后创建文件系统挂载。但在本环境由于未知错误,直接使用磁盘方式

无法激活成功。

###################################################################################################################

创建存储节点

ceph-deploy osd prepare ceph-osd1:/var/local/osd0 ceph-osd2:/var/local/osd1         //准备磁盘。

ceph-deploy osd activate ceph-osd1:/var/local/osd0 ceph-osd2:/var/local/osd1        //激活磁盘。

ceph-deploy admin ceph-master ceph-osd1 ceph-osd2 kvm165                             //将配置文件拷贝至各个节点

#####################################################################################################################

故障排除:提示无法连接到集群。该问题的出现可能是ceph.conf文件未正确配置以及密钥文件不正确导致。

(Errorconnecting to cluster: PermissionError)

From monitor node  scp /etc/ceph/ceph.client.admin.keyring node1:/etc/ceph                                     //将监控节点的密钥拷贝到osd节点

From monitor node scp/var/lib/ceph/bootstrap-osd/ceph.keyring node1:/var/lib/ceph/bootstrap-osd        //将监控节点的密钥拷贝到osd节点

同步配置

[root@ceph-master cephconf]#ceph-deploy
--overwrite-confadmin ceph-master ceph-osd1 ceph-osd2  //overwrite参数表示覆盖当前配置

####################################################################################################################

健康检查,显示以下信息代表配置正确,可以提供文件服务

[root@ceph-master helloworld]# ceph -s

   cluster 025bb684-2292-4bc1-af0e-8d7369d59068

     health HEALTH_OK

    monmap e1: 1 mons at {kvm165=192.168.1.165:6789/0}

           election epoch 2, quorum 0 kvm165

    osdmap e17: 5 osds: 3 up, 3 in

     pgmap v30: 64 pgs, 1 pools, 0 bytes data, 0 objects

           20593 MB used, 5615 GB / 5635 GB avail

                  64 active+clean

 

##############################################################################################################

安装Web管理工具calamari

安装git

Yum install git

Mkdir /keng && cd /keng

下载源码

[root@ceph-master keng]#git clone https://github.com/ceph/calamari.git
[root@ceph-master keng]#git clone https://github.com/ceph/calamari-clients.git
[root@ceph-master keng]#git clone https://github.com/ceph/Diamond

安装依赖(CentOS7.2 GNOME 环境下缺少的)

[root@ceph-master calamari]# yum install selinux-policy-doc

[root@ceph-master keng]# yum install selinux-policy-devel

[root@ceph-master keng]# yum install httpd

[root@ceph-master keng]# yum install postgresql-devel

####Centos7默认没有安装python-gevent库或者python-gevent版本>=1.1  会无法构建RPM包。

###############解决方法

yum -y install epel-release

yum -y install python-pip

yum clean all

pip install gevent==1.0

##################################

生成rpm包

[root@ceph-master calamari]# ./buildrpm.sh  ##生成rpm包,生成后包位于RPMBUILD下

[root@localhost calamari]# yum localinstall rpmbuild/RPMS/x86_64/calamari-server-1.3.3-4_gb6c5652.el7.centos.x86_64.rpm

 

构建calamari-client: ####官方开发版无法打包,原因是无法下载htm
9a53
l资源文件。,这里使用已经打包好的。

tar xf calamari-clients-20150430.tar.gz
cd calamari-clients/
cp -r login/dist /opt/calamari/webapp/content/login
cp -r manage/dist /opt/calamari/webapp/content/manage
cp -r dashboard/dist/opt/calamari/webapp/content/dashboard
cp -r admin/dist /opt/calamari/webapp/content/admin

 

初始化calamari

calamari-ctl initialize

输入账号root

密码root

################至此,已经可以访问ceph-server WEB界面。但还没有集群信息。

ceph-server安装完成后。默认启动了salt服务,用作于子节点连接

######配置salt#######

[root@ceph-master /]# vi /etc/salt/minion.d/calamari.conf

master:{ip}

#######################

构建Diamond包

cd Diamond

git checkout origin/calamari

make rpm      //在dist目录下生成diamond-3.4.67-0.noarch.rpm 包

所有节点安装:

diamond-3.4.67-0.noarch.rpm

yum localinstall diamond-3.4.67-0.noarch.rpm

########################此处安装完成后无法启动diamond服务,暂不清楚原因####################
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: