当前位置:   article > 正文

Ceph实战(十一):重磅!!!一键部署集群的脚本_ceph dashboard set-rgw-api-host

ceph dashboard set-rgw-api-host

您好,我是码农飞哥,本篇文章是Ceph实战专栏的第十一篇文章,前面的系列文章我们分别介绍了集群的部署,介绍了集群的组件,最后到介绍到Ceph的IO流程等等。这一篇文章是结束之作,我将介绍一下重点介绍快速部署集群的脚本(PS:前面的部署脚本有点繁琐)。 订阅本专栏我会1V1的帮您解决部署和使用ceph时碰到的问题。特别说明:本文涉及的脚本,订阅用户可以私信找我要!!!!!!

系列文章目录

Ceph实战(一):Ceph是什么?能做什么?有何优点
Ceph实战(二):用docker搭建Ceph集群之docker的基本概念以及操作
Ceph实战(三):用docker搭建Ceph集群(nautilus)
Ceph实战(四):用docker搭建Ceph集群问题整理(基于nautilus版本)
Ceph实战(五):Ceph的块设备的安装以及基本概念(基于nautilus版本)
Ceph实战(六):Ceph文件系统的基本概念,使用以及特点(基于nautilus版本)
Ceph实战(七):Ceph对象存储的基本概念,使用以及优点(基于nautilus版本)
Ceph实战(八):Ceph对象存储的Amazon S3接口的使用(!重点介绍分片上传接口)(基于nautilus版本))
Ceph实战(九):Ceph的核心组件的介绍(基于nautilus版本)
Ceph实战(十):Pool与PG的说明以及Ceph的IO流程

概述

Ceph实战(二)和Ceph实战(三)两篇文章中,我分别介绍了如何安装docker以及如何通过docker部署ceph集群,但是相关的部署脚本还不够精简,部署的步骤还比较繁琐。这一篇文章我将提供一套快速部署集群的脚本。让您可以使用该脚本对ceph集群进行一键部署。

环境

创建三台虚拟机,本教程涉及到的各组件的版本如下表所示:

组件版本号
CentOS7.6
dockerdocker-ce-19.03.9
cephnautilus

说明: CentOS可以是其他的版本,但是需要保证其内核版本不低于3.10,因为docker的安装环境要求Linux的内核版本不低于3.10。 docker的版本和ceph的版本在下面的脚本中已经定下来。无需修改。

三台虚拟机的部署情况如下表所示:

主机名称主机IP说明
ceph1192.168.198.152容器主节点(Dashbaord、mon、rgw、mgr、osd)
ceph2192.168.198.149容器子节点(mon、rgw、mgr、osd)
ceph3192.168.198.151容器子节点(mon、rgw、mgr、osd)

特别说明:

  1. 命令或者脚本中的IP地址要根据实际机器的IP地址做相应的修改
  2. 所有命令均是在root用户下操作
  3. 通过 ping www.baidu.com 检查虚拟机网络是否连通。

部署步骤

1. 预检&拉取ceph镜像

  1. 设置主机名,在三台虚拟机上执行,将三台节点的主机名分别设置成ceph1,ceph2,ceph3
hostnamectl set-hostname ceph1
hostnamectl set-hostname ceph2
hostnamectl set-hostname ceph3
  • 1
  • 2
  • 3
  1. 在主节点ceph1上执行如下命令,配置免密登录到ceph2和ceph3。
#在 192.168.198.152(ceph1)上执行:
ssh-keygen
#把密钥发给ceph2、ceph3
ssh-copy-id ceph2
ssh-copy-id ceph3
  • 1
  • 2
  • 3
  • 4
  • 5

2. 部署

1. 首先创建Ceph目录

在主节点ceph1上执行下面命令,在宿主机上创建Ceph目录与容器建立映射,便于直接操纵管理Ceph配置文件,以root身份在节点上创建/usr/local/ceph/{admin, etc,lib, logs}目录。

mkdir -p /usr/local/ceph/{admin,etc,lib,logs}
  • 1

该命令会一次创建4个指定的目录,注意逗号分隔,不能有空格。 其中:
admin文件夹下用于存储启动脚本,
etc文件夹下存放了ceph.conf等配置文件
lib文件夹下存放了各组件的密钥文件
logs文件夹下存放了ceph的日志文件。

2.上传启动脚本

在这里插入图片描述
相关的脚本共有7个,其中其中我们只需要执行1. before-install.sh和2.start.sh两个脚本。

脚本名称脚本作用脚本执行范围
1. before-install.sh安装docker,拉取ceph镜像三个节点均要执行,首先执行
2. start.sh主启动脚本,启动后续脚本在before-install.sh执行完之后执行,只需要在主节点执行
3. start_mon.sh启动mon组件,不需要单独执行
4. start_osd.sh启动osd组件,不需要单独执行
5. start_mgr.sh启动mgr组件,不需要单独执行
6. start_rgw.sh启动rgw组件,不需要单独执行
7. dashboard_rgw.sh启动dashboard上开启rgw,不需要单独执行

在上传脚本之前我们需要对部分脚本进行修改

  1. 安装docker&拉取ceph镜像文件,修改before-install.sh里的host里的相关IP地址,将其改成实际IP地址,2. 同时需要确保服务器下有独立磁盘/dev/sdb(通过 fdisk -l 查看),如果是没有该磁盘或者磁盘名称不对,请相应的修改脚本中的/dev/sdb。修改完成之后,将该脚本上传到三台服务器上分别拉取ceph镜像,最后分别执行该脚本。
echo "配置host开始"
cat >> /etc/hosts <<EOF
192.168.198.152 ceph1
192.168.198.149 ceph2
192.168.198.151 ceph3
EOF
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. 修改start_mon.sh脚本里的MON_IP和CEPH_PUBLIC_NETWORK两个参数,将其换成实际的IP地址和网段,其中网段只需要修改192.168.198这个,需要注意的是三个IP地址需要在同一个网段内,不然不在同一个网段的节点不能加入集群。
    -e MON_IP=192.168.198.152,192.168.198.149,192.168.198.151 \
    -e CEPH_PUBLIC_NETWORK=192.168.198.0/24 \
  • 1
  • 2
  1. 修改dashboard_rgw.sh 脚本里的set-rgw-api-host,将其改成实际的IP地址
ceph dashboard set-rgw-api-host 192.168.198.152
  • 1

相关的脚本修改完成之后,就是将列表中的所有脚本上传到 /usr/local/ceph/admin目录下,接着在执行 start.sh脚本即可。脚本执行完成之后,启动正确的话,集群的状态应该是 HEALTH_OK。详细结果如下图所示:
在这里插入图片描述
主要是看各个组件是否都有显示。
接着通过http://192.168.198.152:18080/#/dashboard 访问dashboard管理平台。
生成完之后,我们可以在Dashboard的Object Gateway中的User 下看到我们创建的用户rgw。 至此整个集群就部署完成了。

总结

本文对ceph集群部署的脚本进行了整合,对启动步骤进行了简化,可以大大的提高部署效率。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/635857
推荐阅读
相关标签
  

闽ICP备14008679号