centor7快速(ceph-deploy)搭建ceph

centor7快速(ceph-deploy)搭建ceph_第1张图片
目标如图(其实我是参照英文文档,同时由于国 情的原因加入一些小伎俩,以及自己踩过的坑与大家一起分享)
搭建环境:vmware workstation pro 15
所用系统:centor 7
ceph-deploy --version 2.0.1
ceph version 13.2.4 (b10be4d44915a4d78a8e06aa31919e74927b142e) mimic (stable)

写在前面:搭建ceph,推荐参考英文文档,中文文档有些落后吧。
英文:http://docs.ceph.com/docs/master/start/quick-ceph-deploy/
中文:http://docs.ceph.org.cn/
建议新手先了解ceph
附上一个ceph入门很好的博客地址,讲的都是重点,清楚易懂:
http://www.cnblogs.com/bodhitree/p/4831626.html
还有一个主要讲crush算法的:
http://www.cnblogs.com/chenxianpao/p/5568207.html

作者:Green77
来源:CSDN
原文:https://blog.csdn.net/greenchess/article/details/77525786
版权声明:本文为博主原创文章,转载请附上博文链接!

过程如下所示
第一步:先安装一台centor7于虚拟机上,等后面安装完EPEL再克隆另外三台节省时间吧。
在这里插入图片描述
第二步:设置静态网络,防止重新启动虚拟机时被重新分布ip地址(可参照网上方法,务必能使admin节点能够ssh 到其他三台),下图是我的配置。我是在可视化界面配的,图方便吧,网卡配置给予借鉴。

centor7快速(ceph-deploy)搭建ceph_第2张图片centor7快速(ceph-deploy)搭建ceph_第3张图片

第三步:Install and enable the Extra Packages for Enterprise Linux (EPEL) repository:
插入EPEL(Linux的拓展包)

sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

使用mimic版本(20190202应该是最新版吧)同时修改源(不然龟速甚至连不上),我采用阿里云的,本打算用163的,那天163的镜像库访问不了,小尴尬。。。
也可以用其他源,只要确保
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc
中的网址能够访问即可,下面是我的配置

sudo vi /etc/yum.repos.d/ceph.repo
[ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-mimic/el7/noarch
enabled=1
gpgcheck=1
type=rpm-md
gpgkey=https://mirrors.aliyun.com/ceph/keys/release.asc

退出vi后,输入:

sudo yum update

完成后,关闭虚拟机,克隆该镜像,取名为aiclnode1 aiclnode2 aiclnode3
个人喜好aicl这个词,
在adminnode上加入其他节点的host

**sudo vi /etc/hosts**

修改为
在这里插入图片描述
输入ssh-keygen
一路空格
接着在输入

ssh-copy-id root@aiclnode1
ssh-copy-id root@aiclnode2
ssh-copy-id root@aiclnode3

对aiclnode1放置mon,那么需要将aiclnode1的节点hostname修改一下

hostnamectl set-hostname aiclnode1

重启一下

reboot now

下面才正式开始。。。(都是在adminnode主机上运行)

先创个文件夹在里面搞事情。

mkdir my-cluster
cd my-cluster
  1. 创建集群。
    ceph-deploy new {initial-monitor-node(s)}
    例如:

    ceph-deploy new aiclnode1

在当前目录下用 ls 和 cat 检查 ceph-deploy 的输出,应该有一个 Ceph 配置文件、一个 monitor 密钥环和一个日志文件。详情见 ceph-deploy new -h 。

cat ceph.conf
  1. 如果你有多个网卡,可以把 public network 写入 Ceph 配置文件的 [global] 段下。详情见网络配置参考。
    public network = {ip-address}/{netmask}
    即在ceph.conf加入一句:
    public network = 192.168.80.0/24
    centor7快速(ceph-deploy)搭建ceph_第4张图片
    Public network的网址需根据自己的VMware来配置,查看WM的虚拟网络编辑器的VMnet8 的 子网。注意是Nat模式的那个!

centor7快速(ceph-deploy)搭建ceph_第5张图片
3. 安装 Ceph 。(在这步中如果出现问题,反复执行这一步即可,网上有的说删除某个包即可解决,但我的方法是重复执行,直到全部完成,比较笨,也见仁见智了)
ceph-deploy install {ceph-node} [{ceph-node} …]
例如:

ceph-deploy install aiclnode1 aiclnode2 aiclnode3

ceph-deploy 将在各节点安装 Ceph 。 注:如果你执行过 ceph-deploy purge ,你必须重新执行这一步来安装 Ceph 。
4. 配置初始 monitor(s)、并收集所有密钥:(我在安装的过程中一直卡在这一步,如果出现问题,请看文末解决方法。)

ceph-deploy mon create-initial

完成上述操作后,当前目录里应该会出现这些密钥环:
o {cluster-name}.client.admin.keyring
o {cluster-name}.bootstrap-osd.keyring
o {cluster-name}.bootstrap-mds.keyring
o {cluster-name}.bootstrap-rgw.keyring
只有在安装 Hammer 或更高版时才会创建 bootstrap-rgw 密钥环。
如果此步失败并输出类似于如下信息 “Unable to find /etc/ceph/ceph.client.admin.keyring”,请确认 ceph.conf 中为 monitor 指定的 IP 是 Public IP,而不是 Private IP.

  1. 使用ceph-deploy 复制admin key 给 adminnode 主机和另外三个节点
    ceph-deploy admin {ceph-node(s)}
    For example:
    ceph-deploy admin aiclnode1 aiclnode2 aiclnode3
    部署管理器守护进程。
    该步注意版本(官方原文):Required only for luminous+ builds, i.e >= 12.x builds*
    ceph-deploy mgr create aiclnode1

  2. 在各节点添加OSD,鉴于官网文档的说明,本人采用在各节点的虚拟机采用添加新硬盘的方式添加OSD.
    Vmware为虚拟机添加硬盘https://jingyan.baidu.com/article/63f236284305310208ab3d85.html
    在aiclnode1、aiclnode2、aiclnode3上输入

lsblk -ip

可以看到有一个/dev/sdb 的磁盘,我将把他作为osd

    sudo ceph-deploy osd create --data /dev/sdb aiclnode1
    sudo ceph-deploy osd create --data /dev/sdb aiclnode2
    sudo ceph-deploy osd create --data /dev/sdb aiclnode3
  1. 运行检查一下,
  2. **ssh root@aiclnode1 ceph -s**
    可以看到三个节点都已上线。

对于ceph-deploy mon create-initial 运行错误的情况
答:“请先确认 ssh root@aiclnode1 能否访问,若是可以的话,
确认public network是否写入错误,若是有在adminceph 中修改过来并运行

sudo ceph-deploy --overwrite-conf config push aiclnode1 aiclnode2 aiclnode3

如若运行ceph-deploy mon create-initial再此出错,按官网说法就是重装,操作如下

ceph-deploy purgedata aiclnode1 aiclnode2 aiclnode3
ceph-deploy forgetkeys
	#用下列命令可以连 Ceph 安装包一起清除(建议做):
**ceph-deploy purge aiclnode1 aiclnode2 aiclnode3**

完成后从 “1. 创建集群” 这一步开始做,我便是按着这个步骤解决这个问题的,希望能帮到大家。”

还有就是如果有的时候提示没有找到某文件诸如钥匙之类,试着有sudo,建议在root用户下进行以上操作
对于[ceph_deploy][ERROR ] RuntimeError: bootstrap-mgr keyring not found; run 'gatherkeys':
#试着用sudo,可能是没有权限的原因。

持之以恒,不言放弃,搭了快三个星期,将自己踩过的坑记下来,避免后来者继续踩坑。

你可能感兴趣的:(大数据,ceph,ceph-deploy,centor)