centos7 ceph安装

来源:互联网 发布:问道手游辅助软件 编辑:程序博客网 时间:2024/05/22 10:27

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: ####官方开发版无法打包,原因是无法下载html资源文件。,这里使用已经打包好的。

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服务,暂不清楚原因####################
0 0
原创粉丝点击