SpringCloudAlibaba云商场-分布式文件存储学习(三)

247 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情

1.Ceph集群搭建

承接上文,在上文的准备工作基础上进行集群搭建工作。

安装集群,用root安装,可以避免很多权限问题。

1)创建集群管理目录,作为ceph配置信息存储目录。

mkdir -p /usr/local/gupao/cephcluster

cd /usr/local/gupao/cephcluster

2)创建集群

ceph-deploy new CENTOS1  CENTOS2 CENTOS3

创建成功后, 会生配置文件和秘钥信息。

1603247287182.png 3)修改配置文件 编辑ceph.conf文件vi /usr/local/gupao/cephcluster/ceph.conf,添加如下配置:

#对外开放网段
public network = 192.168.19.0/24
# 设置pool池默认分配数量
osd pool default size = 2
# 容忍更多的时钟误差
mon clock drift allowed = 2
mon clock drift warn backoff = 30
# 允许删除pool
mon_allow_pool_delete = true
[mgr]
# 开启WEB仪表盘
mgr modules = dashboard

注意:Pool是存储对象的逻辑分区,它规定了数据冗余的类型和对应的副本分布策略。

文件修改后执行安装(131执行),此时3台机器都会执行安装执行如下安装命令:

ceph-deploy install  CENTOS1  CENTOS2 CENTOS3

如果出现ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph --version错误,可以直接在每个节点单独执行yum -y install ceph进行单独安装。如果没有仓库文件ceph.repo, 按上面的步骤手工创建。

4)初始化Monitor信息

ceph-deploy mon create-initial

此时会生成很多秘钥文件信息

5)同步管理信息

ceph-deploy admin  CENTOS1  CENTOS2 CENTOS3

6)安装mgr(管理守护进程)

ceph-deploy mgr create CENTOS1  CENTOS2 CENTOS3

7)安装rgw

ceph-deploy rgw create CENTOS1 CENTOS2 CENTOS3

mds服务:

ceph-deploy mds create CENTOS1 CENTOS2 CENTOS3

注意:任意一个环节安装失败了,需要卸载重装:

ceph-deploy purge CENTOS1 CENTOS2 CENTOS3
ceph-deploy purgedata CENTOS1 CENTOS2 CENTOS3
ceph-deploy forgetkeys

将三台节点的mon信息也删除:

rm -rf /var/run/ceph/

如果出现错误:

ceph_deploy][ERROR ] RuntimeError: Failed to execute command: ceph --version

可以在各节点上单独进行安装:

yum -y install ceph 

8)OSD安装 OSD服务是对象存储守护进程, 负责把对象存储到本地文件系统, 必须要有一块独立的磁盘作为存储。如果没有独立磁盘,怎么办? 可以在Linux下面创建一个虚拟磁盘进行挂载

添加磁盘:

执行fdisk -l查看磁盘信息如下,我们需要添加一个磁盘,直接用VMware添加即可。

使用VMware选择设置->硬盘->添加,

①选择硬盘②点击添加③选择硬盘点击下一步

一直点击下一步,设置磁盘空间大小为10G即可。操作完后重启虚拟机,并输入fdisk -l查看磁盘信息如下,明显多了/dev/sdb 10G大小。

执行创建OSD命令:(注意,每条命令都是在131中执行,不要在每台机器中单独执行)

ceph-deploy osd create --data /dev/sdb CENTOS1

ceph-deploy osd create --data /dev/sdb CENTOS2

ceph-deploy osd create --data /dev/sdb CENTOS3

Monitor查看

/usr/bin下执行./ceph -s可以查看集群状态。

可以执行ntpdate ntp1.aliyun.com同步各个节点的时间。

如果出现(handle_connnet_reply connect got BADAUTHORIZER)情况,执行systemctl restart ceph.target重启每个节点即可(131,132,133都执行)。

总结:本篇主要介绍了一下Ceph的具体集群搭建。