您的位置:首页 > 其它

使用ceph-deploy 2.0.1部署ceph 12.2.13集群

2020-07-18 04:48 267 查看

 

1.前言

       由于工作原因涉及了nfs存储瓶颈问题,逐渐接触ceph,甚感兴趣,考虑进行测试部署,网上看了很多部署指导文档基本没有顺利部署成功的,无论纯手工,还是使用工具(deploy,ansible)或多或少都会出现问题,第一步安装源基本上都会把大家卡住,因为大多都是基于替换安装源配置文件,更改为阿里源,即便是安装成功,但是考虑真正的生产环境是没有外网环境的,所以这样的安装步骤就没法参考,到实际生产中没法实施,加上ceph的官方网站无论是英文环境还是中文环境,虽然介绍的很详细,但是要是参考这里的步骤安装,更是头大。

       根据个人踩坑经验,比较中意使用deploy进行部署,同时使用linux的安装打包组件,进行离线安装,一个原因是使用deploy基本上可以在了解ceph组件更深入的过程中部署,避免了使用ansible的黑箱化,以及纯手工的迷茫,同时满足了生产环境无公网访问的安装源等尴尬问题。

2.环境

       本次采用vmware虚拟机进行部署,创建三个cetenos7虚拟环境,每虚拟机挂载一个5G虚拟磁盘sdb,单平面组网。
      每台有两块磁盘 : /dev/vda(系统盘), /dev/vdb,
      每台有一块网卡 :ens33

主机IP 主机名 组件  

192.168.255.131

node01 osd、mon、mgr、mds、ceph-deploy  

192.168.255.132

node02 osd、mon、mgr、mds  

192.168.255.133

node03 osd、mon、mgr、mds  
       

     linux版本: 


     ceph版本:


     ceph-deploy版本: 

3.主机环境

该部分不再做详细操作,只做简单说明,和注意点

3.1.网络

       使用单平面组网,所有主机网卡名称修改为一致(记得有一个配置文件里面统一的网卡名称需要,待定)

3.2.主机名称

     

3.3.免密

     本次因为合设,使用node01做管理端,所以三台主机做互相做root用户免密,如果后续不合适,使用单独主机做deploy工具安装,则可仅做该主机对其他集群所有主机免密操作即可。

     免密操作步骤省略,可参考网上教程。

3.4.ntp服务

       配置操作省略,可参考网上教程,分布式的必须服务,所有节点间时间要同步,如果生产环境有公用的ntp服务,则所有主机配置该服务地址即可,如果无,则需要在集群内部找一个主机开启ntp服务,其他主机作为客户端使用该服务即可,

       一般生产环境在运维提供的主机后,已经ntp都设置好了,检查一下最好。

3.5.其他

3.5.1.关闭防火墙

systemctl stop firewalld

systemctl status firewalld

systemctl disable firewalld

systemctl is-enabled firewalld

 

3.5.2.关闭selinux

/usr/sbin/sestatus -v 或者getenforce

setenforce 0 #临时关闭 设置SELinux 成为permissive模式

setenforce 1 #临时关闭 设置SELinux 成为enforcing模式

永久关闭

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

 

4.软件环境准备

4.1.说明

       ceph的部署包含两个部分,第一部分为软件安装(ceph包含的几个进程组件),第二部分为集群安装(使用安装的组件,构建分布式集群),其中在第一部分和第二部分全部可以使用ceph-deploy进行安装,个人建议在第一部分手工采用离线方式yum命令安装ceph,以及ceph-deploy,第二部分全部采用ceph-deploy进行部署。

4.2.离线软件源打包制作

使用一台可以访问外网的主机,进行以下操作

[code]cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.bak

rm -f /etc/yum.repos.d/*.repo

 

#更换yum为阿里云

 

[code]wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#安装EPEL源

[code]wget -P /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

 

#增加ceph源,末尾增加一下内容,根据版本需要更换目录(/rpm-luminous/el7/x86_64/)

 

[code]vi CentOS-Base.repo

http://mirrors.aliyun.com/ceph

可以登录打开该地址,根据列表选择自己需要的版本,更换相应的子目录

 

#阿里ceph源

[ceph]

name=ceph

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/x86_64/

gpgcheck=0

[ceph-noarch]

name=cephnoarch

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/noarch/

gpgcheck=0

[ceph-source]

name=ceph-source

baseurl=http://mirrors.aliyun.com/ceph/rpm-luminous/el7/SRPMS/

gpgcheck=0

#

 

#更新

[code]yum clean all

yum makecache

 

#yum依赖组件

[code]yum -y install epel-release
yum -y install yum-utils
yum -y install createrepo

#查询deploy版本

[code][bonc@aaa003 ~]$ yum list all | grep ceph-deploy
ceph-deploy.noarch                          2.0.1-0                    @lsdceph

#查询当前源里边配置的大版本(rpm-luminous)下的各种小版本

[code][bonc@aaa003 ~]$ yum list ceph --showduplicates | sort -r
已加载插件:fastestmirror
已安装的软件包
可安装的软件包
* updates: mirrors.aliyun.com
Loading mirror speeds from cached hostfile
* extras: mirrors.aliyun.com
ceph.x86_64                       2:12.2.13-0.el7                       lsdceph
ceph.x86_64                       2:12.2.13-0.el7                       @lsdceph
* base: mirrors.aliyun.com

 

#下载deploy软件包,以及所需各种依赖到指定目录

[code]mkdir /home/lsdceph
repotrack ceph-deploy-2.0.1 -p /home/lsdceph

 该命令不进行实际安装,只是把安装该软件、以及该软件依赖的包全部下载到指定的目录内

#一次性下载ceph-12.2.13相关主包及其依赖

[code]repotrack ceph-12.2.13 ceph-mgr-12.2.13 ceph-mon-12.2.13 ceph-mds-12.2.13 ceph-osd-12.2.13 ceph-fuse-12.2.13 ceph-radosgw-12.2.13 -p /home/lsdceph

 

为了避免在实施主机上进行其他包的安装,额外打包以下资源

[code]repotrack createrepo -p /home/lsdceph
repotrack  yum-utils  -p /home/lsdceph

所有软件下载完毕后,进行打包,下载并拷贝的节点01上

[code]createrepo -v /home/lsdceph/
tar -cvf lsdceph.tar ./lsdceph/

 #拷贝压缩包到3台主机的/home下,继续,当然也可以先打包拷贝后 再进行createrepo

 #待部署主机配置软件源

#在所有待部署节点创建repo文件()

 

[code][root@node01 yum.repos.d]# cd /etc/yum.repos.d
[root@node01 yum.repos.d]# mkdir bak
[root@node01 yum.repos.d]# mv *.repo ./bak

vi ceph.repo

#路径取决于资源包存放目录

[code][lsdceph]
name=test repositry
baseurl=file:///home/lsdceph
enabled=1
gpgcheck=0

 更新缓存

[code]yum clean all
yum makecache
yum repolist

 

5. 软件安装

5.1.ceph-deploy安装

该组件仅在管理节点(node01)进行安装

[code]yum install ceph-deploy --enablerepo=lsdceph

5.2.ceph组件安装

       前边提到过,该步骤可以使用deploy进行安装(本人使用过,虽然设置了安装源,但是还报错,就没再踩坑,采用手工很不错),个人建议采用手工,前边离线安装包的制作就是为了该步骤的手工安装。

基于前边配置的安装源,进行安装,在所有三个节点(node01  node02 node03)进行操作

[code]yum install ceph --enablerepo=lsdceph

经过以上步骤 所有软件已安装完毕,可进行下一步集群部署

其中在该步骤如果让然报存在部分软件依赖不存在,是由于制作安装源镜像的主机环境(包含了依赖,打包过程就不再包含该依赖)和集群主机环境不同,针对这种情况,可以根据提示下载依赖的rpm,添加到到打包的文件夹(),使用命令createrepo update更新即可。

 

6.集群部署

6.1.mon安装

 

因工作,该文档需抽时间补充,不能一次性总结完全,抱歉!会在闲暇时间进行追加更新(最新更新在2020-06-16)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: